/* Bollywood Bar • Indian Fusion — vibrant, soulful, neon */
:root{--heading-font:'Monoton','Bebas Neue',system-ui,sans-serif;--header-h:64px;
  --red:#e6212b;
  --gold:#f4d27a;
  --gold-deep:#d6b454;
  --ink:#0a0a0c;
  --white:#ffffff;
  --neon:#24c6ff;
  --bg:#0a0a0f;
  --card:#12121b;
  --muted:#b7bac6;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: 'Josefin Sans', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:var(--white);
  background: radial-gradient(1000px 500px at 80% -10%, rgba(36,198,255,.25), transparent 60%),
              radial-gradient(800px 400px at -10% 110%, rgba(230,33,43,.25), transparent 60%),
              var(--bg);
  line-height:1.6;
}

/* NAV */

.nav{max-width:1200px;margin:auto;padding:10px 16px;display:flex;align-items:center;gap:16px;position:relative;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--white);font-weight:800;letter-spacing:.5px}
.brand img{height:72px;width:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.nav-links{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center;margin-left:auto}
.nav-links a{color:var(--white);text-decoration:none;opacity:.9}
.nav-ctas{margin-left:auto;display:flex;gap:10px;align-items:center}
.hamburger{display:none;background:none;border:0;cursor:pointer;min-width:44px;min-height:44px;padding:8px;border-radius:10px;z-index:2800;}
.hamburger span{display:block;width:3px;height:22px;background:var(--white);margin:0 3px;border-radius:2px}

/* Buttons */
.btn{display:inline-block;padding:10px 18px;border-radius:14px;text-decoration:none;font-weight:700}
.btn-solid{background:linear-gradient(135deg, var(--red), #ff6a6a);color:#fff;box-shadow:0 8px 18px rgba(230,33,43,.35)}
.btn-outline{border:2px solid var(--gold);color:var(--gold);background:transparent}
.btn-lg{padding:14px 26px;border-radius:18px}

/* HERO */
.hero{position:relative;height:88vh;min-height:520px;display:grid;place-items:center;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.2) contrast(1.05) brightness(.8)}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 60%, rgba(10,10,15,.0), rgba(10,10,15,.65) 70% 100%)}
.hero-content{position:relative;text-align:center;max-width:920px;padding:0 20px;display:flex;flex-direction:column;align-items:center}
.hero h1{font-family:'Bebas Neue',system-ui,sans-serif;margin:0;font-size:clamp(42px,7vw,120px);line-height:.9;text-transform:uppercase}
.hero h1 small{display:block;font-size:clamp(16px,2.6vw,34px);letter-spacing:3px;color:var(--gold)}
.neon{color:#fff;text-shadow:0 0 10px var(--neon), 0 0 30px var(--neon)}
.hero p{margin:14px auto 26px;color:#f3f5ff;max-width:700px;opacity:.95}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.status{margin-top:8px;font-weight:700;color:var(--gold)}

/* Spotlights sweep */
.spotlights{
  position:absolute; inset:0; pointer-events:none; overflow:hidden;
  background:
    conic-gradient(from 200deg at 20% -10%, rgba(255,255,255,.12), transparent 40%),
    conic-gradient(from 340deg at 80% 110%, rgba(255,255,255,.10), transparent 40%);
  mix-blend-mode: screen;
  animation: sweep 6s linear infinite;
}
@keyframes sweep{
  0%{ transform: translateX(-10%) }
  50%{ transform: translateX(10%) }
  100%{ transform: translateX(-10%) }
}

/* Wide marquee banner above hero title */
.marquee-banner{
  display:inline-block;
  margin: 0 auto 14px;
  padding: 8px 18px;
  border-radius: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color:#fff;
  border:1px solid rgba(36,198,255,.7);
  box-shadow: 0 0 14px rgba(36,198,255,.6), inset 0 0 14px rgba(36,198,255,.25);
  background: linear-gradient(180deg, rgba(10,10,15,.85), rgba(10,10,15,.55));
}

/* Marquee bulbs */
.marquee-lights{
  position:absolute; left:0; right:0; bottom:0; height:18px;
  background: radial-gradient(circle at 10px 9px, #fff 0 4px, #f8d65e 4px 7px, #a26e23 7px 9px, transparent 9px) repeat-x;
  background-size:40px 18px; filter:drop-shadow(0 -4px 12px rgba(255,200,0,.4));
  opacity:.9; pointer-events:none;
}
.marquee-lights.top{ top:0; bottom:auto; transform:scaleY(-1); filter:drop-shadow(0 4px 12px rgba(255,200,0,.4)); }

/* Sections */
.section{padding:70px 0; position:relative; overflow:visible }
.container{max-width:1200px;margin:auto;padding:0 16px}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:26px}
.card{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.glow{box-shadow:0 0 0 1px rgba(244,210,122,.25), 0 0 30px rgba(244,210,122,.1) inset}

/* Accent 3px shiny borders */
.accent-border{
  border: 3px solid transparent;
  border-radius: 18px;
  background:
    linear-gradient(var(--card), var(--card)) padding-box,
    linear-gradient(135deg, var(--accent-bright), var(--accent-deep)) border-box;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  transition: box-shadow .2s ease, filter .2s ease;
}
.accent-border:hover{
  box-shadow: 0 14px 34px rgba(0,0,0,.5), 0 0 12px rgba(36,198,255,.18);
  filter: saturate(1.05) brightness(1.03);
}
/* Per-section accent colors (shiny versions) */
.theme-gold .accent-border, .about .accent-border{
  --accent-bright:#FFE08A;  /* shinier gold */
  --accent-deep:#D6B454;
}
.theme-red .accent-border{
  --accent-bright:#FF6D75;  /* shinier red */
  --accent-deep:#E6212B;
}
.theme-blue .accent-border{
  --accent-bright:#6FE1FF;  /* shinier neon blue */
  --accent-deep:#24C6FF;
}
/* Review stars (Bollywood glow) */
.stars{display:flex;gap:6px;margin:6px 0 10px}
.stars .star{width:18px;height:18px;fill:#FFD84D;filter:drop-shadow(0 0 6px rgba(255,216,77,.55))}
@media (max-width:720px){ .stars .star{width:20px;height:20px}

    
}


/* Global Neon Headings */
h1,h2,h3,h4{color:#fff;text-shadow:0 0 10px var(--neon),0 0 30px var(--neon);letter-spacing:.5px}

/* Neon underline under h2/h3 */
h2, h3 { position: relative; }
h2::after, h3::after{
  content:""; position:absolute; left:0; bottom:-8px; height:3px; width:120px;
  background: linear-gradient(90deg, var(--neon), rgba(36,198,255,0));
  box-shadow: 0 0 10px rgba(36,198,255,.6);
}
.section .container > h2 { margin-bottom: 28px; }

/* About */
.about-grid {
  display: grid;
  grid-template-columns:1.25fr 1.15fr;
  gap:26px;
  align-items: stretch;
}
.about-text { padding:34px; background: linear-gradient(180deg, rgba(244,210,122,0.06), rgba(10,10,15,0.6)); border: 1px solid rgba(244,210,122,0.18); }
.about-text p { font-size: clamp(17px, 1.25vw, 20px); color:#eaf1ff; margin:8px 0 14px }
.about-points { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:10px 0 0 0; list-style:none }
.pill { display:inline-block; padding:6px 12px; border-radius:999px; font-weight:600; letter-spacing:.3px; border:1px solid rgba(255,255,255,.12) }
.pill-red  { background:linear-gradient(135deg, var(--red), #ff6a6a); color:#fff }
.pill-gold { background:linear-gradient(135deg, var(--gold), var(--gold-deep)); color:#2b1b00 }
.about-image-wrap {
  position:relative; border-radius:18px; overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background: linear-gradient(135deg, rgba(36,198,255,.15), rgba(230,33,43,.15));
  box-shadow:0 0 0 1px rgba(244,210,122,.2) inset, 0 12px 28px rgba(0,0,0,.45);
  display:grid; align-items:stretch; min-height:460px;
}
.about-image-wrap::after { content:""; position:absolute; inset:0; box-shadow:0 0 30px rgba(36,198,255,.25) inset, 0 0 50px rgba(36,198,255,.15) inset; pointer-events:none }
.about-image-wrap img { width:100%; height:100%; object-fit:cover; display:block }
@media (max-width:980px){ .about-grid{ grid-template-columns:1fr } .about-image-wrap{ min-height:320px } }

/* Dietary section */
.dietary { padding-top:50px; padding-bottom:50px; border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06); }
.dietary .container { text-align:center; }
.dietary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; justify-items:stretch;  align-items:stretch;  align-items:stretch; align-items:stretch;}
.diet-card { width:100%;  width:100%;  height:100%; display:flex; flex-direction:column; justify-content:flex-start; height:100%; display:flex; flex-direction:column; justify-content:flex-start; height:100%; display:flex; flex-direction:column; justify-content:flex-start; background:var(--card); border-radius:16px; padding:16px; border:1px solid rgba(255,255,255,.10); box-shadow:0 8px 24px rgba(0,0,0,.35), 0 0 0 1px rgba(244,210,122,.14) inset; transition:transform .15s ease, box-shadow .15s ease; text-align:center; display:flex; flex-direction:column; align-items:center; }
.diet-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.45), 0 0 0 1px rgba(36,198,255,.22) inset }
.diet-icon { width:56px; height:56px; display:grid; place-items:center; border-radius:14px; color:var(--ink); background:linear-gradient(135deg, var(--gold), var(--gold-deep)); margin-bottom:10px; box-shadow:0 6px 18px rgba(244,210,122,.25); }
.diet-card h3 { margin:0 0 6px; font-size:clamp(16px, 2vw, 18px) }
.diet-card p { margin:0; color:#eaf1ff; font-size:clamp(14px, 1.6vw, 16px) }
@media (max-width: 1024px){
  .hamburger{display:none;background:none;border:0;cursor:pointer;min-width:44px;min-height:44px;padding:8px;border-radius:10px;z-index:2800;} .dietary-grid { grid-template-columns: repeat(2, 1fr)  align-items:stretch;  align-items:stretch; align-items:stretch;} }
@media (max-width: 600px){ .dietary-grid { grid-template-columns: 1fr  align-items:stretch;  align-items:stretch; align-items:stretch;} }

/* Photo Gallery */
.photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px }
.photo-grid img { width:100%; height:260px; object-fit:cover; border-radius:10px; border:3px solid #11131b; box-shadow: 0 10px 28px rgba(0,0,0,.6), 0 0 0 2px rgba(244,210,122,.18) inset; transition: transform .2s ease, box-shadow .2s ease; }
.photo-grid img:hover { transform: scale(1.03); box-shadow: 0 10px 24px rgba(0,0,0,.6), 0 0 12px rgba(36,198,255,.25) }
@media (max-width: 900px){ .photo-grid { grid-template-columns: repeat(2, 1fr) } }
@media (max-width: 600px){ .photo-grid { grid-template-columns: 1fr } }

/* Testimonials */
.testimonials-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:18px }
.testimonial-card { background:var(--card); border-radius:16px; padding:20px; border:1px solid rgba(255,255,255,.1); box-shadow:0 6px 18px rgba(0,0,0,.4); text-align:center; transition: transform .2s ease, box-shadow .2s ease; }
.testimonial-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.55), 0 0 15px rgba(36,198,255,.25) }
.testimonial-card .quote { font-size:1rem; font-style:italic; color:#eaf1ff; margin-bottom:10px }
.testimonial-card h4 { margin:0; font-weight:600; color:var(--gold) }
@media (max-width: 900px){ .testimonials-grid { grid-template-columns: 1fr 1fr } }
@media (max-width: 600px){ .testimonials-grid { grid-template-columns: 1fr } }

/* Order Promo */
.order-promo{ border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06); text-align:center; }
.order-promo .lead{ margin:0 auto 14px; max-width:720px; color:#eaf1ff; font-size: clamp(16px, 1.2vw, 18px) }
.order-bullets{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:16px }
.order-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap }

/* Catering & Events */
.catering-grid { display:grid; grid-template-columns:1.25fr 1.15fr; gap:26px; align-items:stretch }
.catering-text { padding:34px; }
.catering-text p { font-size:clamp(17px, 1.25vw, 20px); color:#eaf1ff; margin-bottom:14px }
.catering-image-wrap { position:relative; border-radius:18px; overflow:hidden; border:1px solid rgba(255,255,255,.08); background: linear-gradient(135deg, rgba(36,198,255,.15), rgba(230,33,43,.15)); box-shadow:0 0 0 1px rgba(244,210,122,.2) inset, 0 12px 28px rgba(0,0,0,.45); display:grid; align-items:stretch; min-height:460px; }
.catering-image-wrap img { width:100%; height:100%; object-fit:cover; display:block }
@media (max-width:980px){ .catering-grid{ grid-template-columns:1fr } .catering-image-wrap{ min-height:320px } }

/* Visit */
.map-wrap{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.map-wrap iframe{width:100%;height:100%;min-height:360px;border:0}
.link{color:var(--gold);text-decoration:none}

/* Contact */
form label{display:block;margin:0 0 12px}
input,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#0f1016;color:#fff}
form .btn{margin-top:6px}
.bullets{margin:10px 0 0 18px}

/* Footer */
.footer{padding:26px 0;border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(0deg, rgba(10,10,15,.9), rgba(10,10,15,.3))}
.credit{margin:0;text-align:center;color:var(--muted)}

/* Mobile sticky CTA */
.mobile-cta{ position:fixed; bottom:0; left:0; right:0; display:none; z-index:4000; padding-bottom:env(safe-area-inset-bottom); }
.mobile-cta a{ flex:1; display:flex; align-items:center; justify-content:center; height:64px; font-weight:900; font-size:20px; letter-spacing:.5px; text-decoration:none; color:#fff; line-height:1 }
.mobile-cta a:first-child{background:var(--red)}
.mobile-cta a:last-child{background:linear-gradient(135deg, var(--gold), var(--gold-deep));color:#2b1b00}

/* Floating fixed CTAs (hidden on mobile) */
.floating-cta{ position: fixed; right: 16px; bottom: 16px; z-index: 1100; display: grid; gap: 10px; }
.floating-cta a{ display: inline-flex; align-items: center; justify-content: center; padding: 12px 16px; border-radius: 999px; font-weight: 800; text-decoration: none; color: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.45); }
.floating-cta a.order{ background: linear-gradient(135deg, var(--red), #ff6a6a); }
.floating-cta a.reserve{ background: linear-gradient(135deg, var(--gold), var(--gold-deep)); color:#2b1b00; }



/* Film reel divider */
.film-reel-divider{
  height:28px;
  background:
    linear-gradient(#0d0d12,#0d0d12) padding-box,
    radial-gradient(circle at 14px 14px, transparent 8px, #0d0d12 9px) repeat-x;
  background-size: 100% 100%, 56px 28px;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  opacity:.85;
}

/* Shimmer titles */
.marquee-title{ display:inline-block; background: linear-gradient(90deg, #fff 0%, #bfeaff 20%, #fff 40%, #bfeaff 60%, #fff 80%); -webkit-background-clip:text; background-clip:text; color:transparent; animation: shimmer 3.5s linear infinite; }
@keyframes shimmer{ 0%{ background-position: -200% 0; } 100%{ background-position: 200% 0; } }

/* Themed background motifs */
.theme-gold::before, .theme-red::before, .theme-blue::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.07;
  background-size: 40px 40px;
  background-image:
    radial-gradient(circle at 20% 20%, currentColor 2px, transparent 2px),
    radial-gradient(circle at 70% 60%, currentColor 1.5px, transparent 1.5px);
  color: #f4d27a;
}
.theme-red::before{ color:#e6212b }
.theme-blue::before{ color:#24c6ff }

/* Heading icons */
.icon{ display:inline-block; width:22px; height:22px; margin-right:8px; vertical-align:middle; }
.icon.clapper{
  background: conic-gradient(from 180deg at 50% 50%, #24c6ff, #e6212b, #f4d27a, #24c6ff);
  -webkit-mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 7h18v12H3zM4 3l5 4h5l-5-4H4z\" fill=\"%23000\"/></svg>') center/contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 7h18v12H3zM4 3l5 4h5l-5-4H4z\" fill=\"%23000\"/></svg>') center/contain no-repeat;
}
.icon.music{
  background: conic-gradient(from 0deg at 50% 50%, #f4d27a, #24c6ff, #e6212b, #f4d27a);
  -webkit-mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 3v12a3 3 0 1 1-2-2.83V7h8V3h-6z\" fill=\"%23000\"/></svg>') center/contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 3v12a3 3 0 1 1-2-2.83V7h8V3h-6z\" fill=\"%23000\"/></svg>') center/contain no-repeat;
}

/* Animations (scroll reveal) */
@keyframes fadeUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.show { opacity: 1; transform: translateY(0); animation: fadeUp .6s ease both; }

/* Theme backgrounds for color rhythm */
.theme-blue {
  background:
    radial-gradient(800px 400px at 15% 0%, rgba(36,198,255,.12), transparent 60%),
    radial-gradient(800px 400px at 85% 100%, rgba(36,198,255,.06), transparent 60%);
}
.theme-red {
  background:
    radial-gradient(800px 400px at 15% 0%, rgba(230,33,43,.12), transparent 60%),
    radial-gradient(800px 400px at 85% 100%, rgba(230,33,43,.06), transparent 60%);
}
.theme-gold {
  background:
    radial-gradient(900px 450px at 10% 10%, rgba(244,210,122,.16), transparent 60%),
    radial-gradient(700px 350px at 90% 90%, rgba(214,180,84,.10), transparent 60%);
}

/* Nav transparent tweaks */
.nav a, .brand span { text-shadow: 0 1px 6px rgba(0,0,0,.45); }

/* Mobile nav drawer */
@media (max-width: 1024px){
  .hamburger{display:none;background:none;border:0;cursor:pointer;min-width:44px;min-height:44px;padding:8px;border-radius:10px;z-index:2800;}
  .hamburger{display:none;background:none;border:0;cursor:pointer;min-width:44px;min-height:44px;padding:8px;border-radius:10px;z-index:2800;}
  .nav-links, .nav-ctas { display:none; }
  .nav.open .nav-links, .nav.open .nav-ctas { position:fixed; top: var(--header-h); left:0; right:0; max-height: calc(100vh - var(--header-h)); overflow:auto; z-index:1500;
    display:flex;
    flex-direction:column;
    position:absolute;
    top:100%;
    left:0; right:0;
    background: linear-gradient(180deg, rgba(10,10,15,.95), rgba(10,10,15,.78));
    padding:16px;
    gap:12px;
    border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow: 0 14px 28px rgba(0,0,0,.45);
  }
  .nav.open .nav-ctas { padding-top:0; }
  .nav.open .nav-links a, .nav.open .nav-ctas .btn { width:100%; text-align:center; }
}

/* Transparent header on top of hero */
.site-header{position:fixed;top:0;left:0;right:0;z-index:2600;background:transparent!important;backdrop-filter:none;box-shadow:none}
/* Keep nav content readable over video */
.nav a, .brand span { text-shadow: 0 1px 6px rgba(0,0,0,.45); }

.hamburger{display:none;background:none;border:0;cursor:pointer;min-width:44px;min-height:44px;padding:8px;border-radius:10px;z-index:2800;}

/* Container-bound bulbs */
.section .container{ position: relative; }
.section .container > .marquee-lights{
  left: 0; right: 0; /* aligns to container edges */
}




.section > .marquee-lights.section-edge.top{ top:0; transform: translate(-50%, 0) scaleY(-1); }
.section > .marquee-lights.section-edge{ bottom:0; }

/* Equalize dietary card height */
@media (min-width: 981px){
  .diet-card{ min-height: 220px; }
}
@media (max-width: 1024px){
  .diet-card{ min-height: 200px; }
}

/* Authoritative full-bleed bulbs on section edges */
.section{ position:relative; }
.section > .marquee-lights.section-edge{
  position:absolute;
  left:0; right:0; height:18px; bottom:0;
  background: radial-gradient(circle at 10px 9px, #fff 0 4px, #f8d65e 4px 7px, #a26e23 7px 9px, transparent 9px) repeat-x;
  background-size:40px 18px;
  filter: drop-shadow(0 0 10px rgba(255,200,0,.45));
  pointer-events:none; z-index:2; width:100%;
}
.section > .marquee-lights.section-edge.top{ top:0; bottom:auto; transform:scaleY(-1); }
.hero > .marquee-lights{ left:0; right:0; width:100%; } /* ensure hero bulb is full-bleed */


/* Mobile menu visibility & sizing */
@media (max-width: 1024px){
  .hamburger{display:none;background:none;border:0;cursor:pointer;min-width:44px;min-height:44px;padding:8px;border-radius:10px;z-index:2800;}
  .nav-links, .nav-ctas { display:none; }
  .nav.open .nav-links, .nav.open .nav-ctas {
    display:flex;
    flex-direction:column;
    position:fixed;
    top: var(--header-h);
    left:0; right:0;
    max-height: calc(100vh - var(--header-h));
    overflow:auto;
    background: linear-gradient(180deg, rgba(10,10,15,.97), rgba(10,10,15,.88));
    padding:18px 16px;
    gap:14px;
    z-index:1700;
    border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow: 0 14px 28px rgba(0,0,0,.45);
  }
  .nav.open .nav-links a{ width:100%; text-align:center; font-size:18px; padding:12px 10px; }
  .nav.open .nav-ctas .btn{ width:100%; font-size:16px; padding:12px 16px; }
  body.menu-open{ overflow:hidden; }              /* lock page scroll */
  .mobile-cta{ position:fixed; bottom:0; left:0; right:0; display:none; z-index:4000; padding-bottom:env(safe-area-inset-bottom); }         /* avoid overlapping the menu */
}

.nav-links a{font-size:22px; font-weight:700}




/* Equalize dietary card height v2 */
.diet-card h3{min-height:1.4em}
.diet-card p{flex:1}
@media (min-width: 1025px){ .diet-card{ min-height: 240px; } }
@media (max-width: 1024px){ .diet-card{ min-height: 220px; } }

@media (max-width: 1024px){
  .mobile-cta{ position:fixed; bottom:0; left:0; right:0; display:none; z-index:4000; padding-bottom:env(safe-area-inset-bottom); }
  .floating-cta{ display:none; }
  body.menu-open .mobile-cta{ position:fixed; bottom:0; left:0; right:0; display:none; z-index:4000; padding-bottom:env(safe-area-inset-bottom); } /* hide bar when drawer open */
}

/* Monoton only for h2 */
h2{font-family:'Monoton','Bebas Neue',system-ui,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.08em}

@media (max-width: 1024px){
  .hamburger{ display:flex; margin-left:auto; align-items:center; justify-content:center; gap:6px; }
  .nav-links, .nav-ctas { display:none; }
  .nav.open .nav-links, .nav.open .nav-ctas {
    display:flex;
    flex-direction:column;
    position:fixed;
    top: var(--header-h, 84px);
    left:0; right:0;
    max-height: calc(100vh - var(--header-h, 84px));
    overflow:auto;
    background: linear-gradient(180deg, rgba(10,10,15,.98), rgba(10,10,15,.9));
    padding:18px 16px;
    gap:14px;
    z-index:3500;
    border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow: 0 14px 28px rgba(0,0,0,.45);
  }
  .nav.open .nav-links a{ width:100%; text-align:center; font-size:20px; padding:14px 10px; }
  .nav.open .nav-ctas .btn{ width:100%; font-size:18px; padding:14px 16px; }
}

/* Center titles for Gallery and Testimonials */
#photo-gallery .container > h2,
#testimonials .container > h2 { text-align: center; }

#photo-gallery .container > h2::after,
#testimonials .container > h2::after {
  left: 50%;
  transform: translateX(-50%);
}


/* Dietary grid: consistent widths across devices */
.dietary-grid{ grid-template-columns: 1fr; }
@media (min-width: 601px){ .dietary-grid{ grid-template-columns: repeat(2, 1fr); } }     /* iPad portrait & small tablets */
@media (min-width: 1025px){ .dietary-grid{ grid-template-columns: repeat(3, 1fr); } }    /* iPad landscape / small laptop */
@media (min-width: 1281px){ .dietary-grid{ grid-template-columns: repeat(4, 1fr); } }    /* desktop wide */

/* Center Photo Gallery section fully */
#photo-gallery .container{ text-align:center; }
#photo-gallery .container > h2{ text-align:center; }
#photo-gallery .container > h2::after{ left:50%; transform:translateX(-50%); }
/* Gallery: 4 per row on desktop, 2 on tablets, 1 on mobiles */
/* Gallery: 3 x 2 on desktop, 2 cols on tablets, 1 col on phones */
/* Force gallery to 3 x 2 on desktop, 2 cols on tablets, 1 on phones */
#photo-gallery .photo-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px;
  margin: 0 auto;
  max-width: 1200px;
}

/* Show only 6 items total (3 per row x 2 rows) */
#photo-gallery .photo-grid > *:nth-child(n+7){ display: none !important; }

/* Tablets */
@media (max-width:1024px){
  #photo-gallery .photo-grid{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
/* Phones */
@media (max-width:600px){
  #photo-gallery .photo-grid{ grid-template-columns: 1fr !important; }
}

/* Ensure images don’t force extra columns */
#photo-gallery .photo-grid img{
  width: 100%; height: auto; display: block; object-fit: cover;
}

}

/* Force-visible hamburger on mobile/tablets */
@media (max-width: 1024px){
  .hamburger{ display:flex !important; margin-left:auto; align-items:center; justify-content:center; gap:6px; }
  .hamburger span{ display:block; width:3px; height:22px; background:#fff; margin:0 3px; border-radius:2px; }
}

/* Floating/CTA visibility rules */
@media (max-width: 1024px){
  .mobile-cta{ position:fixed; bottom:0; left:0; right:0; display:none; z-index:4000; padding-bottom:env(safe-area-inset-bottom); }
  .floating-cta{ display:none !important; } /* hide circular desktop CTAs on mobile/iPad */
}
@media (min-width: 1025px){
  .mobile-cta{ position:fixed; bottom:0; left:0; right:0; display:none; z-index:4000; padding-bottom:env(safe-area-inset-bottom); }
  /* Keep or hide floating-cta on desktop? Requirement says only on mobiles & iPads, so hide on desktop */
  .floating-cta{ display:none !important; }
}

/* Business Hours styling */
.hours-block{ margin-top:12px; padding-top:10px; border-top:1px solid rgba(255,255,255,.08); }
.hours-block h3{ margin:8px 0 6px; font-size:1.05rem; color:var(--gold); text-shadow:none; }
.hours-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr auto; row-gap:6px; column-gap:12px; font-size:.98rem; }
.hours-list li{ display:contents; }
.hours-list .day{ color:#eaf1ff; opacity:.9; }
.hours-list .time{ color:#fff; font-weight:700; text-align:right; }
.hours-list .today .day, .hours-list .today .time{ color:#24c6ff; text-shadow:0 0 8px rgba(36,198,255,.55); }

@media (max-width: 1024px){
  .mobile-cta{ display:flex !important; }
  .floating-cta{ display:none !important; }
}

@media (max-width: 1024px){
  .nav-links, .nav-ctas { display:none; }
}
