@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Lato:wght@300;400;700&family=Noto+Serif:ital,wght@0,400;1,400&display=swap');

:root {
  --bg: #F7F2EA;
  --accent: #C03A7A;
  --gold: #C8A646;
  --gold-light: #FFE8A3;
  --purple: #6D2E8A;
  --dark: #2B2B2B;
  --nav-bg: #1A0A12;
  --footer-bg: #1A0A12;
  --card-bg: #FFFFFF;
  --hover: #9B2A5E;
  --shadow: 0 8px 32px rgba(192,58,122,0.12);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.18);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--dark); font-family: 'Lato', sans-serif; overflow-x: hidden; }

h1, h2, h3, h4 { font-family: 'Cinzel', serif; }
.playfair { font-family: 'Playfair Display', serif; }
.noto { font-family: 'Noto Serif', serif; }

a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }

.container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.section-pad { padding: 80px 0; }

/* SHIMMER TEXT */
.shimmer-text {
  background: linear-gradient(90deg, #C8A646 0%, #FFE8A3 40%, #C8A646 60%, #FFE8A3 100%);
  background-size: 300%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 4s linear infinite;
}
@keyframes shimmer { 0%{background-position:0%} 100%{background-position:300%} }

/* GOLD DIVIDER */
.gold-divider {
  display: flex; align-items: center; justify-content: center; gap: 16px; margin: 12px 0;
}
.gold-divider::before, .gold-divider::after {
  content:''; flex:1; height:1px; background:linear-gradient(90deg, transparent, #C8A646, transparent);
}
.gold-line { height:1px; background:linear-gradient(90deg,transparent,#C8A646,transparent); margin:20px 0; }

/* SECTION HEADING */
.section-heading { text-align: center; margin-bottom: 48px; }
.section-heading .subtitle { font-family:'Lato',sans-serif; color:#888; font-size:0.9rem; letter-spacing:3px; text-transform:uppercase; margin-bottom:12px; }
.section-heading h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); color: var(--dark); margin-bottom: 12px; }
.section-heading .gold-line { max-width: 120px; margin: 12px auto; }
.section-heading p { color: #666; max-width: 600px; margin: 0 auto; line-height: 1.8; }

/* BUTTONS */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px; border-radius: 50px; font-family:'Cinzel',serif; font-size:0.85rem; letter-spacing:1px; font-weight:600; cursor:pointer; border:none; transition:all 0.3s ease; text-transform:uppercase; }
.btn-primary { background:var(--accent); color:#fff; }
.btn-primary:hover { background:var(--hover); transform:translateY(-2px); box-shadow:0 10px 30px rgba(192,58,122,0.4); }
.btn-gold { background: linear-gradient(135deg, #C8A646, #FFE8A3, #C8A646); color: #1A0A12; background-size:200%; }
.btn-gold:hover { background-position:right; transform:translateY(-2px); box-shadow:0 10px 30px rgba(200,166,70,0.5); }
.btn-outline { background:transparent; border:2px solid var(--gold); color:var(--gold); }
.btn-outline:hover { background:var(--gold); color:#1A0A12; transform:translateY(-2px); }
.btn-outline-white { background:transparent; border:2px solid #fff; color:#fff; }
.btn-outline-white:hover { background:#fff; color:var(--nav-bg); transform:translateY(-2px); }
.btn-sm { padding: 10px 22px; font-size: 0.8rem; }

/* SCROLL ANIMATIONS */
.reveal { opacity:0; transform:translateY(40px); transition:all 0.7s cubic-bezier(0.16,1,0.3,1); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-left { opacity:0; transform:translateX(-50px); transition:all 0.7s cubic-bezier(0.16,1,0.3,1); }
.reveal-left.visible { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(50px); transition:all 0.7s cubic-bezier(0.16,1,0.3,1); }
.reveal-right.visible { opacity:1; transform:translateX(0); }
.reveal-scale { opacity:0; transform:scale(0.85); transition:all 0.7s cubic-bezier(0.16,1,0.3,1); }
.reveal-scale.visible { opacity:1; transform:scale(1); }

/* 3D CARD */
.card-3d { transform-style:preserve-3d; transition:transform 0.35s ease, box-shadow 0.35s ease; }
.card-3d:hover { transform:rotateY(5deg) rotateX(-5deg) translateY(-8px); box-shadow:0 25px 50px rgba(192,58,122,0.3); }

/* FLOATING SPICES */
@keyframes float-spice {
  0%,100% { transform:translateY(0px) rotate(0deg); }
  33% { transform:translateY(-20px) rotate(5deg); }
  66% { transform:translateY(-10px) rotate(-3deg); }
}
@keyframes float-slow {
  0%,100% { transform:translateY(0px) rotate(0deg); }
  50% { transform:translateY(-30px) rotate(8deg); }
}
.floating-img { animation:float-spice 6s ease-in-out infinite; }
.floating-img:nth-child(2) { animation-delay:-2s; animation-name:float-slow; }
.floating-img:nth-child(3) { animation-delay:-4s; }
.floating-img:nth-child(4) { animation-delay:-1s; animation-name:float-slow; }

/* ===== HEADER ===== */
#site-header { position:fixed; top:0; left:0; right:0; z-index:999; transition:all 0.4s ease; }
.header-top { background:var(--nav-bg); padding:8px 0; border-bottom:1px solid rgba(200,166,70,0.2); }
.header-top .container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.header-contact { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.header-contact a { color:#ccc; font-size:0.8rem; display:flex; align-items:center; gap:6px; transition:color 0.3s; }
.header-contact a:hover { color:var(--gold); }
.header-social { display:flex; gap:12px; align-items:center; }
.header-social a { color:#aaa; display:flex; align-items:center; transition:color 0.3s, transform 0.3s; }
.header-social a:hover { color:var(--gold); transform:scale(1.2); }
.header-social svg { width:18px; height:18px; }

.header-main { background:var(--nav-bg); padding:12px 0; border-bottom:2px solid transparent; transition:all 0.4s ease; }
.header-main .container { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.logo-wrap { display:flex; align-items:center; gap:12px; }
.logo-wrap img { height:65px; width:auto; filter:drop-shadow(0 2px 8px rgba(200,166,70,0.4)); }

/* SCROLLED HEADER */
#site-header.scrolled .header-top { padding:4px 0; }
#site-header.scrolled .header-main { padding:8px 0; backdrop-filter:blur(12px); background:rgba(26,10,18,0.96); border-bottom-color:var(--gold); box-shadow:0 4px 20px rgba(0,0,0,0.4); }
#site-header.scrolled .logo-wrap img { height:50px; }

/* ===== NAV ===== */
nav { display:flex; align-items:center; gap:4px; }
.nav-item { position:relative; }
.nav-item::after { content:''; position:absolute; top:100%; left:50%; transform:translateX(-50%); width:680px; height:20px; }
.nav-link { color:#ddd; font-family:'Cinzel',serif; font-size:0.78rem; letter-spacing:1px; font-weight:600; padding:10px 14px; display:flex; align-items:center; gap:4px; transition:color 0.3s; text-transform:uppercase; white-space:nowrap; }
.nav-link:hover, .nav-link.active { color:var(--gold); }
.nav-link .chevron { width:12px; height:12px; transition:transform 0.3s; }
.nav-item:hover .nav-link .chevron { transform:rotate(180deg); }

/* MEGA MENU */
.mega-menu { position:absolute; top:100%; margin-top:16px; left:50%; transform:translateX(-50%); width:680px; background:var(--nav-bg); border:1px solid rgba(200,166,70,0.3); border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,0.6); opacity:0; transform:translateX(-50%) translateY(-10px); pointer-events:none; transition:opacity 0.25s ease, transform 0.25s ease; display:grid; grid-template-columns:1fr 1fr 1fr; overflow:hidden; }
.nav-item:hover .mega-menu, .mega-menu:hover { opacity:1; transform:translateX(-50%) translateY(0); pointer-events:all; }

.mega-menu {
    margin-top: 0px !important;
  cursor:pointer;
  z-index:20
}
.mega-col { padding:20px; }
.mega-col:first-child { border-right:1px solid rgba(200,166,70,0.15); }
.mega-col:nth-child(2) { border-right:1px solid rgba(200,166,70,0.15); }
.mega-col-title { color:var(--gold); font-family:'Cinzel',serif; font-size:0.75rem; letter-spacing:2px; text-transform:uppercase; margin-bottom:12px; padding-bottom:8px; border-bottom:1px solid rgba(200,166,70,0.2); }
.mega-cat-item { display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:6px; cursor:pointer; transition:all 0.2s; margin-bottom:2px; }
.mega-cat-item:hover, .mega-cat-item.active { background:rgba(192,58,122,0.2); }
.mega-cat-item svg { width:22px; height:22px; flex-shrink:0; }
.mega-cat-item span { color:#ddd; font-size:0.82rem; transition:color 0.2s; }
.mega-cat-item:hover span, .mega-cat-item.active span { color:var(--gold); }
.mega-preview { position:relative; overflow:hidden; border-radius:0 8px 8px 0; }
.mega-preview img { width:100%; height:100%; object-fit:cover; transition:opacity 0.3s ease; }
.mega-preview-overlay { position:absolute; bottom:0; left:0; right:0; padding:16px; background:linear-gradient(transparent,rgba(26,10,18,0.9)); }
.mega-preview-name { color:var(--gold); font-family:'Cinzel',serif; font-size:0.85rem; }

.header-actions { display:flex; align-items:center; gap:12px; }

/* HAMBURGER */
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; background:none; border:none; }
.hamburger span { display:block; width:24px; height:2px; background:#fff; transition:all 0.3s; border-radius:2px; }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* MOBILE MENU */
.mobile-menu { position:fixed; top:0; left:0; right:0; bottom:0; background:var(--nav-bg); z-index:998; transform:translateX(100%); transition:transform 0.4s cubic-bezier(0.16,1,0.3,1); overflow-y:auto; padding:80px 24px 40px; }
.mobile-menu.open { transform:translateX(0); }
.mobile-nav-link { display:flex; align-items:center; justify-content:space-between; padding:16px 0; border-bottom:1px solid rgba(200,166,70,0.15); color:#ddd; font-family:'Cinzel',serif; font-size:1rem; letter-spacing:1px; }
.mobile-nav-link:hover { color:var(--gold); }
.mobile-sub { display:none; padding:8px 0 8px 16px; }
.mobile-sub.open { display:block; }
.mobile-sub a { display:block; padding:8px 0; color:#aaa; font-size:0.85rem; border-bottom:1px solid rgba(255,255,255,0.05); }
.mobile-sub a:hover { color:var(--gold); }

/* ===== HERO ===== */
.hero { position:relative; height:98vh; min-height:800px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; will-change:transform; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(26,10,18,0.75) 0%, rgba(26,10,18,0.5) 100%); }
.hero-mandala { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.hero-mandala img { width:min(700px,90vw); opacity:0.06; animation:spin-slow 120s linear infinite; }
@keyframes spin-slow { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.hero-content { position:relative; z-index:2; text-align:center; padding:0 24px; max-width:980px; }
.hero-ornament { color:var(--gold); font-size:1.5rem; letter-spacing:4px; margin-bottom:4px; }
.hero-brand { font-family:'Cinzel',serif; font-size:clamp(2.2rem,5.5vw,4.5rem); font-weight:900; letter-spacing:4px; line-height:1; margin-bottom:2px; }
.hero-tagline { font-family:'Playfair Display',serif; font-style:italic; font-size:clamp(1.3rem,3.4vw,2rem); color:rgba(255,255,255,0.9); max-width:820px; margin:6px auto 8px; letter-spacing:1.5px; line-height:1.3; }
.hero-desc { color:rgba(255,255,255,0.75); font-size:0.95rem; line-height:1.8; max-width:640px; margin:12px auto 28px; }
.hero-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.scroll-indicator { position:absolute; bottom:32px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; z-index:2; }
.scroll-indicator span { color:rgba(255,255,255,0.6); font-size:0.75rem; letter-spacing:2px; text-transform:uppercase; }
.scroll-arrow { width:24px; height:24px; border-right:2px solid var(--gold); border-bottom:2px solid var(--gold); transform:rotate(45deg); animation:bounce-down 1.5s ease infinite; }
@keyframes bounce-down { 0%,100%{transform:rotate(45deg) translateY(0)} 50%{transform:rotate(45deg) translateY(6px)} }

/* FLOATING SPICE IMAGES */
.hero-floats { position:absolute; inset:0; pointer-events:none; z-index:1; }
.float-item { position:absolute; width:90px; opacity:0.7; }
.float-item:nth-child(1) { top:15%; left:5%; animation:float-spice 7s ease-in-out infinite; }
.float-item:nth-child(2) { bottom:20%; right:6%; animation:float-slow 9s ease-in-out infinite; animation-delay:-3s; }
.float-item:nth-child(3) { top:20%; right:8%; animation:float-spice 8s ease-in-out infinite; animation-delay:-2s; }
.float-item:nth-child(4) { bottom:30%; left:8%; animation:float-slow 10s ease-in-out infinite; animation-delay:-5s; }

/* ===== MARQUEE ===== */
.marquee-section { background:var(--accent); padding:14px 0; overflow:hidden; position:relative; border-top:2px solid var(--gold); border-bottom:2px solid var(--gold); }
.marquee-track { display:flex; white-space:nowrap; animation:marquee 30s linear infinite; }
.marquee-track:hover { animation-play-state:paused; }
.marquee-item { color:var(--gold); font-family:'Cinzel',serif; font-size:0.9rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; padding:0 32px; display:flex; align-items:center; gap:12px; }
.marquee-star { color:var(--gold-light); }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ===== CATEGORY SHOWCASE ===== */
.categories-section { background: var(--bg); position:relative; }
.categories-section::before { content:''; position:absolute; inset:0; background-image:url('/assets/svg/mandala.png'); background-size:60%; background-position:center; opacity:0.03; pointer-events:none; }
.cat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:20px; }
.cat-card { background:var(--card-bg); border-radius:16px; padding:24px 20px; display:flex; align-items:center; gap:16px; border:1px solid rgba(200,166,70,0.2); box-shadow:var(--shadow); cursor:pointer; transition:all 0.35s ease; position:relative; overflow:hidden; }
.cat-card::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(192,58,122,0.06),transparent); opacity:0; transition:opacity 0.3s; }
.cat-card:hover { border-color:var(--gold); box-shadow:0 20px 40px rgba(192,58,122,0.2); transform:translateY(-6px) rotateX(3deg); }
.cat-card:hover::before { opacity:1; }
.cat-icon { width:48px; height:48px; flex-shrink:0; }
.cat-icon svg { width:100%; height:100%; }
.cat-name { font-family:'Cinzel',serif; font-size:0.9rem; font-weight:700; color:var(--dark); line-height:1.3; }
.cat-desc { font-size:0.75rem; color:#888; margin-top:4px; }

/* ===== GRAND FEAST ===== */
.grand-feast { position:relative; background-image:url('/assets/images/hero/hero_feast.jpg'); background-size:cover; background-position:center; background-attachment:fixed; }
.grand-feast-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(26,10,18,0.85),rgba(109,46,138,0.7)); }
.grand-feast-content { position:relative; z-index:2; text-align:center; }
.grand-feast-content .subtitle { color:var(--gold); font-size:0.8rem; letter-spacing:4px; text-transform:uppercase; margin-bottom:12px; }
.grand-feast-content h2 { font-size:clamp(1.8rem,4vw,3rem); color:#fff; margin-bottom:8px; }
.grand-feast-content .timing { color:rgba(255,255,255,0.8); font-family:'Playfair Display',serif; font-style:italic; font-size:1.1rem; margin-bottom:40px; }
.feast-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; max-width:900px; margin:0 auto; }
.feast-card { background:rgba(255,255,255,0.08); border:1px solid rgba(200,166,70,0.4); border-radius:16px; padding:32px 24px; text-align:center; backdrop-filter:blur(10px); transition:all 0.35s ease; }
.feast-card:hover { background:rgba(192,58,122,0.2); border-color:var(--gold); transform:translateY(-8px); box-shadow:0 20px 40px rgba(0,0,0,0.4); }
.feast-price { font-family:'Cinzel',serif; font-size:2.5rem; color:var(--gold); font-weight:900; margin-bottom:8px; }
.feast-name { font-size:1.1rem; color:#fff; font-weight:700; margin-bottom:16px; }
.feast-includes { list-style:none; text-align:left; }
.feast-includes li { color:rgba(255,255,255,0.8); font-size:0.85rem; padding:4px 0; display:flex; align-items:center; gap:8px; }
.feast-includes li::before { content:'✦'; color:var(--gold); font-size:0.6rem; }

/* ===== SIGNATURE COMBOS ===== */
.combos-section { background:var(--bg); }
.combos-track { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; }
.combo-card { position:relative; border-radius:16px; overflow:hidden; height:300px; cursor:pointer; }
.combo-card-img { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform 0.5s ease; }
.combo-card:hover .combo-card-img { transform:scale(1.08); }
.combo-card-overlay { position:absolute; inset:0; background:linear-gradient(transparent 20%, rgba(26,10,18,0.9) 100%); }
.combo-card-body { position:absolute; bottom:0; left:0; right:0; padding:24px; }
.combo-card-name { font-family:'Cinzel',serif; font-size:1rem; color:#fff; font-weight:700; margin-bottom:4px; }
.combo-card-price { font-size:1.5rem; color:var(--gold); font-weight:900; margin-bottom:8px; }
.combo-card-badge { display:inline-block; background:var(--accent); color:#fff; font-size:0.7rem; padding:4px 10px; border-radius:50px; text-transform:uppercase; letter-spacing:1px; }
.tilt-effect { transform-style:preserve-3d; transition:transform 0.3s ease; }
.tilt-effect:hover { transform:perspective(800px) rotateX(-3deg) rotateY(5deg) scale(1.02); }

/* ===== OUR STORY ===== */
.story-section { background:var(--bg); position:relative; overflow:hidden; }
.story-bg-spice { position:absolute; top:-60px; right:-60px; width:300px; opacity:0.05; }
.story-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.story-text .subtitle { color:var(--accent); font-size:0.8rem; letter-spacing:3px; text-transform:uppercase; margin-bottom:12px; }
.story-text h2 { font-size:clamp(1.8rem,3.5vw,2.6rem); margin-bottom:20px; }
.story-text p { color:#555; line-height:1.9; font-size:1rem; margin-bottom:16px; }
.story-image { position:relative; }
.story-image img { width:100%; height:500px; object-fit:cover; border-radius:16px; }
.story-image::before { content:''; position:absolute; inset:-10px; border:2px solid var(--gold); border-radius:20px; opacity:0.4; z-index:-1; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:48px; padding-top:40px; border-top:1px solid rgba(200,166,70,0.3); }
.stat-item { text-align:center; padding:28px 16px; background:var(--card-bg); border-radius:16px; box-shadow:var(--shadow); border:1px solid rgba(200,166,70,0.15); transition:all 0.3s ease; }
.stat-item:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(192,58,122,0.15); border-color:var(--gold); }
.stat-icon { width:64px; height:64px; background:linear-gradient(135deg,var(--accent),var(--purple)); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.stat-icon svg { width:32px; height:32px; stroke:#fff; fill:none; }
.stat-number { font-family:'Cinzel',serif; font-size:3rem; font-weight:900; display:block; line-height:1; }
.stat-label { color:#666; font-size:0.9rem; margin-top:8px; font-weight:500; letter-spacing:0.5px; }

/* ===== BEST SELLERS (FLIP CARDS) ===== */
.bestsellers-section { background:#F0EAE0; position:relative; }
.bestsellers-section::before { content:''; position:absolute; inset:0; background-image:url('/assets/svg/mandala.png'); background-size:40%; background-position:right -100px top -100px; opacity:0.04; pointer-events:none; }
.bs-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:28px; }
.flip-card { height:360px; perspective:1000px; cursor:pointer; }
.flip-card-inner { position:relative; width:100%; height:100%; transition:transform 0.6s cubic-bezier(0.16,1,0.3,1); transform-style:preserve-3d; }
.flip-card:hover .flip-card-inner { transform:rotateY(180deg); }
.flip-card-front, .flip-card-back { position:absolute; inset:0; backface-visibility:hidden; border-radius:16px; overflow:hidden; }
.flip-card-front { background:var(--card-bg); box-shadow:var(--shadow); }
.flip-card-front img { width:100%; height:220px; object-fit:cover; }
.flip-card-front-body { padding:16px; position:relative; }
.flip-card-front-body h3 { font-family:'Cinzel',serif; font-size:1rem; margin-bottom:4px; }
.flip-card-front-body .price { color:var(--accent); font-size:1.3rem; font-weight:700; }
.best-seller-ribbon { position:absolute; top:12px; right:-8px; background:linear-gradient(135deg,#C8A646,#FFE8A3); color:#1A0A12; font-size:0.65rem; font-weight:700; padding:6px 12px; text-transform:uppercase; letter-spacing:1px; clip-path:polygon(0 0,100% 0,100% 100%,0 100%,8px 50%); }
.flip-card-back { background:linear-gradient(135deg,var(--nav-bg),#2D0A2A); transform:rotateY(180deg); display:flex; flex-direction:column; justify-content:center; align-items:center; padding:28px; text-align:center; border:1px solid rgba(200,166,70,0.3); }
.flip-card-back .bs-badge { background:var(--gold); color:#1A0A12; font-size:0.7rem; font-weight:700; padding:4px 14px; border-radius:50px; text-transform:uppercase; letter-spacing:1px; margin-bottom:16px; }
.flip-card-back h3 { color:#fff; font-family:'Cinzel',serif; font-size:1.1rem; margin-bottom:12px; }
.flip-card-back p { color:rgba(255,255,255,0.8); font-size:0.9rem; line-height:1.7; margin-bottom:20px; }
.flip-card-back .price { color:var(--gold); font-size:1.8rem; font-weight:900; margin-bottom:20px; }

/* ===== ORDER BANNER ===== */
.order-banner { position:relative; background-image:url('/assets/images/dishes/grill_platter.jpg'); background-size:cover; background-position:center; }
.order-banner-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(192,58,122,0.9),rgba(26,10,18,0.85)); }
.order-banner-content { position:relative; z-index:2; text-align:center; padding:80px 24px; }
.order-banner-content h2 { font-size:clamp(2rem,5vw,3.5rem); color:#fff; margin-bottom:12px; }
.order-banner-content p { color:rgba(255,255,255,0.85); font-size:1.1rem; margin-bottom:32px; max-width:600px; margin-left:auto; margin-right:auto; }
@keyframes pulse-glow { 0%,100%{box-shadow:0 0 0 0 rgba(200,166,70,0.5)} 50%{box-shadow:0 0 0 12px rgba(200,166,70,0)} }
.btn-pulse { animation:pulse-glow 2.5s ease infinite; }

/* ===== GALLERY PREVIEW ===== */
.gallery-preview { background:var(--bg); }
.masonry-grid { columns:3; column-gap:16px; }
.masonry-item { break-inside:avoid; margin-bottom:16px; position:relative; border-radius:12px; overflow:hidden; cursor:pointer; }
.masonry-item img { width:100%; display:block; transition:transform 0.4s ease; }
.masonry-item:hover img { transform:scale(1.06); }
.masonry-overlay { position:absolute; inset:0; background:rgba(192,58,122,0.7); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity 0.3s ease; }
.masonry-item:hover .masonry-overlay { opacity:1; }
.masonry-overlay span { color:#fff; font-family:'Cinzel',serif; font-size:0.9rem; letter-spacing:2px; text-transform:uppercase; }

/* ===== CATERING SECTION ===== */
.catering-section { background:#F0EAE0; }
.catering-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.party-cards { display:grid; gap:16px; }
.party-card { background:var(--card-bg); border-radius:12px; padding:20px 24px; border-left:4px solid var(--gold); box-shadow:var(--shadow); display:flex; justify-content:space-between; align-items:center; transition:all 0.3s ease; }
.party-card:hover { transform:translateX(6px); box-shadow:0 12px 30px rgba(192,58,122,0.15); }
.party-info h4 { font-family:'Cinzel',serif; font-size:1rem; color:var(--dark); margin-bottom:4px; }
.party-info p { color:#888; font-size:0.82rem; }
.party-price { font-family:'Cinzel',serif; font-size:1.8rem; font-weight:900; color:var(--accent); }
.catering-img { position:relative; }
.catering-img img { width:100%; height:480px; object-fit:cover; border-radius:16px; }

/* ===== TESTIMONIALS ===== */
.testimonials { background:var(--bg); position:relative; overflow:hidden; }
.testimonials::before { content:''; position:absolute; bottom:-100px; left:-100px; width:400px; height:400px; background-image:url('/assets/svg/mandala.png'); background-size:cover; opacity:0.04; pointer-events:none; }

/* Carousel */
.testimonial-carousel { position:relative; overflow:hidden; }
.testimonials-track { display:flex; gap:24px; transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94); will-change:transform; }
.testimonial-card { background:var(--card-bg); border-radius:16px; padding:32px; box-shadow:var(--shadow); border:1px solid rgba(200,166,70,0.15); position:relative; transition:box-shadow 0.35s ease, border-color 0.35s ease; flex:0 0 calc(33.333% - 16px); min-width:calc(33.333% - 16px); }
.testimonial-card.active { border-color:var(--gold); box-shadow:0 20px 40px rgba(192,58,122,0.15); }
.testimonial-quote { font-size:4rem; color:var(--gold); opacity:0.25; font-family:serif; line-height:1; margin-bottom:8px; }
.testimonial-text { color:#555; line-height:1.85; font-style:italic; margin-bottom:20px; font-size:0.95rem; }
.testimonial-author { display:flex; align-items:center; gap:12px; }
.testimonial-author-initials { width:48px; height:48px; background:linear-gradient(135deg,var(--accent),var(--purple)); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:1.1rem; flex-shrink:0; }
.testimonial-name { font-weight:700; color:var(--dark); font-size:0.9rem; }
.testimonial-stars { color:var(--gold); font-size:0.9rem; margin-top:3px; }

/* Carousel controls */
.carousel-controls { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:36px; }
.carousel-btn { width:48px; height:48px; border-radius:50%; border:2px solid var(--gold); background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.25s ease; color:var(--gold); }
.carousel-btn:hover { background:var(--gold); color:#1A0A12; }
.carousel-btn svg { width:20px; height:20px; }
.carousel-dots { display:flex; gap:8px; }
.carousel-dot { width:8px; height:8px; border-radius:50%; background:rgba(200,166,70,0.3); border:none; cursor:pointer; transition:all 0.25s ease; padding:0; }
.carousel-dot.active { background:var(--gold); width:24px; border-radius:4px; }
.stars { color:var(--gold); font-size:0.9rem; letter-spacing:2px; margin-top:2px; }

/* ===== LOCATIONS ===== */
.locations-section { background:#F0EAE0; }
.locations-grid { display:grid; grid-template-columns:1fr; max-width:520px; margin:0 auto; gap:32px; }
.location-card { background:var(--card-bg); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); border-top:4px solid var(--accent); transition:all 0.35s ease; }
.location-card:hover { box-shadow:0 20px 50px rgba(192,58,122,0.2); transform:translateY(-4px); }
.location-card iframe { width:100%; height:220px; border:none; display:block; }
.location-body { padding:28px; }
.location-branch { font-family:'Cinzel',serif; color:var(--accent); font-size:0.8rem; letter-spacing:2px; text-transform:uppercase; margin-bottom:6px; }
.location-name { font-family:'Cinzel',serif; font-size:1.3rem; margin-bottom:16px; }
.location-detail { display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; color:#555; font-size:0.9rem; }
.location-detail svg { width:18px; height:18px; flex-shrink:0; color:var(--gold); margin-top:2px; }
.location-socials { display:flex; gap:12px; margin-top:16px; padding-top:16px; border-top:1px solid rgba(200,166,70,0.2); }
.location-socials a { color:var(--gold); transition:all 0.3s; }
.location-socials a:hover { color:var(--accent); transform:scale(1.2); }
.location-socials svg { width:22px; height:22px; }

/* ===== FRANCHISE CTA ===== */
.franchise-cta { position:relative; background:var(--bg); text-align:center; overflow:hidden; }
.franchise-cta::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:600px; height:600px; background-image:url('/assets/svg/mandala.png'); background-size:cover; opacity:0.05; pointer-events:none; }
.franchise-cta-content { position:relative; z-index:2; }
.franchise-cta h2 { font-size:clamp(1.8rem,4vw,2.8rem); margin-bottom:12px; }
.franchise-cta p { color:#666; max-width:500px; margin:0 auto 28px; line-height:1.8; }

/* ===== FOOTER ===== */
footer { background:var(--footer-bg); position:relative; overflow:hidden; }
.footer-divider { width:100%; height:auto; display:block; }
.footer-floats { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.footer-float { position:absolute; opacity:0.04; }
.footer-float img { filter:sepia(1) hue-rotate(30deg); }
.footer-body { padding:60px 0 40px; position:relative; z-index:2; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px; }
.footer-hours-list { display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }
.footer-hours-row { display:flex; justify-content:space-between; gap:12px; font-size:0.88rem; color:rgba(255,255,255,0.75); }
.footer-hours-row span:first-child { color:var(--gold); font-weight:600; }
.footer-hours-note { font-size:0.78rem; color:rgba(255,255,255,0.5); line-height:1.5; }
.footer-brand .logo-wrap { margin-bottom:16px; }
.footer-brand .logo-wrap img { height:70px; }
.footer-tagline { color:rgba(255,255,255,0.6); font-size:0.85rem; line-height:1.7; margin-bottom:20px; max-width:260px; }
.footer-social { display:flex; gap:12px; flex-wrap:wrap; }
.footer-social a { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid rgba(200,166,70,0.3); border-radius:50%; color:var(--gold); transition:all 0.3s; }
.footer-social a:hover { background:var(--gold); color:var(--nav-bg); border-color:var(--gold); transform:translateY(-3px); }
.footer-social svg { width:18px; height:18px; }
.footer-col-title { font-family:'Cinzel',serif; color:var(--gold); font-size:0.9rem; letter-spacing:2px; text-transform:uppercase; margin-bottom:20px; padding-bottom:10px; border-bottom:1px solid rgba(200,166,70,0.2); }
.footer-branch-name { color:#fff; font-weight:700; font-size:0.95rem; margin-bottom:12px; }
.footer-detail { display:flex; align-items:flex-start; gap:8px; color:rgba(255,255,255,0.6); font-size:0.82rem; margin-bottom:8px; line-height:1.5; }
.footer-detail svg { width:16px; height:16px; flex-shrink:0; color:var(--gold); margin-top:2px; }
.footer-links a { display:block; color:rgba(255,255,255,0.6); font-size:0.85rem; margin-bottom:8px; transition:all 0.3s; padding-left:0; }
.footer-links a:hover { color:var(--gold); padding-left:6px; }
.footer-newsletter { margin-top:20px; }
.footer-newsletter p { color:rgba(255,255,255,0.6); font-size:0.82rem; margin-bottom:10px; }
.newsletter-form { display:flex; gap:0; border:1px solid rgba(200,166,70,0.3); border-radius:6px; overflow:hidden; }
.newsletter-form input { flex:1; background:rgba(255,255,255,0.08); border:none; padding:10px 14px; color:#fff; font-size:0.85rem; outline:none; }
.newsletter-form input::placeholder { color:rgba(255,255,255,0.4); }
.newsletter-form button { background:var(--gold); color:var(--nav-bg); border:none; padding:10px 16px; cursor:pointer; font-size:0.8rem; font-weight:700; white-space:nowrap; transition:background 0.3s; }
.newsletter-form button:hover { background:var(--gold-light); }
.footer-bottom { border-top:1px solid rgba(200,166,70,0.15); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-copy { color:rgba(255,255,255,0.5); font-size:0.8rem; }
.footer-legal { display:flex; gap:20px; }
.footer-legal a { color:rgba(255,255,255,0.5); font-size:0.8rem; transition:color 0.3s; }
.footer-legal a:hover { color:var(--gold); }

/* ===== PAGE BANNERS ===== */
.page-banner { position:relative; height:350px; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-top:120px; }
.page-banner-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.page-banner-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(26,10,18,0.8),rgba(109,46,138,0.6)); }
.page-banner-content { position:relative; z-index:2; text-align:center; }
.page-banner-content .subtitle { color:var(--gold); font-size:0.8rem; letter-spacing:4px; text-transform:uppercase; margin-bottom:12px; }
.page-banner-content h1 { font-size:clamp(2rem,5vw,4rem); color:#fff; }
.breadcrumb { display:flex; gap:8px; align-items:center; justify-content:center; margin-top:16px; }
.breadcrumb a, .breadcrumb span { color:rgba(255,255,255,0.7); font-size:0.85rem; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb .sep { color:var(--gold); }

/* ===== MENU PAGE ===== */
.menu-layout { display:grid; grid-template-columns:280px 1fr; gap:40px; margin-top:40px; }
.menu-sidebar { position:sticky; top:140px; height:fit-content; background:var(--card-bg); border-radius:16px; padding:24px; box-shadow:var(--shadow); border:1px solid rgba(200,166,70,0.2); }
.menu-sidebar-title { font-family:'Cinzel',serif; color:var(--dark); font-size:0.9rem; letter-spacing:2px; text-transform:uppercase; margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid rgba(200,166,70,0.3); }
.sidebar-cat-link { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:8px; cursor:pointer; transition:all 0.25s; margin-bottom:2px; border:none; background:none; width:100%; text-align:left; }
.sidebar-cat-link svg { width:22px; height:22px; flex-shrink:0; }
.sidebar-cat-link span { font-size:0.85rem; color:#555; font-family:'Cinzel',serif; }
.sidebar-cat-link:hover, .sidebar-cat-link.active { background:rgba(192,58,122,0.1); }
.sidebar-cat-link.active span { color:var(--accent); font-weight:700; }
.menu-search-wrap { position:relative; margin-bottom:20px; }
.menu-search { width:100%; padding:12px 16px 12px 44px; border:1px solid rgba(200,166,70,0.3); border-radius:50px; font-size:0.9rem; outline:none; background:var(--card-bg); transition:border-color 0.3s; }
.menu-search:focus { border-color:var(--accent); }
.menu-search-icon { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#aaa; width:18px; height:18px; }
.menu-filters { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px; }
.filter-btn { padding:8px 18px; border-radius:50px; border:1px solid rgba(200,166,70,0.4); background:transparent; font-size:0.8rem; cursor:pointer; transition:all 0.25s; font-family:'Cinzel',serif; color:#666; }
.filter-btn:hover, .filter-btn.active { background:var(--accent); color:#fff; border-color:var(--accent); }
.menu-category-section { margin-bottom:60px; }
.menu-cat-heading { display:flex; align-items:center; gap:16px; margin-bottom:24px; padding-bottom:14px; border-bottom:2px solid rgba(200,166,70,0.3); }
.menu-cat-heading svg { width:32px; height:32px; }
.menu-cat-heading h2 { font-size:1.6rem; color:var(--dark); }
.menu-items-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.menu-item-card { background:var(--card-bg); border-radius:12px; overflow:hidden; box-shadow:0 4px 16px rgba(0,0,0,0.08); border:1px solid transparent; transition:all 0.3s ease; position:relative; }
.menu-item-card:hover { border-color:rgba(200,166,70,0.4); box-shadow:0 12px 32px rgba(192,58,122,0.15); transform:translateY(-4px); }
.menu-item-img { height:180px; overflow:hidden; position:relative; }
.menu-item-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease; }
.menu-item-card:hover .menu-item-img img { transform:scale(1.06); }
.item-badges { position:absolute; top:10px; left:10px; display:flex; gap:6px; flex-wrap:wrap; }
.badge { font-size:0.65rem; font-weight:700; padding:3px 8px; border-radius:50px; text-transform:uppercase; letter-spacing:1px; }
.badge-veg { background:#22c55e; color:#fff; }
.badge-nonveg { background:#ef4444; color:#fff; }
.badge-hot { background:#f97316; color:#fff; }
.badge-best { background:linear-gradient(135deg,#C8A646,#FFE8A3); color:#1A0A12; }
.badge-new { background:var(--purple); color:#fff; }
.best-ribbon { position:absolute; top:10px; right:-8px; background:linear-gradient(135deg,#C8A646,#FFE8A3); color:#1A0A12; font-size:0.6rem; font-weight:900; padding:4px 14px 4px 8px; clip-path:polygon(0 0,100% 0,100% 100%,0 100%,8px 50%); letter-spacing:1px; text-transform:uppercase; }
.menu-item-body { padding:16px; }
.menu-order-btn { display:block; width:100%; margin-top:12px; padding:10px 0; background:var(--gold,#C8A646); color:#1a0a00; font-family:'Cinzel',serif; font-weight:700; font-size:0.78rem; letter-spacing:1px; text-align:center; text-decoration:none; border-radius:4px; transition:background 0.2s, transform 0.15s; }
.menu-order-btn:hover { background:#e0b84d; transform:translateY(-1px); }
.menu-item-name { font-family:'Cinzel',serif; font-size:0.95rem; margin-bottom:6px; color:var(--dark); }
.menu-item-desc { color:#888; font-size:0.8rem; line-height:1.6; margin-bottom:12px; }
.menu-item-prices { display:flex; gap:8px; flex-wrap:wrap; }
.price-tag { background:#FFF8EE; border:1px solid rgba(200,166,70,0.3); border-radius:6px; padding:4px 10px; font-size:0.78rem; }
.price-tag .pl { color:#888; font-size:0.7rem; display:block; }
.price-tag .pv { color:var(--accent); font-weight:700; }

/* ===== FORMS ===== */
.form-section { background:var(--bg); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.form-wrap { background:var(--card-bg); border-radius:20px; padding:40px; box-shadow:var(--shadow); border:1px solid rgba(200,166,70,0.15); }
.form-title { font-family:'Cinzel',serif; font-size:1.5rem; margin-bottom:24px; padding-bottom:16px; border-bottom:2px solid rgba(200,166,70,0.3); }
.form-group { margin-bottom:20px; }
.form-label { display:block; color:var(--dark); font-weight:700; font-size:0.85rem; margin-bottom:6px; }
.form-label span { color:var(--accent); }
.form-control { width:100%; padding:12px 16px; border:1px solid #ddd; border-radius:8px; font-size:0.9rem; font-family:'Lato',sans-serif; outline:none; transition:border-color 0.3s, box-shadow 0.3s; background:#fff; }
.form-control:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(192,58,122,0.1); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-success { background:#f0fff4; border:1px solid #22c55e; border-radius:10px; padding:16px 20px; color:#166534; display:flex; gap:12px; align-items:center; margin-bottom:20px; }
.form-error { background:#fff0f0; border:1px solid #ef4444; border-radius:10px; padding:16px 20px; color:#991b1b; margin-bottom:20px; }

/* ===== ABOUT PAGE ===== */
.about-info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:24px; margin-top:48px; }
.about-info-card { text-align:center; padding:32px 20px; background:var(--card-bg); border-radius:16px; box-shadow:var(--shadow); border:1px solid rgba(200,166,70,0.15); transition:all 0.3s ease; }
.about-info-card:hover { transform:translateY(-4px); box-shadow:0 20px 40px rgba(192,58,122,0.15); border-color:var(--gold); }
.about-info-icon { width:64px; height:64px; background:linear-gradient(135deg,rgba(192,58,122,0.1),rgba(200,166,70,0.1)); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.about-info-icon svg { width:32px; height:32px; color:var(--gold); }
.about-info-card h3 { font-family:'Cinzel',serif; font-size:1rem; margin-bottom:8px; }
.about-info-card p { color:#777; font-size:0.85rem; line-height:1.7; }

/* ===== GALLERY PAGE ===== */
.gallery-filters { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:36px; }
.gallery-item { cursor:pointer; position:relative; border-radius:12px; overflow:hidden; }
.gallery-item img { width:100%; height:250px; object-fit:cover; transition:transform 0.4s ease; display:block; }
.gallery-item:hover img { transform:scale(1.06); }
.gallery-item-overlay { position:absolute; inset:0; background:rgba(192,58,122,0.65); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity 0.3s; }
.gallery-item:hover .gallery-item-overlay { opacity:1; }
.gallery-enlarge { color:#fff; }
.gallery-enlarge svg { width:40px; height:40px; }

/* LIGHTBOX */
.lightbox { position:fixed; inset:0; background:rgba(0,0,0,0.94); z-index:9999; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity 0.3s; }
.lightbox.open { opacity:1; pointer-events:all; }
.lightbox img { max-width:90vw; max-height:85vh; object-fit:contain; border-radius:8px; }
.lightbox-close { position:absolute; top:20px; right:24px; color:#fff; cursor:pointer; font-size:2rem; line-height:1; }
.lightbox-prev, .lightbox-next { position:absolute; top:50%; transform:translateY(-50%); color:#fff; cursor:pointer; font-size:2rem; padding:16px; background:rgba(255,255,255,0.1); border-radius:50%; transition:background 0.3s; }
.lightbox-prev { left:20px; }
.lightbox-next { right:20px; }
.lightbox-prev:hover, .lightbox-next:hover { background:rgba(200,166,70,0.4); }

/* ===== CATERING PAGE ===== */
.accordion-item { border:1px solid rgba(200,166,70,0.2); border-radius:10px; margin-bottom:10px; overflow:hidden; }
.accordion-header { background:var(--card-bg); padding:18px 24px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; transition:background 0.3s; }
.accordion-header:hover, .accordion-header.active { background:rgba(192,58,122,0.08); }
.accordion-header h3 { font-family:'Cinzel',serif; font-size:1rem; color:var(--dark); }
.accordion-icon { font-size:1.5rem; color:var(--gold); transition:transform 0.3s; }
.accordion-header.active .accordion-icon { transform:rotate(45deg); }
.accordion-body { display:none; padding:0 24px 24px; background:var(--card-bg); }
.accordion-header.active + .accordion-body { display:block; }
.catering-table { width:100%; border-collapse:collapse; margin-top:16px; }
.catering-table th { background:var(--nav-bg); color:var(--gold); padding:10px 16px; font-family:'Cinzel',serif; font-size:0.8rem; text-align:left; }
.catering-table td { padding:10px 16px; border-bottom:1px solid rgba(200,166,70,0.1); color:#555; font-size:0.9rem; }
.catering-table tr:last-child td { border-bottom:none; }
.catering-table tr:hover td { background:rgba(192,58,122,0.04); }
.price-col { color:var(--accent); font-weight:700; }

/* ===== ADMIN ===== */
.admin-wrap { display:flex; min-height:100vh; }
.admin-sidebar { width:260px; background:#1A0A12; flex-shrink:0; position:fixed; top:0; left:0; bottom:0; overflow-y:auto; z-index:100; display:flex; flex-direction:column; }
.admin-logo { padding:24px 20px; border-bottom:1px solid rgba(200,166,70,0.2); flex-shrink:0; }
.admin-logo img { height:50px; display:block; }
.admin-nav { display:flex; flex-direction:column; flex:1; padding-bottom:24px; }
.admin-nav a { display:flex !important; align-items:center; gap:12px; padding:13px 24px; color:rgba(255,255,255,0.75) !important; font-size:0.85rem; transition:all 0.25s; border-left:3px solid transparent; text-decoration:none !important; background:transparent; }
.admin-nav a:hover { color:#fff !important; background:rgba(192,58,122,0.2) !important; border-left-color:var(--accent); }
.admin-nav a.active { color:#fff !important; background:rgba(192,58,122,0.25) !important; border-left-color:var(--accent); }
.admin-nav a svg { width:18px; height:18px; flex-shrink:0; stroke:currentColor; }
.admin-nav .nav-section { padding:20px 24px 6px; color:rgba(255,255,255,0.35); font-size:0.65rem; letter-spacing:2px; text-transform:uppercase; display:block; }
.admin-main { margin-left:260px; flex:1; background:#f5f5f5; min-height:100vh; }
.admin-topbar { background:#fff; padding:16px 28px; border-bottom:1px solid #eee; display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; z-index:50; }
.admin-topbar h1 { font-family:'Cinzel',serif; font-size:1.3rem; color:var(--dark); }
.admin-user { display:flex; align-items:center; gap:10px; color:#555; font-size:0.85rem; }
.admin-content { padding:32px 28px; }
.stats-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; margin-bottom:32px; }
.stat-card { background:#fff; border-radius:12px; padding:24px; box-shadow:0 2px 12px rgba(0,0,0,0.07); border-left:4px solid var(--accent); display:flex; justify-content:space-between; align-items:center; }
.stat-card-info h3 { color:#888; font-size:0.8rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:6px; }
.stat-card-info .val { font-family:'Cinzel',serif; font-size:2rem; font-weight:700; color:var(--dark); }
.stat-card-icon { width:52px; height:52px; border-radius:12px; display:flex; align-items:center; justify-content:center; }
.stat-card-icon svg { width:26px; height:26px; color:#fff; }
.admin-table { width:100%; border-collapse:collapse; background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,0.07); }
.admin-table th { background:var(--nav-bg); color:var(--gold); padding:12px 16px; font-family:'Cinzel',serif; font-size:0.78rem; text-align:left; }
.admin-table td { padding:12px 16px; border-bottom:1px solid #f0f0f0; font-size:0.88rem; color:#444; vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:none; }
.admin-table tr:hover td { background:#fafafa; }
.admin-card { background:#fff; border-radius:12px; padding:24px; box-shadow:0 2px 12px rgba(0,0,0,0.07); margin-bottom:24px; }
.admin-card-title { font-family:'Cinzel',serif; font-size:1rem; color:var(--dark); margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid #eee; }
.badge-status-new { background:#fee2e2; color:#991b1b; padding:3px 10px; border-radius:50px; font-size:0.72rem; font-weight:700; }
.badge-status-read { background:#ffedd5; color:#9a3412; padding:3px 10px; border-radius:50px; font-size:0.72rem; font-weight:700; }
.badge-status-replied { background:#dbeafe; color:#1e40af; padding:3px 10px; border-radius:50px; font-size:0.72rem; font-weight:700; }
.badge-status-closed { background:#dcfce7; color:#166534; padding:3px 10px; border-radius:50px; font-size:0.72rem; font-weight:700; }
.btn-admin { padding:8px 16px; border-radius:6px; border:none; cursor:pointer; font-size:0.8rem; font-weight:600; }
.btn-admin-edit { background:#e0f2fe; color:#0369a1; }
.btn-admin-delete { background:#fee2e2; color:#991b1b; }
.btn-admin-primary { background:var(--accent); color:#fff; }
.admin-form-wrap { max-width:800px; }
.admin-form-group { margin-bottom:20px; }
.admin-form-label { display:block; font-weight:600; font-size:0.85rem; color:#333; margin-bottom:6px; }
.admin-form-control { width:100%; padding:10px 14px; border:1px solid #ddd; border-radius:8px; font-size:0.9rem; outline:none; transition:border-color 0.3s; }
.admin-form-control:focus { border-color:var(--accent); }
.admin-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.admin-form-row-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
.toggle-wrap { display:flex; align-items:center; gap:10px; }
.toggle { position:relative; width:44px; height:24px; }
.toggle input { opacity:0; width:0; height:0; }
.slider { position:absolute; inset:0; background:#ccc; border-radius:24px; cursor:pointer; transition:0.3s; }
.slider::before { content:''; position:absolute; height:18px; width:18px; bottom:3px; left:3px; background:#fff; border-radius:50%; transition:0.3s; }
input:checked + .slider { background:var(--accent); }
input:checked + .slider::before { transform:translateX(20px); }
.img-preview { width:100px; height:100px; object-fit:cover; border-radius:8px; border:1px solid #ddd; margin-top:8px; }
.alert-success { background:#f0fff4; border:1px solid #22c55e; color:#166534; padding:12px 16px; border-radius:8px; margin-bottom:20px; }
.alert-error { background:#fff0f0; border:1px solid #ef4444; color:#991b1b; padding:12px 16px; border-radius:8px; margin-bottom:20px; }

/* ADMIN LOGIN */
.admin-login-wrap { min-height:100vh; background:var(--nav-bg); display:flex; align-items:center; justify-content:center; padding:24px; }
.admin-login-card { background:#fff; border-radius:20px; padding:48px 40px; width:100%; max-width:420px; text-align:center; box-shadow:0 20px 60px rgba(0,0,0,0.4); }
.admin-login-card img { height:70px; margin:0 auto 20px; }
.admin-login-card h1 { font-family:'Cinzel',serif; font-size:1.5rem; margin-bottom:6px; }
.admin-login-card p { color:#888; font-size:0.85rem; margin-bottom:28px; }

/* TOAST */
.toast { position:fixed; bottom:24px; right:24px; background:#333; color:#fff; padding:14px 20px; border-radius:10px; font-size:0.9rem; z-index:9999; transform:translateY(100px); opacity:0; transition:all 0.4s; display:flex; gap:10px; align-items:center; max-width:360px; }
.toast.show { transform:translateY(0); opacity:1; }
.toast-success { background:#166534; border-left:4px solid #22c55e; }
.toast-error { background:#991b1b; border-left:4px solid #ef4444; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1200px) {
  .footer-grid { grid-template-columns:1.5fr 1fr 1fr; }
  .footer-grid > .footer-brand { grid-column:1/-1; }
}
@media (max-width: 992px) {
  nav { display:none; }
  .hamburger { display:flex; }
  .mega-menu { display:none !important; }
  .story-grid, .catering-grid, .form-grid, .locations-grid { grid-template-columns:1fr; }
  .masonry-grid { columns:2; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .menu-layout { grid-template-columns:1fr; }
  .menu-sidebar { position:static; height:auto; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .testimonial-card { flex:0 0 calc(50% - 12px); min-width:calc(50% - 12px); }
}
@media (max-width: 768px) {
  .header-contact { display:none; }
  .cat-grid { grid-template-columns:1fr 1fr; }
  .feast-cards { grid-template-columns:1fr; }
  .bs-grid { grid-template-columns:1fr 1fr; }
  .testimonial-card { flex:0 0 100%; min-width:100%; }
  .masonry-grid { columns:1; }
  .footer-grid { grid-template-columns:1fr; }
  .form-row, .admin-form-row, .admin-form-row-3 { grid-template-columns:1fr; }
}
@media (max-width: 576px) {
  .hero-brand { font-size:2.1rem; }
  .cat-grid { grid-template-columns:1fr; }
  .bs-grid { grid-template-columns:1fr; }
  .flip-card { height:auto; perspective:none; }
  .flip-card-inner { transform:none !important; }
  .flip-card-back { display:none; }
  .admin-main { margin-left:0; }
  .admin-sidebar { transform:translateX(-100%); transition:transform 0.3s; }
  .admin-sidebar.open { transform:translateX(0); }
}
