/* CODEX & CLOUD V3 V3 - Full White & Red Theme */
:root {
    --primary: #c0392b; --primary-light: #e74c3c; --primary-dark: #96281b;
    --secondary: #2c3e50; --accent: #f39c12;
    --bg: #ffffff; --bg-light: #f8f9fa; --bg-card: #ffffff; --surface: #ffffff;
    --border: #e9ecef; --border-light: #f1f3f5;
    --text: #1a1a2e; --text-secondary: #495057; --text-muted: #868e96;
    --white: #ffffff;
    --gradient: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
    --gradient-dark: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
    --gradient-hero: linear-gradient(160deg, #fff5f5 0%, #ffffff 50%, #fff8f0 100%);
    --shadow: 0 1px 12px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 24px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 40px rgba(0,0,0,0.1);
    --shadow-glow: 0 4px 30px rgba(192,57,43,0.12);
    --radius: 12px; --radius-lg: 20px; --radius-sm: 8px;
    --transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'Inter',sans-serif; background:var(--bg); color:var(--text); line-height:1.6; overflow-x:hidden; }
h1,h2,h3,h4,h5,h6 { font-family:'Playfair Display',serif; font-weight:700; line-height:1.2; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
img { max-width:100%; display:block; }
.container { max-width:1280px; margin:0 auto; padding:0 24px; }
.text-gradient { background:var(--gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* BUTTONS */
.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 28px; border-radius:50px; font-weight:600; font-size:.95rem; cursor:pointer; border:none; transition:var(--transition); font-family:'Inter',sans-serif; position:relative; overflow:hidden; }
.btn::before { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent); transition:left .6s ease; }
.btn:hover::before { left:100%; }
.btn-primary { background:var(--gradient); color:var(--white); box-shadow:0 4px 15px rgba(192,57,43,.3); }
.btn-primary:hover { transform:translateY(-2px) scale(1.02); box-shadow:0 8px 30px rgba(192,57,43,.4); }
.btn-primary:active { transform:translateY(0) scale(.98); }
.btn-outline { background:transparent; border:2px solid var(--border); color:var(--text); }
.btn-outline:hover { border-color:var(--primary); color:var(--primary); background:rgba(192,57,43,.04); transform:translateY(-1px); }
.btn-lg { padding:16px 36px; font-size:1rem; }
.btn-sm { padding:8px 20px; font-size:.85rem; }
.btn i { transition:transform .3s var(--ease-out); }
.btn:hover i { transform:translateX(4px); }

/* NAVIGATION - Transparent at top, Liquid Glass on scroll */
.navbar { position:fixed; top:0; left:0; right:0; z-index:1000; padding:14px 0; transition:all .5s cubic-bezier(.4,0,.2,1); background:transparent; border-bottom:1px solid rgba(255,255,255,.08); box-shadow:none; }
.navbar.navbar-solid { background:#0a0a1a; border-bottom:1px solid rgba(255,255,255,.06); box-shadow:0 1px 2px rgba(0,0,0,.2); }
.navbar::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,0) 100%); pointer-events:none; transition:background .5s ease; }
.navbar::after { content:''; position:absolute; top:0; left:5%; right:5%; height:1px; background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.25) 50%,transparent 100%); pointer-events:none; opacity:0; transition:opacity .5s ease; }
.navbar.scrolled { padding:10px 0; background:rgba(255,255,255,.72); backdrop-filter:blur(16px) saturate(180%); -webkit-backdrop-filter:blur(16px) saturate(180%); border-bottom:1px solid rgba(255,255,255,.5); box-shadow:0 4px 24px rgba(0,0,0,.06),0 1px 4px rgba(0,0,0,.03),inset 0 1px 0 rgba(255,255,255,.7); }
.navbar.scrolled::before { background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.02) 100%); }
.navbar.scrolled::after { opacity:1; background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.9) 20%,rgba(255,255,255,.95) 50%,rgba(255,255,255,.9) 80%,transparent 100%); }
.nav-container { display:flex; align-items:center; justify-content:space-between; }
.logo { display:flex; align-items:center; gap:12px; }
.logo-icon { width:42px; height:42px; background:var(--gradient); border-radius:12px; display:flex; align-items:center; justify-content:center; color:var(--white); font-size:1.1rem; }
.logo-text { font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:700; color:var(--text); white-space:nowrap; }
.logo-accent { color:var(--primary); }
.nav-links { display:flex; gap:36px; }
.nav-links a { font-size:.9rem; font-weight:500; color:var(--text-secondary); transition:var(--transition); position:relative; }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--gradient); transition:width .3s ease; }
.nav-links a:hover,.nav-links a.active { color:var(--primary); }
.nav-links a:hover::after,.nav-links a.active::after { width:100%; }
.nav-actions { display:flex; align-items:center; gap:16px; }
.nav-menu-btn { display:flex; align-items:center; gap:8px; padding:10px 24px; background:rgba(192,57,43,.12); backdrop-filter:blur(8px) saturate(150%); border:1px solid rgba(192,57,43,.15); border-radius:12px; color:var(--primary); font-weight:600; font-size:.9rem; transition:all .4s cubic-bezier(.4,0,.2,1); box-shadow:0 2px 8px rgba(192,57,43,.08),inset 0 1px 0 rgba(255,255,255,.5); white-space:nowrap; position:relative; overflow:hidden; }
.nav-menu-btn::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,.05) 50%,rgba(255,255,255,.1) 100%); pointer-events:none; }
.nav-menu-btn:hover,.nav-menu-btn.active { background:var(--primary); color:var(--white); border-color:var(--primary); transform:translateY(-2px); box-shadow:0 6px 24px rgba(192,57,43,.3),inset 0 1px 0 rgba(255,255,255,.2); }
.mobile-menu-btn { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:5px; }
.mobile-menu-btn span { width:24px; height:2px; background:var(--text); transition:var(--transition); }
/* Navbar palette: light over the dark hero, dark over the glass once scrolled */
.navbar .logo-text { color:var(--white); transition:color .4s ease; }
.navbar .nav-links a { color:rgba(255,255,255,.72); }
.navbar .nav-links a:hover,.navbar .nav-links a.active { color:var(--primary-light); }
.navbar .mobile-menu-btn span { background:rgba(255,255,255,.85); }
.navbar .nav-menu-btn { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.18); color:var(--white); }
.navbar.scrolled .logo-text { color:var(--text); }
.navbar.scrolled .nav-links a { color:var(--text-secondary); }
.navbar.scrolled .nav-links a:hover,.navbar.scrolled .nav-links a.active { color:var(--primary); }
.navbar.scrolled .mobile-menu-btn span { background:var(--text); }
.navbar.scrolled .nav-menu-btn { background:rgba(192,57,43,.12); border-color:rgba(192,57,43,.15); color:var(--primary); }
.navbar .nav-menu-btn:hover,.navbar .nav-menu-btn.active,
.navbar.scrolled .nav-menu-btn:hover,.navbar.scrolled .nav-menu-btn.active { background:var(--primary); color:var(--white); border-color:var(--primary); }

/* HERO - Homepage */
/* HERO - Futuristic Design */
.hero { min-height:100vh; display:flex; align-items:center; position:relative; padding:120px 0 80px; overflow:hidden; background:#0a0a1a; }
.hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 20% 50%,rgba(192,57,43,.15) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(243,156,18,.08) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(231,76,60,.1) 0%,transparent 50%); }
.hero-grid-overlay { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px); background-size:60px 60px; pointer-events:none; }
.hero-bg-shapes { position:absolute; inset:0; overflow:hidden; }
.shape { position:absolute; border-radius:50%; animation:float 8s ease-in-out infinite; will-change:transform; }
.shape-1 { width:500px; height:500px; background:radial-gradient(circle,rgba(192,57,43,.12) 0%,rgba(192,57,43,0) 70%); top:-10%; right:-5%; }
.shape-2 { width:400px; height:400px; background:radial-gradient(circle,rgba(243,156,18,.1) 0%,rgba(243,156,18,0) 70%); bottom:-15%; left:-10%; animation-delay:-4s; }
.shape-3 { width:300px; height:300px; background:radial-gradient(circle,rgba(192,57,43,.08) 0%,rgba(192,57,43,0) 70%); top:40%; left:30%; animation-delay:-2s; }
.hero-floating-shape { position:absolute; border:1px solid rgba(255,255,255,.06); animation:heroFloat 20s linear infinite; pointer-events:none; }
.hero-floating-shape:nth-of-type(1) { width:200px; height:200px; top:15%; right:10%; transform:rotate(45deg); animation-duration:25s; }
.hero-floating-shape:nth-of-type(2) { width:120px; height:120px; bottom:20%; left:5%; border-radius:50%; animation-duration:18s; animation-delay:-5s; }
.hero-floating-shape:nth-of-type(3) { width:80px; height:80px; top:30%; left:20%; transform:rotate(30deg); animation-duration:15s; animation-delay:-10s; border-color:rgba(192,57,43,.1); }
@keyframes heroFloat { 0% { transform:rotate(0deg) translateY(0); } 33% { transform:rotate(120deg) translateY(-20px); } 66% { transform:rotate(240deg) translateY(10px); } 100% { transform:rotate(360deg) translateY(0); } }
@keyframes float { 0%,100% { transform:translate(0,0) scale(1); } 33% { transform:translate(30px,-20px) scale(1.05); } 66% { transform:translate(-20px,15px) scale(.95); } }
.hero-container { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; position:relative; z-index:1; }
.hero-content { max-width:600px; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 18px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:50px; font-size:.75rem; font-weight:600; color:var(--primary-light); margin-bottom:24px; backdrop-filter:blur(10px); }
.hero-badge i { font-size:.65rem; color:var(--accent); }
.hero-title { font-size:clamp(2.8rem,6vw,4.2rem); font-weight:800; line-height:1.1; margin-bottom:20px; color:var(--white); }
.hero-title .text-gradient { background:linear-gradient(135deg,#e74c3c,#f39c12,#e74c3c); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-size:200% 200%; animation:gradientShift 4s ease infinite; }
@keyframes gradientShift { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
.hero-description { font-size:1.1rem; color:rgba(255,255,255,.6); line-height:1.7; margin-bottom:36px; max-width:520px; }
.hero-buttons { display:flex; gap:16px; flex-wrap:wrap; }
.hero-stats { display:flex; gap:40px; margin-top:48px; }
.stat-item { text-align:center; }
.stat-number { font-family:'Playfair Display',serif; font-size:2.5rem; font-weight:800; color:var(--white); line-height:1; margin-bottom:4px; }
.stat-label { font-size:.78rem; color:rgba(255,255,255,.45); font-weight:500; text-transform:uppercase; letter-spacing:1px; }
.hero-visual { position:relative; display:flex; align-items:center; justify-content:center; }
.hero-image-wrapper { position:relative; width:100%; max-width:500px; }
.hero-image { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:24px; box-shadow:0 20px 80px rgba(0,0,0,.4),0 0 60px rgba(192,57,43,.1); }
.floating-card { position:absolute; background:rgba(30,30,55,.45); backdrop-filter:blur(12px) saturate(150%); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:12px 18px; display:flex; align-items:center; gap:12px; box-shadow:0 8px 40px rgba(0,0,0,.3); animation:cardFloat 6s var(--ease-out) infinite; will-change:transform; }
@keyframes cardFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
.floating-card img { width:46px; height:46px; border-radius:10px; object-fit:cover; }
.card-1 { bottom:40px; left:-30px; animation-delay:-2s; }
.card-2 { top:40px; right:-30px; animation-delay:-4s; }
.card-info { display:flex; flex-direction:column; }
.card-name { font-size:.78rem; font-weight:600; color:rgba(255,255,255,.9); }
.card-price { font-size:.8rem; font-weight:700; color:var(--primary-light); }
.hero-reviews { position:absolute; bottom:-10px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:14px; background:rgba(30,30,55,.45); backdrop-filter:blur(12px) saturate(150%); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:14px 22px; box-shadow:0 8px 40px rgba(0,0,0,.3); max-width:calc(100% - 40px); animation:cardFloat 6s var(--ease-out) infinite; animation-delay:-3s; will-change:transform; }
.review-avatars { display:flex; align-items:center; flex-shrink:0; }
.review-avatars img { width:32px; height:32px; border-radius:50%; border:2px solid rgba(255,255,255,.2); margin-left:-8px; object-fit:cover; }
.review-avatars img:first-child { margin-left:0; }
.avatar-more { width:32px; height:32px; border-radius:50%; background:var(--gradient); display:flex; align-items:center; justify-content:center; font-size:.65rem; font-weight:700; color:var(--white); border:2px solid rgba(255,255,255,.2); margin-left:-8px; }
.review-text { display:flex; flex-direction:column; gap:1px; }
.review-text .stars { color:var(--accent); font-size:.7rem; line-height:1; }
.review-text span { font-size:.78rem; font-weight:500; color:rgba(255,255,255,.7); line-height:1.2; }
.scroll-indicator { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; color:rgba(255,255,255,.3); font-size:.8rem; animation:bounce 2s infinite; }
.mouse { width:24px; height:38px; border:2px solid rgba(255,255,255,.15); border-radius:12px; position:relative; }
.wheel { width:3px; height:8px; background:var(--primary); border-radius:2px; position:absolute; top:6px; left:50%; transform:translateX(-50%); animation:scrollWheel 1.5s infinite; }
@keyframes scrollWheel { 0% { opacity:1; transform:translateX(-50%) translateY(0); } 100% { opacity:0; transform:translateX(-50%) translateY(15px); } }
@keyframes bounce { 0%,100% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(-8px); } }

/* PAGE HERO - Inner Pages with bg image, blur, wave */
.page-hero { position:relative; height:70vh; overflow:hidden; display:flex; align-items:center; justify-content:center; text-align:center; }
.page-hero-sm { height:35vh; }
.page-hero-bg { position:absolute; inset:0; overflow:hidden; animation:heroZoom 25s ease infinite alternate; will-change:transform; }
.page-hero-bg img { width:100%; height:100%; object-fit:cover; filter:blur(4px); transform:scale(1.08); }
@keyframes heroZoom { 0% { transform:scale(1.08); } 100% { transform:scale(1.15); } }
.page-hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(10,10,30,.85) 0%,rgba(20,20,50,.75) 50%,rgba(40,15,25,.80) 100%); }
.page-hero .container { position:relative; z-index:2; }
.page-hero .section-tag { justify-content:center; color:var(--primary-light); }
.page-hero .section-title { color:var(--white); margin-bottom:16px; }
.page-hero .section-subtitle { color:rgba(255,255,255,.7); margin:0 auto; }
.page-hero::after { content:''; position:absolute; bottom:-2px; left:0; right:0; height:100px; z-index:3; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120'%3E%3Cpath fill='%23ffffff' d='M0,64L80,58.7C160,53,320,43,480,48C640,53,800,75,960,74.7C1120,75,1280,53,1360,42.7L1440,32L1440,120L1360,120C1280,120,1120,120,960,120C800,120,640,120,480,120C320,120,160,120,80,120L0,120Z'/%3E%3C/svg%3E") no-repeat bottom; background-size:cover; }
.page-hero-sm::after { height:60px; }

/* SECTION COMMON */
section { padding:100px 0; position:relative; }
.section-header { margin-bottom:60px; position:relative; }
.section-header.centered { text-align:center; }
.section-tag { display:inline-flex; align-items:center; gap:12px; font-size:.85rem; font-weight:600; text-transform:uppercase; letter-spacing:2px; color:var(--primary); margin-bottom:16px; }
.section-tag span { width:30px; height:2px; background:var(--gradient); border-radius:2px; }
.section-tag.light { color:var(--primary-light); }
.section-title { font-size:clamp(2rem,4vw,3rem); color:var(--text); margin-bottom:16px; line-height:1.15; }
.section-subtitle { font-size:1.1rem; color:var(--text-secondary); max-width:500px; margin:0 auto; line-height:1.7; }

/* ABOUT */
.about { background:var(--bg); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-images { position:relative; display:grid; grid-template-columns:1.2fr 1fr; gap:20px; }
.about-img { border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.about-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.about-img:hover img { transform:scale(1.05); }
.about-img.main { aspect-ratio:3/4; }
.about-img.secondary { aspect-ratio:1; margin-top:40px; }
.experience-badge { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); background:rgba(255,255,255,.92); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.5); border-radius:16px; padding:16px 28px; display:flex; align-items:center; gap:14px; box-shadow:0 8px 30px rgba(0,0,0,.08); }
.exp-number { font-family:'Playfair Display',serif; font-size:2rem; font-weight:800; color:var(--primary); }
.exp-text { font-size:.78rem; color:var(--text-secondary); line-height:1.3; }
.about-content { padding:20px 0; }
.about-content .section-title { margin-bottom:20px; }
.about-text { font-size:1rem; color:var(--text-secondary); line-height:1.8; margin-bottom:20px; }
.about-features { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:32px 0; }
.feature { display:flex; align-items:center; gap:14px; padding:16px; background:var(--bg-light); border:1px solid var(--border); border-radius:var(--radius); transition:var(--transition); }
.feature:hover { border-color:rgba(192,57,43,.2); box-shadow:var(--shadow-glow); }
.feature-icon { width:44px; height:44px; border-radius:10px; background:rgba(192,57,43,.08); display:flex; align-items:center; justify-content:center; color:var(--primary); font-size:.9rem; flex-shrink:0; }
.feature-info h4 { font-family:'Inter',sans-serif; font-size:.88rem; font-weight:600; color:var(--text); margin-bottom:2px; }
.feature-info p { font-size:.75rem; color:var(--text-muted); }

/* CHEFS SECTION (Homepage + About) */
.chefs { background:var(--bg); }
.chefs-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.chefs-content .chefs-text { font-size:1rem; color:var(--text-secondary); line-height:1.8; margin-bottom:28px; }
.chefs-stats { display:flex; gap:40px; margin-bottom:32px; }
.c-stat { text-align:left; }
.c-number { display:block; font-family:'Playfair Display',serif; font-size:2.2rem; font-weight:800; color:var(--primary); line-height:1; margin-bottom:4px; }
.c-label { font-size:.78rem; color:var(--text-muted); font-weight:500; }
.chefs-visual { display:flex; justify-content:center; }
.chef-image-wrapper { position:relative; width:100%; max-width:400px; }
.chef-spotlight-card { position:relative; background:var(--bg-card); border:1px solid var(--border); border-radius:24px; overflow:hidden; box-shadow:var(--shadow-lg); transition:var(--transition); }
.chef-spotlight-card:hover { transform:translateY(-6px); border-color:rgba(192,57,43,.25); box-shadow:0 24px 60px rgba(192,57,43,.16); }
.chef-spotlight-media { position:relative; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); }
.chef-spotlight-media img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.chef-spotlight-card:hover .chef-spotlight-media img { transform:scale(1.06); }
.chef-spotlight-media::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(10,10,26,.5) 0%,rgba(10,10,26,0) 55%); pointer-events:none; }
.chef-spotlight-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.35); font-size:3rem; }
.chef-spotlight-tag { position:absolute; top:16px; left:16px; z-index:2; display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:50px; background:rgba(10,10,26,.45); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.25); color:var(--white); font-size:.7rem; font-weight:600; letter-spacing:.4px; max-width:calc(100% - 32px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.chef-spotlight-tag i { color:var(--accent); }
.chef-spotlight-body { padding:20px 24px 22px; }
.chef-spotlight-role { font-size:.7rem; font-weight:700; color:var(--primary); text-transform:uppercase; letter-spacing:1.5px; }
.chef-spotlight-body h3 { font-size:1.35rem; color:var(--text); margin:6px 0 8px; }
.chef-spotlight-bio { font-size:.85rem; color:var(--text-secondary); line-height:1.7; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:16px; }
.chef-spotlight-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:14px; border-top:1px solid var(--border-light); }
.chef-spotlight-count { font-size:.75rem; color:var(--text-muted); }
.chef-spotlight-count strong { color:var(--primary); font-weight:700; }
.chef-spotlight-link { font-size:.8rem; font-weight:600; color:var(--primary); display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.chef-spotlight-link i { transition:transform .3s var(--ease-out); }
.chef-spotlight-link:hover i { transform:translateX(4px); }
.chef-mini-team { margin-top:16px; display:flex; align-items:center; gap:14px; padding:12px 16px; background:var(--bg-card); border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow); }
.chef-mini-avatars { display:flex; align-items:center; }
.chef-mini-avatars img,.chef-mini-avatar-fallback,.chef-mini-more { width:38px; height:38px; border-radius:50%; border:2px solid var(--white); margin-left:-10px; box-shadow:0 2px 8px rgba(0,0,0,.12); }
.chef-mini-avatars img { object-fit:cover; }
.chef-mini-avatars > :first-child { margin-left:0; }
.chef-mini-avatar-fallback { display:flex; align-items:center; justify-content:center; background:var(--gradient); color:rgba(255,255,255,.85); font-size:.8rem; }
.chef-mini-more { display:flex; align-items:center; justify-content:center; background:var(--secondary); color:var(--white); font-size:.7rem; font-weight:700; }
.chef-mini-text { display:flex; flex-direction:column; line-height:1.35; }
.chef-mini-text strong { font-size:.82rem; color:var(--text); }
.chef-mini-text span { font-size:.72rem; color:var(--text-muted); }

/* SPECIALS Section */
.specials { background:var(--bg-light); overflow:hidden; }
.offers-slider { position:relative; overflow:hidden; border-radius:28px; box-shadow:0 24px 60px rgba(16,16,40,.14); }
.offers-track { display:flex; transition:transform .6s cubic-bezier(.4,0,.2,1); }
.offer-slide { position:relative; min-width:100%; display:grid; grid-template-columns:1.08fr 1fr; min-height:440px; background:var(--slide-bg,#c0392b); }

.offer-slide-panel { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:64px 54px; color:var(--slide-text,#fff); overflow:hidden; }
.offer-slide-panel::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.16) 0%,transparent 55%),linear-gradient(90deg,var(--slide-bg,#c0392b) 0%,var(--slide-bg,#c0392b) 58%,transparent 100%); opacity:.9; pointer-events:none; }
.offer-slide-decor { position:absolute; z-index:1; width:280px; height:280px; border-radius:50%; border:1px solid rgba(255,255,255,.14); top:-90px; right:-70px; pointer-events:none; }
.offer-slide-decor-2 { width:160px; height:160px; top:auto; right:auto; bottom:-60px; left:-40px; border-color:rgba(255,255,255,.1); }
.offer-slide-panel > *:not(.offer-slide-decor) { position:relative; z-index:2; }

.offer-badge-tag { display:inline-flex; align-items:center; gap:8px; width:fit-content; padding:8px 18px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3); border-radius:50px; font-size:.76rem; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; color:var(--slide-text,#fff); margin-bottom:20px; box-shadow:inset 0 1px 0 rgba(255,255,255,.25); }
.offer-badge-tag i { font-size:.68rem; color:#ffd166; }
.offer-slide-panel h3 { font-size:clamp(1.7rem,2.6vw,2.4rem); font-weight:800; line-height:1.15; color:var(--slide-text,#fff); margin-bottom:14px; }
.offer-slide-panel p { font-size:1rem; line-height:1.7; color:var(--slide-text,rgba(255,255,255,.85)); opacity:.85; margin-bottom:24px; max-width:470px; }

.offer-slide-meta { display:flex; flex-wrap:wrap; gap:10px 22px; margin-bottom:28px; }
.offer-slide-meta span { display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:600; color:var(--slide-text,#fff); opacity:.8; }
.offer-slide-meta i { color:#ffd166; }

.offer-slide-actions { display:flex; gap:12px; flex-wrap:wrap; }
.offer-slide-btn { display:inline-flex; align-items:center; gap:10px; padding:14px 30px; border-radius:50px; background:var(--slide-text,#fff); color:var(--slide-bg,#c0392b); font-weight:700; font-size:.88rem; font-family:'Inter',sans-serif; box-shadow:0 10px 26px rgba(0,0,0,.22); transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out); }
.offer-slide-btn:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(0,0,0,.3); }
.offer-slide-btn i { transition:transform .3s var(--ease-out); }
.offer-slide-btn:hover i { transform:translateX(4px); }
.offer-slide-ghost-btn { display:inline-flex; align-items:center; gap:9px; padding:14px 26px; border-radius:50px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.32); color:var(--slide-text,#fff); font-weight:600; font-size:.88rem; font-family:'Inter',sans-serif; cursor:pointer; transition:background .3s ease,transform .3s var(--ease-out); }
.offer-slide-ghost-btn:hover { background:rgba(255,255,255,.26); transform:translateY(-2px); }

.offer-slide-media { position:absolute; inset:0; z-index:1; overflow:hidden; }
.offer-slide-media > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.25,.46,.45,.94); }
.offer-slide:hover .offer-slide-media > img { transform:scale(1.05); }
.offer-slide-media-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,10,26,0) 40%,rgba(10,10,26,.32) 100%),linear-gradient(0deg,rgba(10,10,26,.45) 0%,rgba(10,10,26,0) 45%); }
.offer-slide-media-placeholder { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.25); font-size:4rem; background:radial-gradient(circle at 60% 40%,rgba(255,255,255,.1),transparent 60%); }
.offer-slide-seal { position:absolute; right:26px; top:26px; z-index:2; width:104px; height:104px; border-radius:50%; background:rgba(255,255,255,.96); color:var(--primary); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; text-align:center; box-shadow:0 18px 40px rgba(0,0,0,.28); border:6px solid rgba(255,255,255,.35); }
.offer-slide-seal i { font-size:1.1rem; }
.offer-slide-seal em { font-style:normal; font-size:.56rem; font-weight:800; letter-spacing:1.4px; text-transform:uppercase; color:var(--text-secondary); line-height:1.25; }

.offers-controls { position:absolute; right:22px; bottom:22px; z-index:6; display:flex; align-items:center; gap:10px; padding:7px 10px; background:rgba(10,10,26,.5); border:1px solid rgba(255,255,255,.22); border-radius:50px; box-shadow:0 10px 26px rgba(0,0,0,.25); }
.offer-prev,.offer-next { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.14); border:none; color:var(--white); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .3s ease,color .3s ease; }
.offer-prev:hover,.offer-next:hover { background:var(--gradient); color:var(--white); }
.offer-dots { display:flex; gap:7px; padding:0 4px; }
.offer-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.4); cursor:pointer; transition:var(--transition); }
.offer-dot.active { background:var(--gradient); width:24px; border-radius:5px; }
.offers-view-all { text-align:center; margin-top:32px; }

/* DEALS SCROLLER */
.deals-section { background:linear-gradient(180deg,var(--bg) 0%,#f8f4f0 100%); padding:100px 0; overflow:hidden; }
.deals-scroller-wrapper { overflow:hidden; padding:14px 0 28px; mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%); -webkit-mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%); }
.deals-scroller { display:flex; gap:24px; width:max-content; align-items:stretch; }

/* Deal card */
.deal-card-scroller { position:relative; min-width:320px; max-width:320px; flex-shrink:0; display:flex; flex-direction:column; background:var(--bg-card); border:1px solid var(--border); border-radius:22px; overflow:hidden; box-shadow:0 4px 20px rgba(16,16,40,.06); transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),border-color .45s ease; }
.deal-card-scroller::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--gradient); z-index:3; opacity:0; transition:opacity .4s ease; }
.deal-card-scroller::after { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.55); }
.deal-card-scroller:hover { transform:translateY(-8px); border-color:rgba(192,57,43,.25); box-shadow:0 22px 50px rgba(192,57,43,.16),0 6px 18px rgba(16,16,40,.08); }
.deal-card-scroller:hover::before { opacity:1; }

.deal-card-media { position:relative; height:210px; overflow:hidden; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); }
.deal-card-media > img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.25,.46,.45,.94); }
.deal-card-scroller:hover .deal-card-media > img { transform:scale(1.09); }
.deal-card-media-shade { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,10,26,.78) 0%,rgba(10,10,26,.25) 46%,rgba(10,10,26,.05) 100%); }
.deal-card-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.32); font-size:3rem; }

.deal-card-badge { position:absolute; top:14px; left:14px; z-index:2; display:inline-flex; align-items:center; gap:6px; padding:6px 13px; background:var(--gradient); border-radius:50px; font-size:.62rem; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:1px; box-shadow:0 6px 18px rgba(192,57,43,.4); max-width:calc(100% - 110px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.deal-card-badge i { font-size:.58rem; }
.deal-card-save-badge { position:absolute; top:14px; right:14px; z-index:2; padding:6px 12px; border-radius:50px; background:rgba(10,10,26,.62); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.4px; }
.deal-card-timer { position:absolute; left:14px; bottom:14px; z-index:2; display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:50px; background:rgba(10,10,26,.62); border:1px solid rgba(255,255,255,.2); color:#fff; font-size:.72rem; font-weight:600; }
.deal-card-timer i { color:var(--accent); font-size:.7rem; }
.deal-card-timer.urgent { background:rgba(192,57,43,.92); border-color:rgba(255,255,255,.28); }
.deal-card-timer.urgent i { color:#fff; animation:timerPulse 1.4s ease-in-out infinite; }
@keyframes timerPulse { 0%,100% { opacity:1; } 50% { opacity:.4; } }
.deal-card-count { position:absolute; right:14px; bottom:14px; z-index:2; padding:6px 12px; border-radius:50px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.26); color:#fff; font-size:.68rem; font-weight:600; }

.deal-card-content { padding:18px 20px 20px; display:flex; flex-direction:column; flex:1; }
.deal-card-title { font-family:'Inter',sans-serif; font-size:1.08rem; font-weight:700; color:var(--text); margin-bottom:6px; line-height:1.3; }
.deal-card-desc { font-size:.8rem; color:var(--text-secondary); line-height:1.55; margin-bottom:14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

.deal-card-items { margin:0 0 16px; padding:10px 12px; background:var(--bg-light); border:1px dashed rgba(192,57,43,.18); border-radius:14px; }
.deal-card-items.is-long { max-height:118px; overflow:hidden; -webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent 100%); mask-image:linear-gradient(to bottom,#000 72%,transparent 100%); }
.deal-card-item { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:5px 0; font-size:.74rem; }
.deal-card-item + .deal-card-item { border-top:1px solid rgba(16,16,40,.05); }
.dci-name { color:var(--text-secondary); font-weight:500; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dci-name em { font-style:normal; font-weight:700; color:var(--primary); margin-left:5px; font-size:.68rem; }
.dci-price { display:inline-flex; align-items:baseline; gap:6px; white-space:nowrap; }
.dci-price del { color:var(--text-muted); font-weight:400; font-size:.66rem; }
.dci-price b { color:var(--text); font-weight:700; font-size:.78rem; }

.deal-card-footer { margin-top:auto; }
.deal-card-total { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding-top:12px; border-top:1px solid var(--border-light); margin-bottom:14px; }
.dct-label { font-size:.66rem; text-transform:uppercase; letter-spacing:1.2px; color:var(--text-muted); font-weight:600; }
.dct-value { display:inline-flex; align-items:baseline; gap:7px; font-family:'Inter',sans-serif; font-size:1.08rem; font-weight:800; color:var(--primary); }
.dct-value del { font-size:.72rem; font-weight:400; color:var(--text-muted); }

.deal-card-view-btn { width:100%; padding:11px 18px; background:var(--gradient); border:none; border-radius:12px; color:#fff; font-weight:600; font-size:.8rem; cursor:pointer; font-family:'Inter',sans-serif; display:inline-flex; align-items:center; justify-content:center; gap:8px; box-shadow:0 6px 18px rgba(192,57,43,.25); transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out); }
.deal-card-view-btn i { transition:transform .3s var(--ease-out); }
.deal-card-view-btn:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(192,57,43,.36); }
.deal-card-view-btn:hover i { transform:translateX(4px); }
#menuSearch:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(192,57,43,.1); }

/* MENU SHOWCASE / CAROUSEL */
.menu-showcase { background:linear-gradient(180deg,#fdf6f0 0%,#fff5f5 50%,#fdf6f0 100%); padding:80px 0 60px; overflow:hidden; position:relative; }
.menu-showcase-bg { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.ms-deco { position:absolute; width:50px; height:50px; border:3px solid rgba(192,57,43,.1); transform:rotate(45deg); }
.ms-deco-1 { top:70px; left:70px; }
.ms-deco-2 { top:70px; right:70px; }
.carousel-viewport { width:100%; overflow:hidden; padding:10px 0 30px; mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%); }
.carousel-track { display:flex; align-items:center; justify-content:center; width:max-content; animation:carouselScroll 40s linear infinite; }
.carousel-track:hover { animation-play-state:paused; }
@keyframes carouselScroll { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
.cslide { flex-shrink:0; width:260px; position:relative; margin:0 10px; cursor:pointer; }
.cslide:hover .cslide-hover { opacity:1; visibility:visible; pointer-events:auto; }
.cslide-img { width:100%; aspect-ratio:3/4; border-radius:16px; overflow:hidden; position:relative; background:#f0f0f0; box-shadow:0 8px 32px rgba(0,0,0,.12); }
.cslide-img img { width:100%; height:100%; object-fit:cover; border-radius:16px; transition:transform .5s ease; }
.cslide:hover .cslide-img img { transform:scale(1.05); }
.cslide-info { padding:12px 4px 6px; text-align:center; }
.cslide-info h3 { font-family:'Inter',sans-serif; font-size:.85rem; font-weight:600; color:var(--text); margin-bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cslide-price { font-family:'Inter',sans-serif; font-size:.95rem; font-weight:700; color:var(--primary); }
.cslide-price del { color:var(--text-muted); font-size:.68rem; font-weight:400; margin-right:3px; }
.cslide-tags { display:flex; gap:4px; justify-content:center; flex-wrap:wrap; margin-top:5px; }
.cslide-tags span { padding:2px 7px; border-radius:50px; font-size:.6rem; font-weight:500; background:rgba(0,0,0,.04); color:var(--text-muted); border:1px solid var(--border); }
.cslide-hover { position:absolute; top:0; left:0; right:0; aspect-ratio:3/4; border-radius:16px; background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.3) 50%,transparent 100%); display:flex; flex-direction:column; justify-content:center; align-items:center; padding:20px; opacity:0; visibility:hidden; pointer-events:none; transition:all .35s ease; z-index:3; }
.cslide-desc { color:rgba(255,255,255,.9); font-size:.8rem; line-height:1.5; margin-bottom:18px; text-align:center; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.cslide-view-btn { padding:10px 24px; background:var(--gradient); border:none; border-radius:8px; color:var(--white); font-weight:600; font-size:.82rem; cursor:pointer; transition:all .25s ease; font-family:'Inter',sans-serif; display:inline-flex; align-items:center; gap:8px; box-shadow:0 4px 15px rgba(192,57,43,.3); }
.cslide-view-btn:hover { transform:translateY(-1px); box-shadow:0 6px 25px rgba(192,57,43,.4); }

/* FAQ SECTION */
.faq { background:var(--bg); }
.faq-grid { max-width:700px; margin:0 auto; }
.faq-item { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); margin-bottom:12px; overflow:hidden; transition:var(--transition); }
.faq-item:hover { border-color:rgba(192,57,43,.2); }
.faq-question { display:flex; justify-content:space-between; align-items:center; padding:20px 24px; cursor:pointer; transition:background .2s ease; }
.faq-question h3 { font-family:'Inter',sans-serif; font-size:.95rem; font-weight:600; color:var(--text); }
.faq-icon { width:28px; height:28px; border-radius:50%; background:var(--bg-light); display:flex; align-items:center; justify-content:center; color:var(--text-muted); transition:var(--transition); flex-shrink:0; }
.faq-item.active .faq-icon { background:var(--gradient); color:var(--white); transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .35s ease,padding .35s ease; }
.faq-item.active .faq-answer { max-height:300px; padding:0 24px 20px; }
.faq-answer p { font-size:.9rem; color:var(--text-secondary); line-height:1.7; }

/* FOOTER */
.footer { background:var(--secondary); padding:80px 0 0; position:relative; overflow:hidden; }
.footer::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--gradient); }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.5fr; gap:48px; padding-bottom:48px; }
.footer-brand .logo .logo-text { color:var(--white); }
.footer-desc { font-size:.85rem; color:rgba(255,255,255,.55); line-height:1.7; margin:16px 0; }
.social-links { display:flex; gap:10px; }
.social-links a { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.6); transition:var(--transition); font-size:.85rem; }
.social-links a:hover { background:var(--primary); color:var(--white); transform:translateY(-2px); }
.footer-links h4 { font-family:'Inter',sans-serif; font-size:.82rem; font-weight:700; color:var(--white); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:16px; }
.footer-links ul { display:flex; flex-direction:column; gap:10px; }
.footer-links a { font-size:.85rem; color:rgba(255,255,255,.55); transition:var(--transition); }
.footer-links a:hover { color:var(--white); padding-left:4px; }
.footer-newsletter h4 { font-family:'Inter',sans-serif; font-size:.82rem; font-weight:700; color:var(--white); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:8px; }
.footer-newsletter p { font-size:.82rem; color:rgba(255,255,255,.5); margin-bottom:16px; }
.newsletter-form { display:flex; gap:8px; }
.newsletter-form input { flex:1; padding:12px 16px; border:1px solid rgba(255,255,255,.15); border-radius:10px; background:rgba(255,255,255,.06); color:var(--white); font-size:.85rem; outline:none; font-family:'Inter',sans-serif; transition:var(--transition); }
.newsletter-form input:focus { border-color:var(--primary); background:rgba(255,255,255,.1); }
.newsletter-form input::placeholder { color:rgba(255,255,255,.3); }
.newsletter-form button { padding:12px 18px; border:none; border-radius:10px; background:var(--gradient); color:var(--white); cursor:pointer; transition:var(--transition); }
.newsletter-form button:hover { transform:translateY(-2px); box-shadow:0 4px 15px rgba(192,57,43,.4); }
.footer-contact { display:flex; flex-direction:column; gap:10px; margin-top:20px; }
.contact-item { display:flex; align-items:center; gap:10px; font-size:.82rem; color:rgba(255,255,255,.55); }
.contact-item i { width:16px; color:var(--primary); }
.footer-bottom { padding:24px 0; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.footer-bottom p { font-size:.78rem; color:rgba(255,255,255,.4); }
.footer-badges { display:flex; gap:16px; }
.footer-badges span { font-size:.72rem; color:rgba(255,255,255,.4); display:flex; align-items:center; gap:4px; }

/* DETAIL MODAL */
.detail-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.7); backdrop-filter:blur(8px); z-index:99999; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:all .3s ease; padding:20px; }
.detail-modal-overlay.active { opacity:1; visibility:visible; }
.detail-modal { background:var(--bg-card); border-radius:20px; max-width:560px; width:100%; max-height:90vh; overflow-y:auto; overflow-x:hidden; position:relative; transform:scale(.9) translateY(20px); transition:all .35s cubic-bezier(.23,1,.32,1); scrollbar-width:none; }
.detail-modal::-webkit-scrollbar { display:none; }
.detail-modal-overlay.active .detail-modal { transform:scale(1) translateY(0); }
.detail-modal-close { position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%; background:rgba(0,0,0,.4); border:none; color:#fff; font-size:1rem; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:5; transition:background .2s; }
.detail-modal-close:hover { background:rgba(0,0,0,.6); }
.detail-modal-inner { display:flex; flex-direction:column; }
.detail-modal-img { width:100%; aspect-ratio:16/9; overflow:hidden; }
.detail-modal-img img { width:100%; height:100%; object-fit:cover; }
.detail-modal-body { padding:32px 28px; }
.detail-modal-badge { display:inline-block; padding:4px 14px; background:var(--gradient); border-radius:50px; font-size:.65rem; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:1px; margin-bottom:12px; }
.detail-modal-body h2 { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:700; color:var(--text); margin-bottom:8px; line-height:1.2; }
.detail-modal-meta { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:12px; }
.detail-modal-meta span { font-size:.78rem; color:var(--text-secondary); display:flex; align-items:center; gap:5px; }
.detail-modal-meta span i { color:var(--primary); }
.detail-modal-price { font-size:1.3rem; font-weight:800; color:var(--primary); margin-bottom:14px; }
.detail-modal-price del { font-size:.9rem; color:var(--text-muted); font-weight:400; margin-right:6px; }
.detail-modal-body p { font-size:.92rem; color:var(--text-secondary); line-height:1.8; margin-bottom:18px; }
.detail-modal-items { margin-bottom:18px; border-top:1px solid var(--border-light); padding-top:12px; }
.detail-modal-item { display:flex; align-items:center; gap:14px; padding:10px 0; border-bottom:1px solid var(--border-light); }
.detail-modal-item:last-child { border-bottom:none; }
.detail-modal-item img { width:52px; height:52px; border-radius:8px; object-fit:cover; }
.detail-modal-item .dmi-name { flex:1; font-size:.9rem; font-weight:600; color:var(--text); }
.detail-modal-item .dmi-orig { font-size:.78rem; color:var(--text-muted); text-decoration:line-through; margin-right:6px; }
.detail-modal-item .dmi-deal { font-size:1rem; font-weight:700; color:var(--primary); white-space:nowrap; }
.detail-modal-tags { display:flex; gap:8px; flex-wrap:wrap; }
.detail-modal-tags span { padding:5px 14px; border-radius:50px; font-size:.72rem; font-weight:500; background:rgba(0,0,0,.04); color:var(--text-muted); border:1px solid var(--border); }

/* PAGE LOADER - Premium polish */
.page-loader { position:fixed; inset:0; z-index:99999; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--bg,#fff); transition:opacity .8s ease,visibility .8s ease; }
.page-loader.loaded { opacity:0; visibility:hidden; pointer-events:none; }
.loader-particles { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.loader-particle { position:absolute; width:4px; height:4px; background:var(--primary); border-radius:50%; opacity:.3; animation:particleFloat 4s ease-in-out infinite; }
.loader-particle:nth-child(1) { left:15%; top:20%; animation-delay:0s; }
.loader-particle:nth-child(2) { left:80%; top:30%; animation-delay:.5s; animation-duration:4.2s; }
.loader-particle:nth-child(3) { left:25%; top:75%; animation-delay:1s; animation-duration:3.8s; }
.loader-particle:nth-child(4) { left:70%; top:80%; animation-delay:1.5s; animation-duration:4.5s; }
.loader-particle:nth-child(5) { left:50%; top:15%; animation-delay:.3s; animation-duration:3.2s; }
.loader-particle:nth-child(6) { left:90%; top:60%; animation-delay:.8s; animation-duration:4s; }
@keyframes particleFloat { 0%,100% { transform:translateY(0) scale(1); opacity:.3; } 50% { transform:translateY(-20px) scale(1.5); opacity:.6; } }
.loader-logo { display:flex; flex-direction:column; align-items:center; gap:20px; }
.loader-logo-icon { width:80px; height:80px; border-radius:24px; background:var(--gradient); display:flex; align-items:center; justify-content:center; font-size:2rem; color:#fff; animation:loaderPulse 1.5s ease-in-out infinite; box-shadow:0 8px 32px rgba(192,57,43,.25); position:relative; }
.loader-logo-icon::after { content:''; position:absolute; inset:-4px; border-radius:28px; border:2px solid rgba(192,57,43,.2); animation:loaderRing 2s linear infinite; }
@keyframes loaderRing { 0% { transform:rotate(0deg); border-color:rgba(192,57,43,.2); } 50% { border-color:rgba(192,57,43,.5); } 100% { transform:rotate(360deg); border-color:rgba(192,57,43,.2); } }
.loader-logo-text { font-family:'Playfair Display',serif; font-size:2rem; font-weight:800; color:var(--text); letter-spacing:1px; animation:loaderFadeIn 1s ease; }
.loader-logo-text .logo-accent { color:var(--primary); }
@keyframes loaderPulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.05); } }
@keyframes loaderFadeIn { 0% { opacity:0; transform:translateY(10px); } 100% { opacity:1; transform:translateY(0); } }
.loader-progress-container { width:240px; margin-top:32px; }
.loader-progress-track { width:100%; height:3px; background:rgba(0,0,0,.08); border-radius:10px; overflow:hidden; position:relative; }
.loader-progress-track::before { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent); animation:loaderShimmer 1.5s ease infinite; }
@keyframes loaderShimmer { 0% { left:-100%; } 100% { left:200%; } }
.custom-cursor,.cursor-dot { display:none; }

/* Pause infinite looping animations when off-screen (toggled by JS) */
.anim-paused { animation-play-state:paused !important; }

/* TOAST */
.toast { position:fixed; bottom:30px; right:30px; background:var(--bg-card); border:1px solid var(--border); border-radius:16px; padding:16px 24px; display:flex; align-items:center; gap:12px; box-shadow:0 12px 50px rgba(0,0,0,.12); transform:translateX(150%); transition:transform .5s var(--ease-out); z-index:9999; backdrop-filter:blur(20px); }
.toast.show { transform:translateX(0); }
.toast-icon { width:32px; height:32px; border-radius:50%; background:rgba(192,57,43,.1); display:flex; align-items:center; justify-content:center; color:var(--primary); flex-shrink:0; }
.toast-message { font-weight:600; color:var(--text); font-size:.9rem; }

/* ============================================ RESPONSIVE ============================================ */
@media (max-width:1024px) {
    .hero-container,.about-grid,.specials-wrapper,.chefs-grid { grid-template-columns:1fr; gap:48px; }
    .footer-grid { grid-template-columns:1fr 1fr; }
    .hero-visual { order:-1; }
    .about-images { order:1; }
    .chefs-visual { order:-1; }
    .cslide { width:200px; }
    .ms-deco { display:none; }
    .offer-slide { grid-template-columns:1fr; grid-template-rows:250px auto; min-height:0; }
    .offer-slide-panel { grid-row:2; padding:40px 34px; }
    .offer-slide-panel::before { background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.14) 0%,transparent 55%),linear-gradient(180deg,transparent 0%,var(--slide-bg,#c0392b) 32%,var(--slide-bg,#c0392b) 100%); }
    .offer-slide-seal { left:18px; right:auto; top:18px; width:88px; height:88px; }
    .offer-slide-seal em { font-size:.5rem; }
    .offers-controls { top:18px; right:18px; bottom:auto; padding:6px 9px; }
}
@media (max-width:768px) {
    .nav-links { position:fixed; top:70px; left:0; right:0; background:rgba(255,255,255,.85); backdrop-filter:blur(14px); flex-direction:column; padding:24px; gap:16px; border-bottom:1px solid rgba(255,255,255,.5); transform:translateY(-150%); transition:transform .4s cubic-bezier(.4,0,.2,1); }
    .nav-links.active { transform:translateY(0); }
    .navbar .nav-links a { color:var(--text-secondary); }
    .navbar .nav-links a:hover,.navbar .nav-links a.active { color:var(--primary); }
    .mobile-menu-btn { display:flex; }
    .nav-menu-btn { display:none; }
    .hero-stats { gap:24px; }
    .stat-number { font-size:2rem; }
    .footer-grid { grid-template-columns:1fr; gap:40px; }
    .footer-bottom { flex-direction:column; text-align:center; }
    .about-features { grid-template-columns:1fr; }
    .floating-card { display:none; }
    .hero-reviews { position:relative; bottom:auto; left:auto; transform:none; margin-top:20px; }
    .scroll-indicator { display:none; }
    .cslide { width:180px; }
    .offer-slide { grid-template-rows:210px auto; }
    .offer-slide-panel { padding:32px 24px; }
    .offer-slide-actions { flex-direction:column; }
    .offer-slide-btn,.offer-slide-ghost-btn { justify-content:center; }
    .ms-deco { display:none; }
    .page-hero { height:50vh; }
    .page-hero-sm { height:25vh; }
}
@media (max-width:480px) {
    .container { padding:0 16px; }
    section { padding:60px 0; }
    .hero-buttons { flex-direction:column; }
    .hero-stats { flex-wrap:wrap; }
    .cslide { width:150px; }
    .page-hero { height:40vh; }
    .page-hero-sm { height:20vh; }
}
