/* ═══════════════════════════════════════════════════════════
   The Indian Club Mannheim — Main Stylesheet
   ═══════════════════════════════════════════════════════════ */

/* ─── RESET & ROOT ────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --near-black:  #000000;
  --dark-brown:  #0A0602;
  --rich-brown:  #100A02;
  --deep-red:    #1A1000;
  --amber:       #C9930C;
  --gold:        #E8B84B;
  --gold-lt:     #F5D98A;
  --cream:       #F5EDD8;
  --white:       #FFFFFF;
  --text-body:   rgba(245,237,216,0.78);
  --text-muted:  rgba(245,237,216,0.48);
  --f-xs:   0.8125rem;
  --f-sm:   1rem;
  --f-base: 1.125rem;
  --f-lg:   1.375rem;
  --f-xl:   1.625rem;
  --f-2xl:  2.25rem;
  --f-3xl:  3rem;
  --f-4xl:  4rem;
}

html{scroll-behavior:smooth}
body{
  font-family:'Jost',sans-serif;
  font-size:var(--f-base);
  line-height:1.75;
  background:var(--near-black);
  color:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;object-fit:cover}

/* ─── NAVBAR ──────────────────────────────────────────────── */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 64px;
  background:linear-gradient(to bottom,rgba(21,14,15,0.96) 0%,rgba(21,14,15,0) 100%);
  transition:background .4s, padding .35s;
  gap:24px;
}
.navbar.solid{
  background:rgba(21,14,15,0.97);
  padding:14px 64px;
  box-shadow:0 1px 28px rgba(0,0,0,0.55);
}
.nav-brand{line-height:1.1;flex-shrink:0}
.nav-links{display:flex;gap:36px;list-style:none}
.nav-links a{
  font-size:0.875rem;letter-spacing:2px;text-transform:uppercase;
  color:rgba(248,234,216,0.88);font-weight:500;transition:color .25s;white-space:nowrap;
}
.nav-links a:hover{color:var(--amber)}
.nav-cta{
  font-size:0.875rem;letter-spacing:2px;text-transform:uppercase;
  font-weight:600;border:1px solid var(--amber);color:var(--amber);
  padding:10px 24px;transition:all .25s;white-space:nowrap;flex-shrink:0;
}
.nav-cta:hover{background:var(--amber);color:var(--near-black)}
.lang-switcher{display:flex;align-items:center;gap:6px;margin-left:8px;}
.lang-btn{
  background:transparent;
  border:1px solid rgba(193,163,130,0.35);
  color:rgba(248,234,216,0.55);
  font-family:'Jost',sans-serif;
  font-size:0.72rem;letter-spacing:2px;text-transform:uppercase;
  font-weight:600;padding:5px 10px;cursor:pointer;
  transition:all .25s;
}
.lang-btn:hover{border-color:var(--amber);color:var(--amber)}
.lang-btn.active{background:var(--amber);border-color:var(--amber);color:var(--near-black)}
.lang-sep{color:rgba(193,163,130,0.25);font-size:0.7rem}
.nav-toggle{
  display:none;background:none;border:none;cursor:pointer;
  flex-direction:column;gap:5px;padding:4px;
}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--cream);transition:all .3s}
.mobile-nav{
  display:none;position:fixed;inset:0;z-index:190;
  background:rgba(10,6,2,0.98);padding:100px 40px 40px;
  flex-direction:column;
}
.mobile-nav.open{display:flex}
.mobile-nav ul{list-style:none;display:flex;flex-direction:column;gap:20px}
.mobile-nav ul li a{
  font-size:1.2rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--cream);font-weight:300;
}
.mobile-cta{
  display:inline-block;margin-top:8px;
  border:1px solid var(--amber);color:var(--amber);
  padding:12px 24px;font-size:0.875rem;letter-spacing:2px;text-transform:uppercase;
}

/* ─── HERO DISH CARDS ANIMATION ──────────────────────────── */
/* Removed floating card boxes — replaced with full-bg slideshow */

/* Full-screen background image slideshow */
.hero-bg-slides{
  position:absolute;inset:0;z-index:0;overflow:hidden;
}
.hero-slide{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  animation:heroSlide 24s ease-in-out infinite;
  transform:scale(1.05);
}
.hero-slide:nth-child(1){ animation-delay:0s;  background-image:url('/assets/images/hero1.jpg'); background-position:center 60%; }
.hero-slide:nth-child(2){ animation-delay:8s;  background-image:url('/assets/images/hero2.jpg'); background-position:center center; }
.hero-slide:nth-child(3){ animation-delay:16s; background-image:url('/assets/images/hero3.jpg'); background-position:center 40%; }

@keyframes heroSlide{
  0%   { opacity:0;   transform:scale(1.08); }
  8%   { opacity:1;   transform:scale(1.04); }
  33%  { opacity:1;   transform:scale(1.0);  }
  40%  { opacity:0;   transform:scale(0.98); }
  100% { opacity:0;   transform:scale(1.08); }
}

/* Dark overlay — enough to keep logo readable */
.hero-bg-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0.45) 0%,
    rgba(0,0,0,0.25) 40%,
    rgba(0,0,0,0.60) 100%
  );
}

/* Floating sparks / embers */
.hero-spark{
  position:absolute;z-index:2;
  color:var(--amber);
  font-size:0.6rem;
  opacity:0;
  animation:sparkRise 6s ease-in infinite;
  filter:drop-shadow(0 0 4px rgba(201,147,12,0.9));
}
.s1{ left:15%; bottom:20%; animation-delay:0s;  animation-duration:7s;  font-size:0.5rem; }
.s2{ left:30%; bottom:10%; animation-delay:2s;  animation-duration:9s;  }
.s3{ left:60%; bottom:15%; animation-delay:4s;  animation-duration:6s;  font-size:0.4rem; }
.s4{ left:75%; bottom:25%; animation-delay:1s;  animation-duration:8s;  font-size:0.7rem; color:var(--gold); }
.s5{ left:50%; bottom:8%;  animation-delay:5s;  animation-duration:10s; font-size:0.45rem;}

@keyframes sparkRise{
  0%  { opacity:0;   transform:translateY(0)     rotate(0deg);  }
  20% { opacity:0.9; transform:translateY(-30px)  rotate(20deg); }
  80% { opacity:0.5; transform:translateY(-90px)  rotate(-10deg);}
  100%{ opacity:0;   transform:translateY(-130px) rotate(30deg); }
}

@media(max-width:768px){
  .hero-spark{ display:none; }
}


.hero{
  position:relative;height:100vh;min-height:680px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:#000;
}
/* remove old overlay — handled by hero-bg-overlay */
.hero-overlay{ display:none; }
.hero-bg-img{ display:none; }

/* Centered content block */
.hero-center{
  position:relative;z-index:2;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;
  padding:0 32px;
  width:100%;
}
.hero-logo-img{
  width:min(520px,76vw);
  height:auto;display:block;
  margin:0 auto 32px;
  object-fit:contain;
  filter:drop-shadow(0 4px 32px rgba(0,0,0,0.75)) drop-shadow(0 0 60px rgba(201,147,12,0.4));
  animation:heroLogoFade 1.4s ease both;
}
@keyframes heroLogoFade{
  from{opacity:0;transform:translateY(-14px) scale(0.96);}
  to{opacity:1;transform:none;}
}
.hero-rule{
  display:flex;align-items:center;justify-content:center;gap:12px;
  width:260px;margin:0 auto 18px;
}
.hero-rule::before,.hero-rule::after{
  content:'';flex:1;height:1px;
  background:linear-gradient(to right,transparent,rgba(201,147,12,0.8));
}
.hero-rule::after{background:linear-gradient(to left,transparent,rgba(201,147,12,0.8))}
.hero-rule span{width:6px;height:6px;background:var(--amber);transform:rotate(45deg);display:block;box-shadow:0 0 8px rgba(201,147,12,0.9)}
.hero-tagline{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(0.85rem,1.8vw,1.05rem);
  letter-spacing:5px;text-transform:uppercase;
  font-weight:500;margin-bottom:32px;
  color:var(--gold-lt);
  text-shadow:0 2px 12px rgba(0,0,0,0.9);
}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
/* keep old .hero-body hidden if it ever appears */
.hero-body{display:none;}
.hero-scroll{
  position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2;
}
.hero-scroll span{font-size:0.75rem;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted)}
.scroll-bar{width:1px;height:44px;background:linear-gradient(to bottom,var(--amber),transparent);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}

/* ─── BUTTONS ─────────────────────────────────────────────── */
.btn{
  display:inline-block;
  font-size:var(--f-xs);letter-spacing:2.5px;
  text-transform:uppercase;font-weight:600;
  padding:15px 40px;transition:all .3s;cursor:pointer;
  font-family:'Jost',sans-serif;border:none;
}
.btn-amber{
  background:linear-gradient(135deg,var(--amber) 0%,#E8A020 100%);
  color:#000;box-shadow:0 4px 18px rgba(201,147,12,0.35);
}
.btn-amber:hover{background:linear-gradient(135deg,var(--gold) 0%,var(--amber) 100%);transform:translateY(-2px);box-shadow:0 8px 28px rgba(201,147,12,0.5)}
.btn-outline{border:1px solid var(--amber);color:var(--gold-lt);background:rgba(0,0,0,0.35)}
.btn-outline:hover{background:var(--amber);color:#000}

/* ─── GOLD STRIP ──────────────────────────────────────────── */
.strip{
  background:linear-gradient(135deg,var(--amber) 0%,#B8820A 100%);
  color:#000;padding:16px 64px;
  display:flex;align-items:center;justify-content:center;gap:48px;
  font-size:0.8125rem;letter-spacing:3.5px;text-transform:uppercase;font-weight:700;
}
.strip-sep{width:3px;height:3px;border-radius:50%;background:#000;opacity:0.3}

/* ─── SECTION COMMONS ─────────────────────────────────────── */
.section{padding:108px 64px}
.eyebrow{
  display:flex;align-items:center;gap:12px;
  font-size:var(--f-xs);letter-spacing:4px;text-transform:uppercase;
  color:var(--amber);font-weight:600;margin-bottom:18px;
}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--amber);flex-shrink:0}
.heading-serif{
  font-family:'Cormorant Garamond',serif;
  font-weight:300;line-height:1.15;letter-spacing:0.5px;
  font-size:clamp(var(--f-3xl),3.8vw,var(--f-4xl));
  margin-bottom:0;
}
.heading-serif em{font-style:italic;color:var(--amber)}
.body-text{font-size:var(--f-base);line-height:1.85;color:var(--text-body);font-weight:300;max-width:50ch}
.body-text+.body-text{margin-top:18px}
.divider-ornament{display:flex;align-items:center;gap:10px;margin:20px 0 24px}
.div-line{width:44px;height:1px;background:rgba(193,163,130,0.45)}
.div-gem{color:var(--gold);font-size:0.9rem;line-height:1}

/* ─── ABOUT ───────────────────────────────────────────────── */
.about{background:#1C1108}
.about-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-text .btn-amber{margin-top:36px;display:inline-block}
.about-visual{position:relative;padding:0 0 28px 0}
.about-img{width:100%;aspect-ratio:4/5;overflow:hidden;position:relative}
.about-img img{width:100%;height:100%;object-fit:cover;filter:brightness(0.9) contrast(1.05) saturate(1.1);transition:transform .6s ease}
.about-img:hover img{transform:scale(1.03)}
.about-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(21,14,15,0.4))}
.about-badge{
  position:absolute;bottom:0;right:-8px;
  background:var(--deep-red);width:116px;height:116px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;
}
.about-badge-num{font-family:'Cormorant Garamond',serif;font-size:var(--f-3xl);font-weight:600;color:var(--amber);line-height:1}
.about-badge-txt{font-size:0.75rem;letter-spacing:2px;text-transform:uppercase;color:rgba(248,234,216,0.6);margin-top:4px;line-height:1.4}

/* ─── DAILY CARD ──────────────────────────────────────────── */
.daily-card-section{
  background:linear-gradient(135deg,#150E05,#1C1108);
  padding:80px 64px;
  border-top:1px solid rgba(201,147,12,0.2);
  border-bottom:1px solid rgba(201,147,12,0.2);
}
.daily-card-inner{max-width:900px;margin:0 auto;text-align:center}
.daily-card-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:var(--f-xs);letter-spacing:5px;text-transform:uppercase;
  color:var(--amber);font-weight:600;margin-bottom:28px;
}
.daily-card-box{
  border:1px solid rgba(201,147,12,0.3);
  padding:44px 56px;
  position:relative;
  background:rgba(0,0,0,0.3);
}
.daily-card-box::before{
  content:'✦ TODAY\'S SPECIAL ✦';
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:#1C1108;padding:0 16px;
  font-size:0.72rem;letter-spacing:4px;color:var(--amber);font-weight:700;
  white-space:nowrap;
}
.daily-card-img{
  width:100%;max-height:280px;object-fit:cover;
  margin-bottom:28px;filter:brightness(0.9) saturate(1.1);
}
.daily-card-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.8rem,3vw,2.6rem);font-weight:300;
  color:var(--cream);margin-bottom:12px;line-height:1.2;
}
.daily-card-desc{
  color:var(--text-body);font-size:var(--f-base);
  line-height:1.8;max-width:60ch;margin:0 auto 20px;font-weight:300;
}
.daily-card-price{
  font-family:'Cormorant Garamond',serif;
  font-size:var(--f-2xl);color:var(--amber);font-weight:600;
}

/* ─── MENU HIGHLIGHTS ─────────────────────────────────────── */
.menu-section{background:var(--near-black)}
.menu-inner{max-width:1200px;margin:0 auto}
.menu-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px}
.menu-header-link{
  font-size:var(--f-xs);letter-spacing:2px;text-transform:uppercase;
  color:var(--amber);font-weight:500;border-bottom:1px solid rgba(193,163,130,0.3);padding-bottom:2px;transition:border-color .25s;
}
.menu-header-link:hover{border-color:var(--amber)}
.dishes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.dish-card{position:relative;overflow:hidden;background:var(--dark-brown);cursor:default}
.dish-card-img{height:240px;overflow:hidden;position:relative}
.dish-card-img img{height:100%;object-fit:cover;transition:transform .55s ease;filter:brightness(0.88) saturate(1.1)}
.dish-card:hover .dish-card-img img{transform:scale(1.07)}
.dish-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(21,14,15,0.6))}
.dish-card-body{padding:24px 26px 28px;background:linear-gradient(135deg,#1C1108,#2A1508);transition:background .35s}
.dish-card:hover .dish-card-body{background:linear-gradient(135deg,#261508,#3A1E08)}
.dish-num{font-family:'Cormorant Garamond',serif;font-size:var(--f-base);color:rgba(193,163,130,0.3);display:block;margin-bottom:8px}
.dish-name{font-family:'Cormorant Garamond',serif;font-size:var(--f-xl);font-weight:400;line-height:1.2;margin-bottom:8px;color:var(--cream)}
.dish-desc{font-size:var(--f-sm);color:var(--text-muted);line-height:1.7;font-weight:300;margin-bottom:16px}
.dish-meta{display:flex;justify-content:space-between;align-items:center}
.dish-price{font-family:'Cormorant Garamond',serif;font-size:var(--f-xl);color:var(--amber);font-weight:600}
.dish-tag{font-size:0.78rem;letter-spacing:2px;text-transform:uppercase;color:rgba(248,234,216,0.3)}
.dish-featured-badge{
  position:absolute;top:16px;right:16px;z-index:2;
  font-size:0.78rem;letter-spacing:2px;text-transform:uppercase;
  background:var(--amber);color:var(--near-black);padding:4px 10px;font-weight:700;
}

/* ─── FULL MENU SECTION ───────────────────────────────────── */
.full-menu-section{background:var(--near-black);padding:100px 0 80px;border-top:1px solid rgba(244,146,0,0.15)}
.full-menu-inner{max-width:1200px;margin:0 auto;padding:0 48px}
.fm-header{text-align:center;margin-bottom:56px}
.fm-subtitle{color:rgba(248,234,216,0.55);font-size:1rem;letter-spacing:2px;margin-top:12px}
.fm-rule{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px auto 0;width:280px}
.fm-rule::before,.fm-rule::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(244,146,0,0.6))}
.fm-rule::after{background:linear-gradient(to left,transparent,rgba(244,146,0,0.6))}
.fm-rule span{width:6px;height:6px;background:var(--amber);transform:rotate(45deg);display:block}
.fm-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:52px;border-bottom:1px solid rgba(244,146,0,0.12);padding-bottom:0}
.fm-tab{
  font-family:'Jost',sans-serif;
  font-size:0.78rem;letter-spacing:2px;text-transform:uppercase;
  font-weight:600;color:rgba(248,234,216,0.45);
  background:none;border:none;cursor:pointer;
  padding:14px 22px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .25s;
}
.fm-tab:hover{color:var(--amber)}
.fm-tab.active{color:var(--amber);border-bottom-color:var(--amber)}
.fm-category{display:none}
.fm-category.active{display:block}
.fm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.fm-item{
  background:rgba(255,255,255,0.03);border:1px solid rgba(193,163,130,0.1);
  padding:28px 32px;transition:background .25s,border-color .25s;
}
.fm-item:hover{background:rgba(244,146,0,0.05);border-color:rgba(244,146,0,0.25)}
.fm-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px}
.fm-name{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:500;color:var(--cream)}
.fm-price{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:var(--amber);white-space:nowrap;flex-shrink:0}
.fm-desc{color:rgba(248,234,216,0.52);font-size:0.9rem;line-height:1.65;margin-bottom:12px}
.fm-badge{display:inline-block;font-size:0.68rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;padding:3px 10px;border-radius:2px;background:rgba(193,163,130,0.12);color:rgba(193,163,130,0.7)}
.fm-badge.veg{background:rgba(80,160,80,0.15);color:#6dbf6d}
.fm-badge.vegan{background:rgba(80,160,80,0.15);color:#6dbf6d}
.fm-badge.hot{background:rgba(200,50,20,0.18);color:#e07060}
.fm-badge.chef{background:rgba(244,146,0,0.15);color:var(--amber)}
.fm-footer-note{margin-top:56px;padding-top:32px;border-top:1px solid rgba(193,163,130,0.1);text-align:center;color:rgba(248,234,216,0.5);font-size:0.9rem;line-height:2}

/* ─── QUOTE BANNER ────────────────────────────────────────── */
.quote-banner{position:relative;padding:120px 64px;overflow:hidden;text-align:center}
.quote-banner-img{position:absolute;inset:0;background-size:cover;background-position:center 40%}
.quote-banner-overlay{position:absolute;inset:0;background:rgba(21,14,15,0.72)}
.quote-inner{position:relative;z-index:2;max-width:760px;margin:0 auto}
.quote-inner blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(var(--f-2xl),3vw,var(--f-3xl));font-weight:300;font-style:italic;line-height:1.5;color:var(--cream);margin-bottom:28px}
.quote-inner cite{font-size:var(--f-xs);letter-spacing:3px;text-transform:uppercase;color:var(--amber);font-style:normal;font-weight:500}

/* ─── EXPERIENCE PILLARS ──────────────────────────────────── */
.experience{background:#1C1108}
.experience-inner{max-width:1200px;margin:0 auto;text-align:center}
.experience-inner .eyebrow{justify-content:center}
.experience-inner .heading-serif{margin-bottom:20px}
.experience-intro{font-size:var(--f-base);color:var(--text-body);max-width:54ch;margin:0 auto 72px;line-height:1.85;font-weight:300}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.pillar{background:var(--near-black);padding:52px 28px;text-align:center;transition:background .3s;border-top:2px solid transparent}
.pillar:hover{background:#1C1108;border-top-color:var(--amber)}
.pillar-icon{font-size:1.8rem;margin-bottom:22px;display:block}
.pillar-title{font-family:'Cormorant Garamond',serif;font-size:var(--f-xl);font-weight:400;color:var(--amber);margin-bottom:12px}
.pillar-text{font-size:var(--f-sm);color:var(--text-muted);line-height:1.75;font-weight:300}

/* ─── GALLERY GRID ────────────────────────────────────────── */
.gallery{padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:280px 280px;gap:3px}
.gallery-item{overflow:hidden;position:relative}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:brightness(0.85) saturate(1.15)}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item.tall{grid-row:span 2}
.gallery-item.wide{grid-column:span 2}
.gallery-overlay{position:absolute;inset:0;background:rgba(21,14,15,0);transition:background .35s;display:flex;align-items:flex-end;padding:20px}
.gallery-item:hover .gallery-overlay{background:rgba(21,14,15,0.3)}
.gallery-label{font-size:var(--f-xs);letter-spacing:2px;text-transform:uppercase;color:rgba(248,234,216,0);font-weight:500;transition:color .35s}
.gallery-item:hover .gallery-label{color:var(--cream)}

/* ─── TESTIMONIALS ────────────────────────────────────────── */
.testimonials{background:var(--near-black)}
.testimonials-inner{max-width:1200px;margin:0 auto}
.testimonials-inner .eyebrow,.testimonials-inner .heading-serif{text-align:center}
.testimonials-inner .eyebrow{justify-content:center;margin-bottom:16px}
.testimonials-inner .heading-serif{margin-bottom:60px}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.t-card{background:#1C1108;padding:44px 36px;border-bottom:2px solid transparent;transition:border-color .3s}
.t-card:hover{border-bottom-color:var(--amber)}
.t-stars{color:var(--amber);letter-spacing:3px;font-size:var(--f-sm);margin-bottom:22px}
.t-quote{font-family:'Cormorant Garamond',serif;font-size:var(--f-lg);font-style:italic;font-weight:300;line-height:1.75;color:rgba(248,234,216,0.85);margin-bottom:28px}
.t-author strong{font-size:var(--f-sm);display:block;margin-bottom:3px;color:var(--cream)}
.t-author span{font-size:var(--f-xs);color:var(--text-muted);letter-spacing:0.5px}

/* ─── RESERVATION CTA ─────────────────────────────────────── */
.reservation{position:relative;padding:140px 64px;text-align:center;overflow:hidden}
.reservation-img{position:absolute;inset:0;background-size:cover;background-position:center}
.reservation-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(21,14,15,0.88),rgba(63,34,5,0.75),rgba(21,14,15,0.88))}
.reservation-inner{position:relative;z-index:2;max-width:680px;margin:0 auto}
.reservation-inner .eyebrow{justify-content:center;margin-bottom:20px}
.reservation-inner .heading-serif{margin-bottom:16px;font-size:clamp(var(--f-3xl),4.5vw,var(--f-4xl))}
.reservation-inner p{font-size:var(--f-base);color:var(--text-body);margin-bottom:44px;font-weight:300}
.reservation-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ─── FOOTER ──────────────────────────────────────────────── */
footer{background:#0D0808;padding:80px 64px 32px}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:56px;padding-bottom:56px;border-bottom:1px solid rgba(193,163,130,0.12);margin-bottom:32px}
.footer-brand p{font-size:var(--f-sm);color:var(--text-muted);line-height:1.85;font-weight:300;max-width:300px}
.footer-col-title{font-size:0.8125rem;letter-spacing:3.5px;text-transform:uppercase;color:var(--amber);margin-bottom:22px;font-weight:600;display:block}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a,.footer-col address{font-size:var(--f-sm);color:rgba(248,234,216,0.75);font-weight:300;line-height:1.85;transition:color .25s;font-style:normal}
.footer-col ul li a:hover{color:var(--cream)}
.footer-bottom{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.footer-bottom p{font-size:0.8125rem;color:rgba(248,234,216,0.35);letter-spacing:0.5px}
.social-row{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.social-btn{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:4px;font-size:0.75rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;transition:all .25s;border:1px solid rgba(193,163,130,0.2);color:rgba(248,234,216,0.7)}
.social-btn:hover{border-color:var(--amber);color:var(--amber);background:rgba(244,146,0,0.08)}
.social-btn svg{flex-shrink:0}

/* ─── BOOKING MODAL ───────────────────────────────────────── */
.modal-backdrop{
  position:fixed;inset:0;z-index:1000;
  background:rgba(10,7,5,0.88);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:24px;opacity:0;pointer-events:none;transition:opacity .35s ease;
}
.modal-backdrop.open{opacity:1;pointer-events:all}
.modal{
  background:#1C1108;border:1px solid rgba(193,163,130,0.18);
  width:100%;max-width:640px;max-height:90vh;overflow-y:auto;
  position:relative;transform:translateY(28px) scale(0.97);transition:transform .35s ease;
}
.modal-backdrop.open .modal{transform:translateY(0) scale(1)}
.modal-header{padding:36px 40px 24px;border-bottom:1px solid rgba(193,163,130,0.12);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.modal-title{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:300;line-height:1.2}
.modal-title em{font-style:italic;color:var(--amber)}
.modal-close{background:none;border:none;cursor:pointer;color:rgba(248,234,216,0.45);font-size:1.4rem;line-height:1;transition:color .2s;padding:4px;flex-shrink:0;margin-top:4px}
.modal-close:hover{color:var(--amber)}
.modal-body{padding:28px 40px 40px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.form-group.full{grid-column:1/-1}
.form-group label{font-size:0.8rem;letter-spacing:3px;text-transform:uppercase;color:var(--amber);font-weight:600}
.form-group input,.form-group select,.form-group textarea{
  background:rgba(248,234,216,0.05);border:1px solid rgba(193,163,130,0.2);
  color:var(--cream);padding:12px 16px;
  font-size:0.9375rem;font-family:'Jost',sans-serif;font-weight:300;
  width:100%;transition:border-color .25s,background .25s;outline:none;
  -webkit-appearance:none;appearance:none;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--amber);background:rgba(244,146,0,0.06)}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(248,234,216,0.3)}
.form-group select option{background:#1C1108;color:var(--cream)}
.form-group textarea{resize:vertical;min-height:88px;line-height:1.6}
.form-group input.error,.form-group select.error{border-color:#c0392b}
.form-submit{width:100%;margin-top:8px;font-size:0.875rem;letter-spacing:3px;text-transform:uppercase;font-weight:700;padding:16px;cursor:pointer;background:var(--amber);color:var(--near-black);border:none;font-family:'Jost',sans-serif;transition:background .25s,transform .2s}
.form-submit:hover{background:#ffaa20;transform:translateY(-1px)}
.modal-success{padding:60px 40px;text-align:center;display:none}
.modal-success.show{display:block}
.modal-body.hide{display:none}
.success-icon{font-size:3rem;margin-bottom:20px}
.success-title{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;margin-bottom:12px}
.success-msg{font-size:var(--f-sm);color:var(--text-body);line-height:1.8;margin-bottom:28px}
.success-close{font-size:0.875rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;border:1px solid var(--amber);color:var(--amber);padding:12px 28px;cursor:pointer;background:none;font-family:'Jost',sans-serif;transition:all .25s}
.success-close:hover{background:var(--amber);color:var(--near-black)}

/* ─── FLASH MESSAGES ──────────────────────────────────────── */
.flash{
  padding:16px 24px;margin:0;
  font-size:var(--f-sm);font-weight:400;
  border-left:3px solid var(--amber);
  background:rgba(201,147,12,0.12);color:var(--cream);
}
.flash.success{border-color:#4CAF50;background:rgba(76,175,80,0.12)}
.flash.error{border-color:#c0392b;background:rgba(192,57,43,0.12)}

/* ─── PAGE HERO (interior pages) ─────────────────────────── */
.page-hero{
  padding:160px 64px 80px;text-align:center;
  background:linear-gradient(135deg,#0A0602,#1C1108);
  border-bottom:1px solid rgba(201,147,12,0.15);
}
.page-hero .eyebrow{justify-content:center}
.page-hero .heading-serif{font-size:clamp(var(--f-2xl),3.5vw,var(--f-3xl))}

/* ─── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:1024px){
  .navbar{padding:18px 32px}
  .navbar.solid{padding:12px 32px}
  .nav-links{gap:20px}
  .section{padding:80px 32px}
  .about-grid{gap:48px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .pillars{grid-template-columns:repeat(2,1fr)}
  .dishes-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .navbar{padding:16px 20px}
  .navbar.solid{padding:12px 20px}
  .nav-brand{display:none}
  .nav-links,.nav-cta,.lang-switcher{display:none}
  .nav-toggle{display:flex}
  .section{padding:60px 20px}
  .about-grid{grid-template-columns:1fr;gap:40px}
  .dishes-grid{grid-template-columns:1fr}
  .t-grid{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gallery-item.tall,.gallery-item.wide{grid-row:auto;grid-column:auto}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .strip{padding:12px 20px;gap:20px;flex-wrap:wrap}
  .fm-grid{grid-template-columns:1fr}
  .full-menu-inner{padding:0 20px}
  .fm-tab{padding:10px 14px;font-size:0.7rem}
  .modal-body{padding:20px 24px 32px}
  .modal-header{padding:24px 24px 16px}
  .form-row{grid-template-columns:1fr}
  .reservation{padding:80px 20px}
  .quote-banner{padding:80px 20px}
  .daily-card-box{padding:28px 24px}
  .hero-btns{flex-direction:column;align-items:center}
}
