/* =============================================
   DIMSUM LEZAT - EXTRA CSS (v4 Clean)
   ============================================= */

/* Footer */
.site-footer { background:#0a0a0a; padding: 64px 0 0; border-top: 1px solid rgba(255,255,255,.06); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1.5fr 1.5fr; gap:40px; }
.footer-logo { font-family:var(--font-display); font-size:1.8rem; letter-spacing:.05em; margin-bottom:12px; }
.footer-tagline { color:rgba(255,255,255,.5); font-size:14px; line-height:1.7; margin-bottom:20px; max-width:260px; }
.footer-social { display:flex; gap:10px; flex-wrap:wrap; }
.footer-social-link { width:38px; height:38px; border-radius:9px; background:rgba(255,255,255,.08); color:rgba(255,255,255,.7); display:flex; align-items:center; justify-content:center; font-size:15px; transition:all .2s; border:1px solid rgba(255,255,255,.06); }
.footer-social-link:hover { background:var(--dimsum-red); color:#fff; transform:translateY(-2px); }
.footer-title { font-family:var(--font-display); font-size:1rem; letter-spacing:.1em; color:var(--dimsum-red); margin-bottom:16px; }
.footer-links li { margin-bottom:9px; }
.footer-links a { color:rgba(255,255,255,.55); font-size:14px; transition:color .2s; }
.footer-links a:hover { color:#fff; padding-left:4px; }
.footer-contact li { display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; color:rgba(255,255,255,.6); font-size:13px; line-height:1.5; }
.footer-contact i { color:var(--dimsum-red); flex-shrink:0; margin-top:2px; width:14px; }
.footer-contact a { color:rgba(255,255,255,.6); } .footer-contact a:hover { color:#fff; }
.delivery-link { display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border-radius:8px; color:#fff; font-size:13px; font-weight:600; margin:4px 4px 4px 0; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.delivery-link:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.3); color:#fff; }
.footer-maps iframe { width:100%; height:160px; border:none; display:block; }
.footer-bottom { background:#050505; padding:16px 0; margin-top:48px; }
.footer-bottom p { color:rgba(255,255,255,.3); font-size:13px; text-align:center; }

@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}}

/* Product Cards */
.products-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px; }
.product-card { background:#111; border:1px solid rgba(255,255,255,.06); border-radius:16px; overflow:hidden; transition:transform .3s,box-shadow .3s; }
.product-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,.4); }
.product-image { position:relative; aspect-ratio:4/3; overflow:hidden; display:block; }
.product-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s; background:#1a1a1a; }
.product-card:hover .product-image img { transform:scale(1.05); }
.prod-badge { position:absolute; top:10px; left:10px; background:var(--dimsum-red); color:#fff; font-size:11px; font-weight:700; padding:4px 10px; border-radius:50px; letter-spacing:.03em; }
.product-info { padding:16px; }
.product-header { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:8px; }
.product-title { font-family:var(--font-body); font-size:1rem; font-weight:600; line-height:1.3; margin-bottom:4px; }
.product-title a { color:#fff; }
.product-price { font-family:var(--font-display); font-size:1.2rem; color:var(--dimsum-red); white-space:nowrap; }
.product-excerpt { color:rgba(255,255,255,.45); font-size:12px; line-height:1.5; margin-bottom:12px; }
.star-row { display:flex; gap:3px; margin-bottom:2px; }
.star-row i { font-size:13px; }
.btn-add-cart { width:100%; background:var(--dimsum-red); color:#fff; border:none; padding:10px; border-radius:8px; font-size:14px; font-weight:600; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:7px; font-family:inherit; transition:background .2s,transform .15s; margin-top:10px; }
.btn-add-cart:hover { background:var(--dimsum-red-dark); transform:scale(1.02); }
.btn-add-cart:active { transform:scale(.97); }

/* Categories */
.categories-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; }
.category-card { position:relative; aspect-ratio:4/3; border-radius:14px; overflow:hidden; cursor:pointer; display:block; text-decoration:none; }
.category-card img { width:100%; height:100%; object-fit:cover; transition:transform .4s; background:#1a1a1a; }
.category-card:hover img { transform:scale(1.08); }
.category-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.1) 60%); }
.category-content { position:absolute; bottom:0; left:0; right:0; padding:16px; }
.category-content h3 { font-size:1.3rem; margin-bottom:2px; color:#fff; }
.category-content p { color:rgba(255,255,255,.6); font-size:13px; margin-bottom:6px; }
.category-link { color:var(--dimsum-red); font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:4px; }

/* Section headers */
.section-header { text-align:center; margin-bottom:48px; }
.section-label { color:var(--dimsum-red); font-size:13px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; display:block; margin-bottom:10px; }
.section-title { font-size:clamp(2rem,5vw,3.5rem); margin-bottom:14px; }
.section-description { color:rgba(255,255,255,.5); max-width:560px; margin:0 auto; font-size:15px; line-height:1.7; }
.gradient-text { background:linear-gradient(135deg,var(--dimsum-red),#ff6b6b); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.text-primary { color:var(--dimsum-red); }

/* Products section header */
.products-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:32px; flex-wrap:wrap; gap:16px; }
.view-all-link { color:var(--dimsum-red); font-weight:600; font-size:14px; display:flex; align-items:center; gap:5px; transition:gap .2s; }
.view-all-link:hover { gap:9px; }

/* CTA */
.cta-section { position:relative; padding:100px 0; overflow:hidden; text-align:center; }
.cta-bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:blur(2px) brightness(.25); transform:scale(1.05); }
.cta-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(200,0,0,.5),rgba(0,0,0,.7)); }
.cta-content { position:relative; z-index:2; }
.cta-title { font-size:clamp(2.5rem,6vw,5rem); margin-bottom:12px; }
.cta-subtitle { color:rgba(255,255,255,.8); font-size:1.1rem; margin-bottom:8px; }
.cta-promo-tag { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.1); color:rgba(255,255,255,.8); padding:8px 18px; border-radius:50px; font-size:14px; margin-bottom:28px; border:1px solid rgba(255,255,255,.15); }
.cta-buttons { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:40px; }
.pulse { animation:pulse-glow 3s ease-in-out infinite; }
@keyframes pulse-glow { 0%,100%{box-shadow:0 0 20px rgba(244,0,0,.4)} 50%{box-shadow:0 0 40px rgba(244,0,0,.7)} }
.cta-info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:16px; max-width:720px; margin:0 auto 32px; }
.cta-info-item { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:16px; display:flex; align-items:center; gap:12px; text-align:left; }
.cta-info-item i { font-size:18px; color:var(--dimsum-red); flex-shrink:0; }
.cta-info-item strong { display:block; font-size:12px; color:rgba(255,255,255,.5); font-weight:500; margin-bottom:2px; }
.cta-info-item span { font-size:13px; color:#fff; }
.cta-delivery { margin-bottom:32px; }
.cta-maps { max-width:700px; margin:32px auto 0; border-radius:16px; overflow:hidden; border:2px solid rgba(255,255,255,.1); }
.cta-maps iframe { display:block; width:100%; min-height:300px; border:none; }

/* Testimonials */
.testimonials-section { background:#0a0a0a; }
.testimonials-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.testimonial-card { background:#111; border:1px solid rgba(255,255,255,.07); border-radius:16px; padding:24px; transition:transform .3s,box-shadow .3s; }
.testimonial-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.3); }
.testimonial-text { color:rgba(255,255,255,.7); font-size:14px; line-height:1.8; margin:12px 0 20px; font-style:italic; }
.testimonial-author { display:flex; align-items:center; gap:12px; }
.testimonial-avatar { width:46px; height:46px; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,.1); background:#1a1a1a; flex-shrink:0; }
.testimonial-name { font-weight:600; font-size:14px; }
.testimonial-location { color:rgba(255,255,255,.45); font-size:12px; margin-top:2px; }

/* About */
.about-section { background:#fff; color:#000; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.about-image { position:relative; }
.about-image img { border-radius:16px; width:100%; }
.about-badge { position:absolute; bottom:-16px; right:-16px; background:var(--dimsum-red); color:#fff; padding:16px 20px; border-radius:12px; text-align:center; }
.about-badge .number { font-family:var(--font-display); font-size:2rem; line-height:1; }
.about-badge .text { font-size:12px; font-weight:500; opacity:.9; line-height:1.3; margin-top:4px; }
.about-content h2 { color:#000; margin-bottom:16px; }
.about-content p { color:#555; line-height:1.8; margin-bottom:14px; font-size:15px; }
.about-features { display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }
.about-feature { display:flex; align-items:center; gap:8px; background:#f5f5f5; padding:8px 16px; border-radius:50px; font-size:14px; font-weight:500; color:#333; }
.about-feature i { color:var(--dimsum-red); }
@media(max-width:768px){.about-grid{grid-template-columns:1fr}.about-badge{right:10px}}

/* Cart Drawer */
.cart-item { display:flex; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.cart-item-img { width:56px; height:56px; border-radius:8px; object-fit:cover; background:#1a1a1a; flex-shrink:0; }
.cart-item-info { flex:1 }
.cart-item-name { font-size:14px; font-weight:600; margin-bottom:3px; }
.cart-item-price { color:var(--dimsum-red); font-size:13px; font-weight:600; }
.cart-item-qty { display:flex; align-items:center; gap:8px; margin-top:6px; }
.cart-qty-btn { width:26px; height:26px; background:rgba(255,255,255,.1); color:#fff; border:none; border-radius:6px; font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.cart-qty-num { font-size:14px; font-weight:600; min-width:20px; text-align:center; }
.cart-empty { text-align:center; padding:40px 20px; color:rgba(255,255,255,.3); }
.cart-empty i { font-size:48px; display:block; margin-bottom:12px; }

/* Search */
.ds-search-input:focus { width:220px; outline:none; border-color:rgba(255,255,255,.4)!important; }
.search-result-item { display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid rgba(255,255,255,.06); cursor:pointer; transition:background .15s; text-decoration:none; color:#fff; }
.search-result-item:hover { background:rgba(255,255,255,.05); }
.search-result-item img { width:40px; height:40px; border-radius:6px; object-fit:cover; background:#333; flex-shrink:0; }
.search-result-title { font-size:13px; font-weight:500; }
.search-result-price { font-size:12px; color:var(--dimsum-red); }
.search-no-result { padding:16px; text-align:center; color:rgba(255,255,255,.4); font-size:13px; }

/* Toast */
#ds-toast.show { opacity:1!important; transform:translateX(-50%) translateY(0)!important; }

/* Responsive */
@media(max-width:768px){
    .products-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
    .categories-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
    .testimonials-grid{grid-template-columns:1fr}
    .cta-section{padding:64px 0}
    .cta-info-grid{grid-template-columns:1fr 1fr}
    .section-header{margin-bottom:32px}
    .hero-stats{gap:1.5rem}
    .hero-buttons{flex-direction:column;align-items:center}
}
@media(max-width:480px){
    .cta-info-grid{grid-template-columns:1fr}
    .products-grid{grid-template-columns:1fr}
    .categories-grid{grid-template-columns:1fr 1fr}
    .hero-buttons .btn-primary,.hero-buttons .btn-secondary{width:100%;justify-content:center}
}

/* Page with sidebar */
.page-wrapper { padding-top:80px; }
.content-sidebar-wrap { display:grid; grid-template-columns:1fr 320px; gap:32px; align-items:start; }
@media(max-width:1024px){.content-sidebar-wrap{grid-template-columns:1fr}}
.sidebar .widget { background:#111; border:1px solid rgba(255,255,255,.07); border-radius:12px; padding:20px; margin-bottom:20px; }
.widget-title { font-family:var(--font-display); font-size:1.1rem; color:var(--dimsum-red); margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.08); }
.widget-search { display:flex; gap:8px; }
.widget-search input { flex:1; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); color:#fff; padding:9px 12px; border-radius:8px; font-size:14px; }
.widget-search button { background:var(--dimsum-red); color:#fff; border:none; padding:9px 14px; border-radius:8px; cursor:pointer; }

/* Menu Single */
.menu-single-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; padding:32px 0; }
.menu-single-image { position:relative; border-radius:16px; overflow:hidden; }
.menu-single-image img { width:100%; border-radius:16px; display:block; background:#1a1a1a; }
.menu-badge { position:absolute; top:14px; left:14px; background:var(--dimsum-red); color:#fff; padding:5px 14px; border-radius:50px; font-size:13px; font-weight:700; }
.menu-single-title { font-family:var(--font-display); font-size:clamp(2rem,4vw,3rem); margin-bottom:12px; }
.menu-single-price { font-family:var(--font-display); font-size:2.5rem; color:var(--dimsum-red); margin:16px 0; }
.menu-cat-tag { background:rgba(244,0,0,.1); color:var(--dimsum-red); padding:4px 12px; border-radius:50px; font-size:12px; font-weight:600; margin-right:6px; display:inline-block; margin-bottom:12px; border:1px solid rgba(244,0,0,.2); }
@media(max-width:768px){.menu-single-grid{grid-template-columns:1fr}}

/* 404 */
.error-404 { min-height:70vh; display:flex; align-items:center; justify-content:center; text-align:center; }
.error-404 .error-code { font-size:8rem; color:var(--dimsum-red); line-height:1; }

/* Breadcrumbs */
.ds-breadcrumbs { display:flex; align-items:center; gap:8px; margin-bottom:24px; flex-wrap:wrap; }
.ds-breadcrumbs a { color:rgba(255,255,255,.5); font-size:13px; }
.ds-breadcrumbs a:hover { color:var(--dimsum-red); }
.ds-breadcrumbs .sep { color:rgba(255,255,255,.2); font-size:12px; }
.ds-breadcrumbs .current { color:rgba(255,255,255,.8); font-size:13px; }

/* Single blog post */
.entry-content { color:rgba(255,255,255,.8); line-height:1.85; font-size:15px; }
.entry-content h2,.entry-content h3 { color:#fff; margin:2em 0 .8em; }
.entry-content p { margin-bottom:1.4em; }
.entry-content img { border-radius:10px; width:100%; }
.entry-content ul,.entry-content ol { padding-left:1.5em; margin-bottom:1.4em; }
.entry-content li { margin-bottom:.5em; }
