html { scroll-behavior: smooth; }
body { -webkit-tap-highlight-color: transparent; }
::selection { background: #C8A15A; color: #2A1810; }

/* Nav */
#nav .nav-text { color: #F5ECDD; }
#nav .nav-icon-btn { color: #F5ECDD; border: 1px solid rgba(245,236,221,.25); }
#nav.scrolled { background: rgba(251,247,240,.94); backdrop-filter: blur(14px); border-bottom: 1px solid #E8DAC3; }
#nav.scrolled .nav-text { color: #3B2418; }
#nav.scrolled .nav-icon-btn { color: #3B2418; border-color: #E8DAC3; }
.nav-link { position: relative; opacity: .9; transition: opacity .2s; }
.nav-link:hover { opacity: 1; }
.nav-link::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -6px; height: 1px; background: #C8A15A; transition: right .3s; }
.nav-link:hover::after { right: 0; }

/* Hero */
.hero-overlay { background: linear-gradient(180deg, rgba(42,24,16,.35) 0%, rgba(42,24,16,.55) 45%, rgba(42,24,16,.92) 100%); }
.hero-img { animation: heroZoom 18s ease-out forwards; }
@keyframes heroZoom { from { transform: scale(1.08); } to { transform: scale(1); } }

/* Type */
.eyebrow { display: flex; align-items: center; gap: .75rem; font-size: .72rem; letter-spacing: .3em; text-transform: uppercase; color: #C8A15A; font-weight: 600; margin-bottom: 1rem; }
.eyebrow::before { content: ''; width: 28px; height: 1px; background: currentColor; }
.section-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1.02; font-weight: 600; }
.section-title em { color: #C8A15A; font-weight: 500; }

/* Signature cards */
.sig-card { background: #fff; border: 1px solid #E8DAC3; border-radius: 28px; overflow: hidden; display: flex; flex-direction: column; transition: transform .35s, border-color .35s; }
.sig-card:hover { transform: translateY(-4px); border-color: #C8A15A; }
.sig-card .img-wrap { aspect-ratio: 4/3; overflow: hidden; background: #F5ECDD; }
.sig-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.sig-card:hover img { transform: scale(1.05); }

/* Tabs */
.tab { white-space: nowrap; height: 44px; padding: 0 1.25rem; border-radius: 999px; font-size: .875rem; font-weight: 600; border: 1px solid #E8DAC3; background: #fff; color: #6B4430; transition: all .2s; display: inline-flex; align-items: center; gap: .5rem; }
.tab:hover { border-color: #C8A15A; }
.tab.active { background: #3B2418; color: #F5ECDD; border-color: #3B2418; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }

/* Menu rows */
.menu-row { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px dashed #D9C6A8; }
.menu-row .name { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-weight: 600; line-height: 1.15; }
.menu-row .desc { font-size: .82rem; color: #6B4430; margin-top: .2rem; }
.menu-row .price { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; font-weight: 700; white-space: nowrap; }
.add-btn { width: 38px; height: 38px; border-radius: 999px; border: 1px solid #3B2418; display: inline-flex; align-items: center; justify-content: center; transition: all .2s; flex-shrink: 0; }
.add-btn:hover { background: #3B2418; color: #F5ECDD; }
.qty { display: inline-flex; align-items: center; height: 38px; border-radius: 999px; background: #3B2418; color: #F5ECDD; flex-shrink: 0; }
.qty button { width: 34px; height: 38px; display: inline-flex; align-items: center; justify-content: center; }
.qty span { min-width: 18px; text-align: center; font-size: .85rem; font-weight: 700; }
.veg-dot { width: 14px; height: 14px; border: 1.5px solid #2E7D32; border-radius: 3px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.veg-dot::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #2E7D32; }
.veg-dot.nonveg { border-color: #A1371F; }
.veg-dot.nonveg::after { background: #A1371F; }
.tag { font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: #C8A15A; border: 1px solid #C8A15A; border-radius: 999px; padding: .1rem .5rem; margin-left: .4rem; vertical-align: middle; font-family: Manrope, sans-serif; }

/* Gallery */
.gallery-item { position: relative; overflow: hidden; border-radius: 22px; background: #3B2418; min-height: 180px; cursor: zoom-in; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform .7s, opacity .3s; }
.gallery-item:hover img { transform: scale(1.06); opacity: .9; }
@media (max-width: 1023px) { .gallery-item { aspect-ratio: 1; } .gallery-item.col-span-2 { aspect-ratio: 16/10; } .gallery-item.row-span-2:not(.col-span-2) { grid-row: span 1; } }

/* Testimonials */
.testimonial { background: #fff; border: 1px solid #E8DAC3; border-radius: 26px; padding: 2rem; display: flex; flex-direction: column; gap: 1.25rem; }
.testimonial .stars { color: #C8A15A; letter-spacing: .2em; }
.testimonial blockquote { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; line-height: 1.35; flex: 1; }
.testimonial figcaption { display: flex; align-items: center; gap: .75rem; }
.avatar { width: 40px; height: 40px; border-radius: 999px; background: #F5ECDD; color: #3B2418; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }

/* Visit */
.info-icon { width: 46px; height: 46px; border-radius: 14px; background: rgba(245,236,221,.08); color: #C8A15A; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.map-frame { border: 0; filter: grayscale(.4) sepia(.25); }

/* Footer social */
.social-btn { width: 42px; height: 42px; border-radius: 999px; border: 1px solid rgba(245,236,221,.2); display: inline-flex; align-items: center; justify-content: center; color: #F5ECDD; transition: all .2s; }
.social-btn:hover { background: #C8A15A; color: #2A1810; border-color: #C8A15A; }

/* Drawer */
.field { width: 100%; height: 46px; padding: 0 1rem; border-radius: 14px; border: 1px solid #E8DAC3; background: #FBF7F0; font-size: .875rem; color: #3B2418; }
.field:focus { outline: none; border-color: #C8A15A; }
.cart-row { display: flex; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid #E8DAC3; }
body.drawer-open #overlay { opacity: 1; pointer-events: auto; }
body.drawer-open #drawer { transform: translateX(0); }
body.drawer-open { overflow: hidden; }

/* Toast */
#toast.show { opacity: 1; transform: translate(-50%, 0); }

/* Reveal */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s ease; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; } .hero-img { animation: none; } }
