/* ═══════════════════════════════════════════
   LET'S SIZZLE IT — GLOBAL STYLESHEET
   Modern Minimalist · Light Theme · Fire Palette
═══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&family=Bebas+Neue&display=swap');

:root {
  --cream:        #FDFAF5;
  --warm-white:   #FFFDF5;
  --fire:         #FFC107;
  --fire-deep:    #e6a800;
  --ember:        #FFD54F;
  --gold:         #FFC107;
  --dark:         #1D0606;
  --dark-soft:    #150404;
  --mid:          #7A6555;
  --light:        #EDE5D8;
  --tag-bg:       #FFF8E1;
  --card-shadow:  0 8px 40px rgba(29,6,6,0.09);
  --fire-glow:    0 16px 48px rgba(255,193,7,0.35);
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family:'DM Sans',sans-serif;
  background:var(--cream);
  color:var(--dark);
  overflow-x:hidden;
  cursor:none;
}

/* ─── CUSTOM CURSOR ─── */
#cursor {
  width:10px; height:10px;
  background:var(--fire);
  border-radius:50%;
  position:fixed; z-index:9999;
  pointer-events:none;
  transform:translate(-50%,-50%);
  transition:transform .15s, width .2s, height .2s;
  mix-blend-mode:multiply;
}
#cursor-ring {
  width:32px; height:32px;
  border:1.5px solid var(--fire);
  border-radius:50%;
  position:fixed; z-index:9998;
  pointer-events:none;
  transform:translate(-50%,-50%);
  transition:left .3s cubic-bezier(.25,.46,.45,.94), top .3s cubic-bezier(.25,.46,.45,.94), width .2s, height .2s, border-color .2s;
  mix-blend-mode:multiply;
}
.cursor-grow { transform:translate(-50%,-50%) scale(2.2) !important; }
.ring-grow { width:50px !important; height:50px !important; border-color:var(--fire-deep) !important; }

/* ─── SCROLL PROGRESS ─── */
#scroll-bar {
  position:fixed; top:0; left:0;
  height:3px; width:0%;
  background:linear-gradient(90deg, var(--fire), var(--ember));
  z-index:10000;
  transition:width .08s;
}

/* ─── BACK TO TOP ─── */
#back-top {
  position:fixed; bottom:28px; right:28px;
  width:46px; height:46px;
  background:var(--fire);
  color:#fff; font-size:1.1rem;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  z-index:999; text-decoration:none;
  opacity:0; transform:translateY(20px);
  transition:all .3s; cursor:none;
  box-shadow:var(--fire-glow);
}
#back-top.show { opacity:1; transform:translateY(0); }
#back-top:hover { background:var(--fire-deep); color:#fff; }

/* ─── NAVBAR ─── */
.navbar {
  background:rgba(21,4,4,0.97);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,193,7,.15);
  padding:10px 0;
  position:sticky; top:0; z-index:1000;
  transition:box-shadow .3s;
}
.navbar.scrolled { box-shadow:0 4px 24px rgba(0,0,0,.35); }
.navbar-brand img.nav-logo {
  height:64px;
  width:auto;
  object-fit:contain;
  filter: drop-shadow(0 2px 8px rgba(255,100,0,.18));
  transition: transform .25s, filter .25s;
}
.navbar-brand img.nav-logo:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 4px 16px rgba(255,100,0,.32));
}
.navbar-brand {
  font-family:'Bebas Neue',cursive;
  font-size:1.9rem; letter-spacing:2px;
  color:var(--dark) !important;
  line-height:1;
}
.navbar-brand span { color:var(--fire); }
.nav-link {
  font-size:.855rem; font-weight:500;
  color:rgba(255,255,255,.7) !important;
  letter-spacing:.3px;
  padding:7px 15px !important;
  border-radius:50px;
  transition:all .2s;
}
.nav-link:hover, .nav-link.active { color:var(--fire) !important; background:rgba(255,193,7,.1); }
.btn-order-nav {
  background:var(--fire); color:#fff !important;
  border-radius:50px; padding:9px 26px !important;
  font-weight:600; font-size:.855rem;
  transition:all .25s;
}
.btn-order-nav:hover {
  background:var(--fire-deep) !important;
  transform:translateY(-2px);
  box-shadow:var(--fire-glow);
}
.navbar-toggler { border:none; outline:none; box-shadow:none !important; }

/* ─── PAGE HERO (inner pages) ─── */
.page-hero {
  background:var(--warm-white);
  padding:80px 0 60px;
  position:relative;
  overflow:hidden;
}
.page-hero::before {
  content:'';
  position:absolute; top:-150px; right:-150px;
  width:500px; height:500px;
  background:var(--fire);
  border-radius:50%; opacity:.05;
  animation:ph-pulse 6s ease-in-out infinite;
}
@keyframes ph-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.1)} }
.page-hero-label {
  font-size:.73rem; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:var(--fire);
  display:flex; align-items:center; gap:8px; margin-bottom:12px;
}
.page-hero-label::before { content:''; width:20px; height:2px; background:var(--fire); }
.page-hero h1 {
  font-family:'Playfair Display',serif;
  font-size:clamp(2.2rem,5vw,3.8rem);
  font-weight:900; color:var(--dark); line-height:1.1;
}
.page-hero h1 em { font-style:italic; color:var(--fire); }
.breadcrumb-item a { color:var(--fire); text-decoration:none; }
.breadcrumb-item.active { color:var(--mid); }
.breadcrumb-item+.breadcrumb-item::before { color:var(--light); }

/* ─── SECTION HELPERS ─── */
.sec { padding:90px 0; }
.sec-sm { padding:60px 0; }
.sec-label {
  font-size:.73rem; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:var(--fire);
  display:flex; align-items:center; gap:8px; margin-bottom:10px;
}
.sec-label::before { content:''; width:20px; height:2px; background:var(--fire); }
.sec-label.center { justify-content:center; }
.sec-label.center::before { display:none; }
.sec-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:900; color:var(--dark); line-height:1.15;
}
.sec-title em, .sec-title span.fire { color:var(--fire); font-style:italic; }

/* ─── BUTTONS ─── */
.btn-fire {
  background:var(--fire); color:var(--dark);
  border:none; border-radius:50px;
  padding:14px 36px; font-size:.95rem; font-weight:700;
  display:inline-flex; align-items:center; gap:9px;
  transition:all .28s; cursor:none; text-decoration:none;
}
.btn-fire:hover {
  background:var(--fire-deep); color:var(--dark);
  transform:translateY(-3px);
  box-shadow:var(--fire-glow);
}
.btn-ghost {
  background:transparent; color:var(--dark);
  border:1.5px solid var(--light);
  border-radius:50px; padding:13px 32px;
  font-size:.95rem; font-weight:500;
  display:inline-flex; align-items:center; gap:9px;
  transition:all .25s; cursor:none; text-decoration:none;
}
.btn-ghost:hover { border-color:var(--fire); color:var(--fire); }
.btn-ghost-white {
  background:transparent; color:#fff;
  border:1.5px solid rgba(255,255,255,.25);
  border-radius:50px; padding:13px 32px;
  font-size:.95rem; font-weight:500;
  display:inline-flex; align-items:center; gap:9px;
  transition:all .25s; cursor:none; text-decoration:none;
}
.btn-ghost-white:hover { border-color:#fff; background:rgba(255,255,255,.08); color:#fff; }

/* ─── MARQUEE ─── */
.marquee-wrap {
  background:var(--dark); padding:13px 0;
  overflow:hidden;
}
.marquee-track {
  display:flex; gap:56px; white-space:nowrap;
  width:max-content;
  animation:marquee 22s linear infinite;
}
.marquee-item {
  font-family:'Bebas Neue',cursive;
  font-size:1.2rem; color:var(--fire); letter-spacing:3px;
  display:flex; align-items:center; gap:20px;
}
.marquee-item::after { content:'✦'; font-size:.75rem; opacity:.65; }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ─── CARDS ─── */
.card-sizzle {
  background:#fff; border-radius:22px;
  border:1px solid var(--light);
  overflow:hidden; transition:all .35s cubic-bezier(.25,.46,.45,.94);
  cursor:none;
}
.card-sizzle:hover {
  transform:translateY(-8px);
  box-shadow:0 32px 80px rgba(26,18,8,.11);
  border-color:transparent;
}
.card-img-wrap { overflow:hidden; position:relative; }
.card-img-wrap img { width:100%; height:260px; object-fit:cover; object-position:center; display:block; transition:transform .5s; }
.card-sizzle:hover .card-img-wrap img { transform:scale(1.07); }
.card-badge {
  position:absolute; top:14px; left:14px;
  border-radius:50px; font-size:.68rem; font-weight:700;
  padding:4px 12px; letter-spacing:.4px;
}
.badge-fire { background:var(--fire); color:var(--dark); font-weight:800; }
.badge-green { background:#27AE60; color:#fff; }
.badge-gold { background:var(--gold); color:#fff; }
.badge-sold { background:#888; color:#fff; }
.card-body-sizzle { padding:20px 22px 22px; }
.card-name {
  font-family:'Playfair Display',serif;
  font-size:1.1rem; font-weight:700; color:var(--dark);
  margin-bottom:5px;
}
.card-desc { font-size:.82rem; color:var(--mid); line-height:1.6; margin-bottom:15px; }
.card-footer-row {
  display:flex; align-items:center; justify-content:space-between;
}
.card-price {
  font-family:'Playfair Display',serif;
  font-size:1.3rem; font-weight:700; color:var(--dark);
}
.card-price .cur { font-size:.85rem; color:var(--mid); font-family:'DM Sans',sans-serif; }
.card-stars { font-size:.73rem; color:var(--gold); }
.card-stars span { color:var(--mid); font-family:'DM Sans',sans-serif; margin-left:3px; }
.btn-add {
  width:40px; height:40px; border-radius:50%;
  background:var(--fire); border:none; color:var(--dark);
  font-size:1.3rem; display:flex; align-items:center; justify-content:center;
  transition:all .25s; cursor:none; line-height:1; font-weight:700;
}
.btn-add:hover { background:var(--fire-deep); transform:rotate(90deg) scale(1.1); }

/* ─── STATS DARK BAR ─── */
.stats-dark { background:var(--dark); padding:36px 0; }
.stat-n {
  font-family:'Bebas Neue',cursive;
  font-size:2.7rem; color:var(--fire); line-height:1;
}
.stat-l { font-size:.78rem; color:rgba(255,255,255,.55); letter-spacing:.5px; margin-top:3px; }
.stat-sep { width:1px; background:rgba(255,255,255,.12); align-self:stretch; }

/* ─── TOASTS ─── */
#toast-wrap {
  position:fixed; bottom:80px; right:28px;
  z-index:9999; display:flex; flex-direction:column; gap:8px;
}

/* ─── FOOTER ─── */
footer {
  background:var(--dark-soft); padding:70px 0 28px;
}
.ft-brand {
  font-family:'Bebas Neue',cursive;
  font-size:2rem; color:#fff; letter-spacing:2px;
}
.ft-brand span { color:var(--fire); }
.ft-brand img.ft-logo {
  height: 80px;
  width: auto;
  object-fit: contain;
  filter: brightness(1.1) drop-shadow(0 4px 18px rgba(255,130,0,.28));
  transition: transform .3s, filter .3s;
}
.ft-brand img.ft-logo:hover {
  transform: scale(1.04);
  filter: brightness(1.15) drop-shadow(0 6px 28px rgba(255,130,0,.45));
}
.ft-desc { color:rgba(255,255,255,.42); font-size:.845rem; line-height:1.7; max-width:270px; margin-top:12px; }
.ft-head { font-size:.72rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.28); margin-bottom:18px; }
.ft-link { display:block; color:rgba(255,255,255,.55); text-decoration:none; font-size:.845rem; margin-bottom:9px; transition:color .2s; }
.ft-link:hover { color:var(--fire); }
.ft-divider { border-color:rgba(255,255,255,.06); margin:44px 0 20px; }
.ft-bottom { color:rgba(255,255,255,.28); font-size:.76rem; }
.social-btn {
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.06);
  display:inline-flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.55); font-size:.95rem;
  transition:all .25s; cursor:none;
}
.social-btn:hover { background:var(--fire); color:#fff; }
.award-pill {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,193,7,.15);
  border:1px solid rgba(255,193,7,.35);
  border-radius:50px; padding:7px 16px;
  font-size:.75rem; font-weight:600; 
  /* color:var(--ember); */
  letter-spacing:.3px;
}

/* ─── UTILITIES ─── */
.text-fire { color:var(--fire); }
.text-mid { color:var(--mid); }
.bg-warm { background:var(--warm-white); }
.bg-dark-s { background:var(--dark-soft); }
.rounded-xl { border-radius:22px; }
.rounded-2xl { border-radius:28px; }
.img-cover { width:100%; height:100%; object-fit:cover; display:block; }

/* ─── RESPONSIVE ─── */
@media(max-width:768px) {
  .sec { padding:60px 0; }
  #cursor, #cursor-ring { display:none; }
  body { cursor:auto; }
}

/* ─── SMOKE CURSOR ─── */
.smoke-particle {
  position:fixed;
  pointer-events:none;
  border-radius:50%;
  z-index:9997;
  mix-blend-mode:screen;
  animation:smokeRise var(--dur,1.2s) ease-out forwards;
}
@keyframes smokeRise {
  0% { opacity:.6; transform:translate(-50%,-50%) scale(.3); filter:blur(2px); }
  60% { opacity:.25; }
  100% { opacity:0; transform:translate(calc(-50% + var(--dx,0px)), calc(-50% - 80px)) scale(2.5); filter:blur(18px); }
}

/* ─── PDF FLOATING BUTTON ─── */
#pdf-float {
  position:fixed; bottom:90px; right:28px;
  background:var(--fire); color:var(--dark);
  border:1.5px solid rgba(255,193,7,.4);
  border-radius:50px; padding:11px 20px;
  font-size:.8rem; font-weight:700;
  display:flex; align-items:center; gap:8px;
  z-index:998; text-decoration:none;
  box-shadow:0 8px 28px rgba(0,0,0,.35);
  transition:all .25s; cursor:none;
  letter-spacing:.3px;
}
#pdf-float:hover { background:var(--fire); color:var(--dark); transform:translateY(-3px); }
#pdf-float i { font-size:1rem; }

/* ─── SOCIAL PROOF NOTIFICATIONS ─── */
#social-proof-container {
  position:fixed; bottom:90px; left:24px;
  z-index:9990; display:flex; flex-direction:column; gap:10px;
  pointer-events:none;
}
.sp-notif {
  background:#fff;
  border-radius:14px;
  padding:12px 16px;
  display:flex; align-items:center; gap:12px;
  box-shadow:0 8px 32px rgba(0,0,0,.15);
  min-width:240px; max-width:290px;
  border-left:4px solid var(--fire);
  animation:spSlideIn .4s ease, spSlideOut .4s ease 4s forwards;
  pointer-events:auto;
}
.sp-avatar {
  width:40px; height:40px; border-radius:50%;
  background:var(--tag-bg); display:flex; align-items:center;
  justify-content:center; font-size:1.3rem; flex-shrink:0;
}
.sp-text { font-size:.78rem; color:var(--dark); line-height:1.5; }
.sp-text strong { color:var(--fire-deep); }
.sp-time { font-size:.68rem; color:var(--mid); margin-top:2px; }
@keyframes spSlideIn { from{transform:translateX(-120%);opacity:0} to{transform:translateX(0);opacity:1} }
@keyframes spSlideOut { from{opacity:1;transform:translateX(0)} to{opacity:0;transform:translateX(-120%)} }

/* ─── GIFT A MEAL ─── */
.gift-section {
  background:linear-gradient(135deg, #1D0606 60%, #3d0000);
  position:relative; overflow:hidden;
}
.gift-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,193,7,.15); border:1px solid rgba(255,193,7,.4);
  border-radius:50px; padding:8px 20px;
  font-size:.75rem; font-weight:700; color:var(--fire);
  letter-spacing:.8px; text-transform:uppercase;
}

/* ─── NEWS SECTION ─── */
.news-card {
  background:#fff; border-radius:22px;
  border:1px solid var(--light); overflow:hidden;
  transition:all .3s; cursor:none;
}
.news-card:hover { transform:translateY(-6px); box-shadow:0 24px 60px rgba(26,18,8,.12); border-color:var(--fire); }
.news-card-img { width:100%; height:200px; object-fit:cover; display:block; }
.news-card-body { padding:20px 22px 24px; }
.news-source { font-size:.7rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--fire); margin-bottom:8px; }
.news-headline { font-family:'Playfair Display',serif; font-size:1.05rem; font-weight:700; color:var(--dark); line-height:1.4; margin-bottom:10px; }
.news-snippet { font-size:.82rem; color:var(--mid); line-height:1.6; }

/* ─── DIET BADGES ─── */
.diet-badge {
  display:inline-flex; align-items:center; gap:5px;
  border-radius:50px; padding:3px 10px;
  font-size:.67rem; font-weight:700; letter-spacing:.3px;
}
.diet-jain { background:#FFF8E1; color:#E65100; border:1px solid #FFB300; }
.diet-vegan { background:#E8F5E9; color:#1B5E20; border:1px solid #43A047; }
.diet-gf { background:#E3F2FD; color:#0D47A1; border:1px solid #42A5F5; }

/* ─── AWARDS VISIBLE ─── */
.awards-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
.award-card {
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,193,7,.2);
  border-radius:18px; padding:22px 18px;
  display:flex; align-items:flex-start; gap:14px;
}
.award-icon { font-size:2rem; flex-shrink:0; }
.award-title { font-weight:700; color:#fff; font-size:.92rem; line-height:1.3; }
.award-org { font-size:.73rem; color:rgba(255,255,255,.45); margin-top:5px; }

/* ─── RESTAURANT EXPERIENCE SECTION ─── */
.exp-card {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px; padding:28px 24px;
  text-align:center; transition:all .3s;
}
.exp-card:hover { border-color:rgba(255,193,7,.4); background:rgba(255,193,7,.05); transform:translateY(-4px); }
.exp-icon { font-size:2.5rem; margin-bottom:14px; display:block; }
.exp-title { font-weight:700; color:#fff; font-size:1rem; margin-bottom:8px; }
.exp-desc { font-size:.82rem; color:rgba(255,255,255,.5); line-height:1.6; }

/* ─── VIDEO GALLERY ─── */
.video-thumb {
  border-radius:18px; overflow:hidden; position:relative;
  cursor:none; transition:transform .3s;
}
.video-thumb:hover { transform:scale(1.02); }
.video-thumb img { width:100%; height:220px; object-fit:cover; display:block; }
.video-overlay {
  position:absolute; inset:0;
  background:rgba(26,6,6,.45);
  display:flex; align-items:center; justify-content:center;
  transition:background .3s;
}
.video-thumb:hover .video-overlay { background:rgba(26,6,6,.6); }
.play-btn {
  width:56px; height:56px; border-radius:50%;
  background:var(--fire); display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:var(--dark);
  transition:transform .25s; box-shadow:0 8px 28px rgba(255,193,7,.5);
}
.video-thumb:hover .play-btn { transform:scale(1.15); }
.video-label {
  position:absolute; bottom:14px; left:14px; right:14px;
  font-size:.8rem; font-weight:600; color:#fff;
}

/* ─── GOOGLE REVIEW BADGE ─── */
.google-review-badge {
  display:inline-flex; align-items:center; gap:10px;
  background:#fff; border-radius:50px;
  padding:9px 20px;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
  font-size:.85rem; font-weight:600;
  border:1px solid #e0e0e0;
}
.google-g {
  font-size:2rem; font-weight:800;
  background:linear-gradient(#4285F4,#4285F4) 0/25% 100% no-repeat,
             linear-gradient(#EA4335,#EA4335) 25%/25% 100% no-repeat,
             linear-gradient(#FBBC05,#FBBC05) 50%/25% 100% no-repeat,
             linear-gradient(#34A853,#34A853) 75%/25% 100% no-repeat;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

/* ─── VEGAN & GLUTEN FREE CARDS ─── */
.diet-promo-card {
  border-radius:26px; overflow:hidden; position:relative; padding:44px 36px; min-height:220px;
}

/* ─── HERO BADGE VISIBILITY FIX ─── */
.hero-live-tag {
  background:rgba(26,6,6,0.85) !important;
  border-color:rgba(255,193,7,.5) !important;
  color:var(--fire) !important;
}

/* ─── FAQ SHORTCUT NAV ─── */
.nav-faq-link {
  color:rgba(255,255,255,.7) !important;
}

@media(max-width:768px) {
  .awards-grid { grid-template-columns:1fr; }
  .sp-notif { max-width:250px; }
  /* #pdf-float span.pdf-label { display:none; } */
}
