:root{
  --bg-0:#0b0c0f;
  --bg-1:#101218;
  --bg-2:#0f1116;
  --text-0:#f3efe6;
  --text-1:#cfc7b8;
  --muted:rgba(245,239,228,.72);
  --gold:#c7a66a;
  --gold-2:#e2c98d;
  --line:rgba(255,255,255,.10);
  --shadow:0 22px 60px rgba(0,0,0,.55);
  --shadow-soft:0 14px 40px rgba(0,0,0,.35);
  --radius:22px;
  --font-display:"Cormorant Garamond",serif;
  --font-body:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

html{
  scroll-behavior:smooth;
}

a{
  text-decoration: none;
}

body{
  font-family:var(--font-body);
  background:radial-gradient(1200px 700px at 20% -10%,rgba(199,166,106,.14),transparent 55%),
    radial-gradient(900px 600px at 90% 20%,rgba(226,201,141,.08),transparent 55%),
    linear-gradient(180deg,var(--bg-0),var(--bg-1));
  color:var(--text-0);
}

.bg-app{background:black!important}
.text-app{color:var(--text-0)!important}
.text-soft{color:var(--muted)}
.text-accent{color:var(--gold)}

.grain{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.15;
  mix-blend-mode:overlay;
  background-image:
    repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 1px,transparent 1px 4px);
  transform:translateZ(0);
  z-index:1;
}

.app-header{
  position:sticky;
  top:0;
  z-index:2000;
}

.app-nav{
  background:rgba(10,10,12,.50);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.app-nav.is-scrolled{
  background:rgba(10,10,12,.72);
  border-bottom-color:rgba(255,255,255,.10);
}

.navbar-brand .brand-logo{
  width:100px;
  border-radius: 8px;
}

.brand-mark{
  display:none;
  width:36px;
  height:36px;
  border-radius:10px;
  align-items:center;
  justify-content:center;
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:.06em;
  color:rgba(243,239,230,.95);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}

.logo-missing .brand-logo{display:none}
.logo-missing .brand-mark{display:inline-flex}

.brand-name{
  font-family:var(--font-display);
  letter-spacing:.4px;
  font-weight:700;
  font-size:1.08rem;
}

.navbar-dark .navbar-nav .nav-link{
  color:rgba(243,239,230,.78);
  font-weight:500;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus{
  color:rgba(243,239,230,1);
}

.btn-gold{
  --bs-btn-color:#c7a66a;
  --bs-btn-bg:linear-gradient(135deg,var(--gold),var(--gold-2));
  --bs-btn-border-color:rgba(255,255,255,.12);
  --bs-btn-hover-color:#c7a66a;
  --bs-btn-hover-bg:linear-gradient(135deg,var(--gold-2),var(--gold));
  --bs-btn-hover-border-color:rgba(255,255,255,.18);
  --bs-btn-focus-shadow-rgb:199,166,106;
  border-radius:999px;
  box-shadow:0 14px 34px rgba(199,166,106,.20);
}

.btn-ghost{
  --bs-btn-color:rgba(243,239,230,.92);
  --bs-btn-bg:rgba(255,255,255,.06);
  --bs-btn-border-color:rgba(255,255,255,.14);
  --bs-btn-hover-color:#ffffff;
  --bs-btn-hover-bg:rgba(255,255,255,.10);
  --bs-btn-hover-border-color:rgba(255,255,255,.22);
  border-radius:999px;
  backdrop-filter:blur(12px);
}

.hero{
  position:relative;
  background-image: linear-gradient(rgba(5, 5, 5, 0.49),rgba(10, 10, 10, 0.815)), url(../assets/herobg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

.hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 520px at 10% 20%,rgba(226,201,141,.12),transparent 60%),
    radial-gradient(1000px 700px at 100% 0%,rgba(199,166,106,.10),transparent 55%),
    linear-gradient(180deg,rgba(10,10,12,.70),rgba(10,10,12,.10) 65%,rgba(10,10,12,0));
  pointer-events:none;
}

.hero-content{position:relative;z-index:3}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .85rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.72rem;
  color:rgba(243,239,230,.86);
}

.display-title{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(2.5rem,4.8vw,4.1rem);
  line-height:1.02;
  letter-spacing:-.02em;
}

.lead-app{
  color:rgba(243,239,230,.74);
  max-width:34rem;
}

.hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.meta-pill{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.55rem .85rem;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(243,239,230,.82);
  font-size:.88rem;
}

.meta-pill i{color:var(--gold)}

.collage{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.collage-ring{
  position:absolute;
  width:min(520px,85vw);
  height:min(520px,85vw);
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 0 0 1px rgba(199,166,106,.12) inset;
  background:radial-gradient(circle at 40% 35%,rgba(199,166,106,.16),transparent 55%);
  filter:blur(.1px);
}

.circle{
  position:absolute;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow-soft);
  background:rgba(255,255,255,.04);
}

.circle img{width:100%;height:100%;object-fit:cover;transform:scale(1.03)}

.circle-lg{
  width:min(420px,78vw);
  height:min(420px,78vw);
  right:0;
}

.circle-sm{
  width:168px;
  height:168px;
  border:2px solid rgba(255,255,255,.22);
  box-shadow:0 24px 60px rgba(0,0,0,.55);
}

.circle-top{left:2%;top:15%}
.circle-bottom{left:8%;bottom:10%}

.badge-float{
  position:absolute;
  right:8%;
  bottom:6%;
}

.badge-card{
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(12px);
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}

.badge-title{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.15rem;
}

.badge-sub{
  color:rgba(243,239,230,.72);
  font-size:.88rem;
}

.section{
  position:relative;
  padding:92px 0;
  z-index:2;
}

.section-dark{
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.section-mid{
  background:radial-gradient(800px 520px at 20% 0%,rgba(199,166,106,.10),transparent 60%),
    linear-gradient(180deg,rgba(0,0,0,0),rgba(255,255,255,.015));
}

.section-title{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(2rem,3.2vw,3rem);
  line-height:1.1;
  letter-spacing:-.01em;
}

.section-lead{max-width:46rem}

.about-media{
  position:relative;
  display:flex;
  justify-content:center;
}

.circle-xl{
  width:min(460px,86vw);
  height:min(460px,86vw);
  position:relative;
  box-shadow:var(--shadow);
}

.stat-card{
  position:absolute;
  right:6%;
  bottom:10%;
  width:170px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(10,10,12,.55);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(16px);
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}

.stat-num{
  font-family:var(--font-display);
  font-size:2.15rem;
  font-weight:700;
  color:var(--gold-2);
  line-height:1;
}

.stat-label{
  margin-top:.25rem;
  color:rgba(243,239,230,.72);
  font-size:.92rem;
  line-height:1.2;
}

.feature-list li{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  padding:.35rem 0;
  color:rgba(243,239,230,.78);
}

.feature-list i{
  margin-top:.2rem;
  color:var(--gold);
}

.mini-metrics{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.metric{
  display:flex;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
}

.metric-icon{
  width:40px;
  height:40px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(199,166,106,.14);
  border:1px solid rgba(199,166,106,.18);
  color:var(--gold-2);
}

.metric-title{
  font-weight:600;
  letter-spacing:.01em;
}

.metric-sub{
  color:rgba(243,239,230,.68);
  font-size:.9rem;
}

.cat-card{
  position:relative;
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.cat-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 80px rgba(0,0,0,.55);
  border-color:rgba(199,166,106,.25);
}

.cat-media{
  aspect-ratio:1/1;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.cat-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
  transition:transform .6s ease;
}

.cat-card:hover .cat-media img{transform:scale(1.10)}

.cat-body{padding:16px 16px 18px}

.cat-title{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.25rem;
}

.cat-sub{
  margin-top:.25rem;
  color:rgba(243,239,230,.70);
  font-size:.92rem;
}

.special-card{
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}

.special-media{
  position:relative;
  height:260px;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.special-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}

.special-body{padding:22px 22px 24px}

.special-kicker{
  display:inline-flex;
  padding:.3rem .7rem;
  border-radius:999px;
  background:rgba(199,166,106,.14);
  border:1px solid rgba(199,166,106,.22);
  color:rgba(226,201,141,.92);
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.special-title{
  margin-top:.8rem;
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.75rem;
}

.special-sub{
  margin-top:.35rem;
  color:rgba(243,239,230,.72);
}

.price{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.6rem;
  color:rgba(243,239,230,.96);
}

.chip-stat{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
}

.chip-num{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.55rem;
  color:var(--gold-2);
  line-height:1.05;
}

.chip-label{
  margin-top:.25rem;
  color:rgba(243,239,230,.68);
  font-size:.88rem;
}

.chef-card{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}

.chef-img{
  width:100%;
  height:min(520px,72vh);
  object-fit:cover;
  transform:scale(1.02);
}

.chef-overlay{
  position:absolute;
  left:18px;
  bottom:18px;
  right:18px;
  padding:18px 18px 16px;
  border-radius:22px;
  background:rgba(10,10,12,.55);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(16px);
}

.chef-title{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.35rem;
}

.chef-sub{color:rgba(243,239,230,.72)}

.gallery-tile{
  position:relative;
  display:block;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  box-shadow:0 26px 80px rgba(0,0,0,.50);
  transition:transform .35s ease, border-color .35s ease;
  width: 260px;
  height: 250px;
  object-fit: cover;
}

.gallery-tile:hover{
  transform:translateY(-6px);
  border-color:rgba(199,166,106,.25);
}

.gallery-tile img{
   width: 300px;
  height: 250px;
  object-fit:cover;
  transform:scale(1.06);
  transition:transform .6s ease;
}

.gallery-tile:hover img{transform:scale(1.12)}

.gallery-tile::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.65));
  opacity:.9;
}

.gallery-label{
  position:absolute;
  left:16px;
  bottom:14px;
  z-index:2;
  font-family:var(--font-display);
  font-size:1.18rem;
  font-weight:700;
  letter-spacing:.2px;
  color:rgba(243,239,230,.95);
}

/* .gallery-tile.tall{height:340px} */

.no-scroll{
  overflow:hidden!important;
}

.lightbox{
  position:fixed;
  inset:0;
  z-index:3000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.78);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}

.lightbox.is-open{
  opacity:1;
  pointer-events:auto;
}

.lightbox-panel{
  position:relative;
  width:min(1100px,96vw);
  max-height:min(82vh,860px);
  border-radius:26px;
  background:rgba(12,13,17,.72);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 40px 140px rgba(0,0,0,.75);
  backdrop-filter:blur(18px);
  overflow:hidden;
}

.lightbox-media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(900px 520px at 25% 10%,rgba(199,166,106,.12),transparent 60%),
    radial-gradient(900px 520px at 90% 50%,rgba(226,201,141,.08),transparent 60%),
    rgba(0,0,0,.10);
}

.lightbox-img{
  width:100%;
  max-height:70vh;
  object-fit:contain;
  opacity:1;
  transition:opacity .18s ease;
}

.lightbox-media.is-loading::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(500px 220px at 30% 30%,rgba(226,201,141,.10),transparent 55%),
    radial-gradient(500px 220px at 70% 55%,rgba(199,166,106,.08),transparent 55%),
    linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);
  animation:lbPulse 1.1s ease-in-out infinite;
}

@keyframes lbPulse{
  0%{opacity:.35;transform:translateX(-6%)}
  50%{opacity:.65;transform:translateX(6%)}
  100%{opacity:.35;transform:translateX(-6%)}
}

.lightbox-caption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(243,239,230,.76);
}

.lightbox-title{
  font-family:var(--font-display);
  font-weight:700;
  color:rgba(243,239,230,.92);
}

.lightbox-actions{
  display:flex;
  gap:10px;
}

.lightbox-btn{
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(243,239,230,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.lightbox-btn:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.10);
  border-color:rgba(199,166,106,.25);
}

.lightbox-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
  transform:none;
}

.lightbox-nav{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.lightbox-nav .lightbox-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  pointer-events:auto;
}

.lightbox-prev{left:14px}
.lightbox-next{right:14px}

@media (max-width: 575.98px){
  .lightbox-panel{border-radius:20px}
  .lightbox-prev{left:10px}
  .lightbox-next{right:10px}
}

.reserve-card{
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  box-shadow:0 34px 100px rgba(0,0,0,.55);
}

.reserve-left{
  background:
    radial-gradient(800px 520px at 10% 20%,rgba(199,166,106,.18),transparent 60%),
    linear-gradient(180deg,rgba(10,10,12,.55),rgba(10,10,12,.35));
  border-right:1px solid rgba(255,255,255,.08);
}

.reserve-copy{padding:28px 28px 30px}
.reserve-right{padding:28px 28px 30px}

.contact-grid{
  display:grid;
  gap:14px;
}

.contact-item{
  display:flex;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
}

.contact-item i{color:var(--gold);font-size:1.1rem;margin-top:.1rem}
.contact-label{color:rgba(243,239,230,.66);font-size:.85rem}
.contact-value{font-weight:600}

.form-control-app{
  background:rgba(10,10,12,.55);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(243,239,230,.92);
  border-radius:16px;
}

.form-control-app:focus{
  background:rgba(10,10,12,.55);
  border-color:rgba(199,166,106,.45);
  box-shadow:0 0 0 .2rem rgba(199,166,106,.18);
  color:rgba(243,239,230,.95);
}

.form-label{color:rgba(243,239,230,.78)}
.form-note{color:rgba(243,239,230,.62);font-size:.92rem}

.footer{
  position:relative;
  z-index:2;
  padding:64px 0 40px;
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.15));
}

.footer-logo{
  width: 80px;
}

.footer-brand{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.2rem;
}

.footer-sub{color:rgba(243,239,230,.68)}

.footer-title{
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.78rem;
  color:rgba(243,239,230,.78);
}

.footer-links{
  list-style:none;
  padding:0;
  margin:12px 0 0;
  display:grid;
  gap:8px;
}

.footer-links a{
  color:rgba(243,239,230,.70);
  text-decoration:none;
}

.footer-links a:hover{color:rgba(243,239,230,.94)}

.footer-bottom{
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}

.back-top{
  width:44px;
  height:44px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(243,239,230,.92);
  text-decoration:none;
  transition:transform .25s ease, background .25s ease;
}

.back-top:hover{transform:translateY(-3px);background:rgba(255,255,255,.10)}

main [id]{
  scroll-margin-top:92px;
}

@media (max-width: 991.98px){
  .hero{padding-top:72px}
  .collage{min-height:460px}
  .circle-lg{right:auto}
  .circle-top{left:0;top:8%}
  .circle-bottom{left:6%;bottom:5%}
  .reserve-left{border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}

.hero-menu{padding:92px 0 56px}
.collage-menu{min-height:500px}
.badge-float-menu{right:10%;bottom:8%}

.menu-toolbar{
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 60px rgba(0,0,0,.35);
  overflow:hidden;
}

.menu-toolbar-row{
  display:flex;
  gap:14px;
  align-items:center;
  padding:12px 12px;
}

.menu-pill-group{
  display:flex;
  align-items:center;
  gap:10px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:4px 2px;
  scrollbar-width:none;
  flex:1 1 auto;
}

.menu-pill-group::-webkit-scrollbar{display:none}

.btn-filter{
  --bs-btn-color:rgba(243,239,230,.86);
  --bs-btn-bg:rgba(255,255,255,.05);
  --bs-btn-border-color:rgba(255,255,255,.12);
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:rgba(255,255,255,.10);
  --bs-btn-hover-border-color:rgba(255,255,255,.18);
  border-radius:999px;
  padding:.45rem .9rem;
  white-space:nowrap;
  font-weight:600;
  letter-spacing:.01em;
}

.btn-filter.is-active{
  --bs-btn-color:#0d0e12;
  --bs-btn-bg:linear-gradient(135deg,var(--gold),var(--gold-2));
  --bs-btn-border-color:rgba(255,255,255,.18);
  box-shadow:0 16px 40px rgba(199,166,106,.18);
}

.menu-search{
  position:relative;
  flex:0 0 240px;
}

.menu-search i{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(243,239,230,.62);
}

.menu-search-input{
  width:100%;
  height:42px;
  padding:0 12px 0 36px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(10,10,12,.50);
  color:rgba(243,239,230,.92);
  outline:none;
}

.menu-search-input:focus{
  border-color:rgba(199,166,106,.45);
  box-shadow:0 0 0 .2rem rgba(199,166,106,.16);
}

.menu-legend{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  color:rgba(243,239,230,.68);
  font-size:.92rem;
}

.legend-item{display:inline-flex;align-items:center;gap:8px}
.dot{width:10px;height:10px;border-radius:999px;display:inline-block}
.dot-veg{background:#44d18a;box-shadow:0 0 0 3px rgba(68,209,138,.16)}
.dot-nonveg{background:#ff5b5b;box-shadow:0 0 0 3px rgba(255,91,91,.14)}

.menu-note{
  display:flex;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
}

.menu-note i{color:var(--gold);font-size:1.1rem;margin-top:.15rem}
.menu-note-title{font-weight:700}
.menu-note-sub{color:rgba(243,239,230,.66);font-size:.92rem}

.menu-feature{
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  box-shadow:0 26px 80px rgba(0,0,0,.50);
}

.menu-feature-media{aspect-ratio:1/1;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}
.menu-feature-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.menu-feature-body{padding:18px 18px 20px}
.menu-feature-title{font-family:var(--font-display);font-weight:700;font-size:1.45rem}
.menu-feature-sub{margin-top:.25rem;color:rgba(243,239,230,.70)}
.menu-feature-price{margin-top:14px;font-family:var(--font-display);font-weight:700;font-size:1.35rem;color:rgba(243,239,230,.96)}

.menu-item-card{
  height:100%;
  padding:18px 18px 16px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));
  box-shadow:0 18px 60px rgba(0,0,0,.35);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.menu-item-card:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 90px rgba(0,0,0,.55);
  border-color:rgba(199,166,106,.24);
}

.menu-item-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.menu-item-name{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.3rem;
  line-height:1.1;
}

.menu-item-price{
  padding:.35rem .7rem;
  border-radius:999px;
  background:rgba(199,166,106,.16);
  border:1px solid rgba(199,166,106,.22);
  color:rgba(226,201,141,.94);
  font-weight:700;
  letter-spacing:.01em;
}

.menu-item-desc{
  margin-top:.6rem;
  color:rgba(243,239,230,.70);
  font-size:.95rem;
  line-height:1.35;
}

.menu-item-meta{
  margin-top:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.tag{
  display:inline-flex;
  align-items:center;
  padding:.25rem .6rem;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(243,239,230,.72);
  font-size:.82rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.filter-layer{
  filter: brightness(80%);
}

.spice{color:rgba(226,201,141,.9);display:inline-flex;gap:4px}
.spice i{font-size:.92rem}

.menu-empty-card{
  padding:22px 22px 20px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  text-align:center;
}

.menu-empty-title{font-family:var(--font-display);font-weight:700;font-size:1.6rem}
.menu-empty-sub{color:rgba(243,239,230,.70);margin-top:6px}

@media (max-width: 991.98px){
  .menu-search{flex-basis:180px}
}

@media (max-width: 575.98px){
  .menu-toolbar-row{flex-direction:column;align-items:stretch}
  .menu-search{flex-basis:auto}
  .navbar-brand .brand-logo{
    width: 80px;
  }
  .cat-media {
    height: 200px;
    width: 100%;
    object-fit: cover;
}
.gallery-tile img, .gallery-tile{
  width: 100%;
}
}

/* FAQ Component Styles */
.faq-section {
  background-color: #0b0c10; /* Dynamic dark background matching your layout */
}

.text-accent {
  /* color: #f85101; */
  /* letter-spacing: 0.15em; */
}

.text-main {
  color: #ffffff;
}

.faq-accordion {
  border-top: 1px solid rgba(212, 195, 186, 0.15);
}

.faq-item {
  border-bottom: 1px solid rgba(212, 195, 186, 0.15) !important;
  transition: background-color 0.3s ease;
}

.faq-item:hover {
  background-color: rgba(255, 255, 255, 0.02);
}

.faq-trigger {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  background: transparent;
  border: none;
  padding: 1.5rem 1rem;
  color: #e5e5e5;
  font-size: 1.15rem;
  font-weight: 500;
  cursor: pointer;
  transition: color 0.3s ease;
}

.faq-trigger:hover {
  color: #ffffff;
}

/* Elegant CSS Custom Accordion Arrow Indicator */
.faq-icon {
  position: relative;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-left: 1.5rem;
}

.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  background-color: #f85101;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Horizontal Line */
.faq-icon::before {
  top: 7px;
  left: 0;
  width: 16px;
  height: 2px;
}

/* Vertical Line */
.faq-icon::after {
  top: 0;
  left: 7px;
  width: 2px;
  height: 16px;
}

/* Active State Transformation (Turns Plus to a Minus sign) */
.faq-trigger[aria-expanded="true"] {
  color: #ffffff;
}

.faq-trigger[aria-expanded="true"] .faq-icon::after {
  transform: rotate(90deg);
  opacity: 0;
}

.faq-trigger[aria-expanded="true"] .faq-icon::before {
  transform: rotate(180deg);
}

/* Smooth Height Animation Handling Container */
.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-content p {
  padding: 0 1rem 1.5rem 1rem;
  color: #a3a3a3;
  line-height: 1.6;
  margin: 0;
  font-size: 0.975rem;
}

/* Small devices responsive handling adjustments */
@media (max-width: 576px) {
  .faq-trigger {
    font-size: 1rem;
    padding: 1.25rem 0.5rem;
  }
  .faq-content p {
    padding: 0 0.5rem 1.25rem 0.5rem;
    font-size: 0.9rem;
  }
}

/* Testimonials Styling */
.testimonials-section {
  background-color: #0b0c10; /* Deep matching dark theme background */
}


.text-main {
  color: #ffffff;
}

.text-sm {
  font-size: 0.9rem;
}

.rating-stars {
  color: #f85101;
  font-size: 1.1rem;
  letter-spacing: 2px;
}

/* Slider Track Architecture */
.testimonial-slider-container {
  position: relative;
  min-height: 280px;
  display: flex;
  align-items: center;
}

.testimonial-track {
  position: relative;
  width: 100%;
  height: 100%;
}

/* Classy Card Crossfade Transitions */
.testimonial-card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s ease;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(212, 195, 186, 0.1);
  padding: 2.5rem;
  border-radius: 4px;
}

.testimonial-card.active {
  position: relative;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.testimonial-text {
  color: #e5e5e5;
  font-size: 1.2rem;
  line-height: 1.7;
  font-weight: 300;
  font-style: italic;
}

.author-name {
  color: #ffffff;
  font-weight: 600;
  font-size: 1.05rem;
}

/* Premium Sleek Control Buttons */
.control-btn {
  background: transparent;
  border: 1px solid rgba(212, 195, 186, 0.2);
  color: #ffffff;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.control-btn:hover {
  background: #f85101;
  border-color: #f85101;
}

/* Responsive Overrides */
@media (max-width: 991px) {
  .testimonial-card {
    padding: 1.75rem;
  }
  .testimonial-text {
    font-size: 1.05rem;
  }
  .testimonial-slider-container {
    min-height: auto;
  }
}