/* ═══════════════════════════════════════════════════════
   CAFE ORIX — SECTIONS CSS
   All home page sections (below hero)
   Palette: #312C51 / #48426D / #F0C38E / #F1AA9B / #FAF8F5
═══════════════════════════════════════════════════════ */

:root {
  --dark:   #312C51;
  --purple: #48426D;
  --peach:  #F0C38E;
  --pink:   #F1AA9B;
  --cream:  #FAF8F5;
  --bg1:    #1d1833;
  --bg2:    #241d3f;
  --bg3:    #2c2450;
  --ease-sp: cubic-bezier(.34,1.56,.64,1);
  --ease-o:  cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Nunito',sans-serif;background:var(--bg1);overflow-x:hidden;}
a{text-decoration:none;} ul{list-style:none;} button{cursor:pointer;border:none;}

/* ─── SCROLL REVEAL ─── */
.js-up{
  opacity:0;
  transform:translateY(36px);
  transition:opacity .7s var(--ease-o), transform .7s var(--ease-o);
}
.js-up.visible{ opacity:1; transform:translateY(0); }

/* ─── COMMON SECTION ELEMENTS ─── */
section{ position:relative; overflow:hidden; }

.sec-hd{ text-align:center; margin-bottom:52px; display:flex; flex-direction:column; align-items:center; gap:0; }

.sec-tag{
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(240,195,142,.1); border:1.5px solid rgba(240,195,142,.22);
  border-radius:50px; padding:7px 18px; width:fit-content;
  font-family:'Poppins',sans-serif; font-size:.76rem; font-weight:600;
  color:var(--peach); letter-spacing:.3px; margin-bottom:14px;
}
.sec-title{
  font-family:'Fredoka One',cursive;
  font-size:clamp(2rem,4vw,3.2rem);
  color:#fff; line-height:1.1; margin-bottom:12px;
}
.sec-title span{ color:var(--peach); }
.sec-sub{
  font-family:'Poppins',sans-serif; font-size:.9rem;
  color:rgba(255,255,255,.5); line-height:1.75; max-width:500px;
}

/* ─── SHARED BUTTON STYLES ─── */
.btn-peach{
  display:inline-flex; align-items:center; gap:9px;
  background:linear-gradient(135deg,var(--peach),var(--pink));
  color:var(--dark); font-family:'Fredoka One',cursive; font-size:.95rem;
  padding:13px 26px; border-radius:20px; border:none;
  position:relative; overflow:hidden;
  transition:transform .25s var(--ease-sp), box-shadow .3s;
  width:fit-content;
  justify-content:center;
  align-self:flex-start;
  box-shadow:0 8px 28px rgba(240,195,142,.28);
}
.btn-peach:hover{ transform:translateY(-3px) scale(1.03); box-shadow:0 14px 38px rgba(240,195,142,.42); }
.btn-peach:active{ transform:scale(.97); }

.btn-ghost{
  display:inline-flex; align-items:center; gap:9px;
  background:transparent; color:rgba(255,255,255,.75);
  font-family:'Poppins',sans-serif; font-size:.88rem; font-weight:600;
  padding:12px 26px; border-radius:50px;
  border:2px solid rgba(255,255,255,.2);
  transition:all .3s;
}
.btn-ghost:hover{ border-color:var(--peach); color:var(--peach); background:rgba(240,195,142,.07); }

.btn-shine{
  position:absolute; top:0; left:-80%; width:55%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);
  animation:shSweep 3.5s ease-in-out infinite 1.5s;
}
@keyframes shSweep{ 0%{left:-80%} 30%{left:130%} 100%{left:130%} }

/* ═══════════════════════════════════════════════════════
   SECTION 1 — FEATURED MENU
═══════════════════════════════════════════════════════ */
.s-menu{
  padding:90px 5% 80px;
  background:linear-gradient(180deg,#241d3f 0%,var(--bg1) 100%);
}

/* Today's Special */
.special{
  display:grid; grid-template-columns:1fr 1fr; gap:52px;
  background:linear-gradient(135deg,rgba(240,195,142,.06),rgba(241,170,155,.04));
  border:1px solid rgba(240,195,142,.14); border-radius:28px;
  padding:50px 52px; margin-bottom:60px; position:relative; overflow:hidden;
  max-width:1300px; margin-left:auto; margin-right:auto;
}
.special::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(240,195,142,.05) 50%,transparent 100%);
  animation:spSweep 5s ease-in-out infinite;
  pointer-events:none;
}
@keyframes spSweep{ 0%{transform:translateX(-100%)} 50%{transform:translateX(100%)} 100%{transform:translateX(100%)} }

.sp-left{ display:flex; flex-direction:column; gap:22px; justify-content:center; align-items:flex-start; }
.sp-badge{
  display:inline-flex; align-items:center; gap:7px;
  background:linear-gradient(135deg,rgba(240,195,142,.2),rgba(241,170,155,.15));
  border:1.5px solid rgba(240,195,142,.3); border-radius:50px;
  padding:8px 18px; width:fit-content;
  font-family:'Poppins',sans-serif; font-size:.78rem; font-weight:700;
  color:var(--peach); letter-spacing:.3px;
}
.sp-badge i{ animation:boltFlash 2s ease-in-out infinite; color:var(--peach); }
@keyframes boltFlash{ 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.6;transform:scale(1.2)} }

.sp-name{
  font-family:'Fredoka One',cursive;
  font-size:clamp(2.2rem,4vw,3.4rem);
  color:#fff; line-height:1; letter-spacing:-.5px;
}
.sp-name span{ color:var(--peach); }

.sp-desc{ font-family:'Poppins',sans-serif; font-size:.9rem; color:rgba(255,255,255,.55); line-height:1.7; max-width:420px; }

.sp-price{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.sp-old{ font-family:'Nunito',sans-serif; font-size:1.1rem; color:rgba(255,255,255,.3); text-decoration:line-through; }
.sp-new{ font-family:'Fredoka One',cursive; font-size:2rem; color:var(--peach); }
.sp-save{
  background:rgba(74,222,128,.15); border:1px solid rgba(74,222,128,.25);
  color:#4ade80; border-radius:50px; padding:5px 14px;
  font-family:'Poppins',sans-serif; font-size:.76rem; font-weight:700;
  display:flex; align-items:center; gap:5px;
}

/* Countdown */
.sp-timer{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:14px 18px; background:rgba(0,0,0,.22);
  border-radius:14px; border:1px solid rgba(255,255,255,.06);
  width:fit-content;
}
.sp-timer > i{ color:var(--peach); font-size:.95rem; }
.sp-timer-lbl{ font-family:'Poppins',sans-serif; font-size:.78rem; color:rgba(255,255,255,.45); }
.cd{ display:flex; align-items:center; gap:6px; }
.cd-u{
  display:flex; flex-direction:column; align-items:center;
  background:rgba(49,44,81,.7); border-radius:10px;
  padding:8px 12px; min-width:52px; border:1px solid rgba(240,195,142,.12);
}
.cd-u span{ font-family:'Fredoka One',cursive; font-size:1.5rem; color:var(--peach); line-height:1; }
.cd-u label{ font-family:'Poppins',sans-serif; font-size:.58rem; color:rgba(255,255,255,.35); text-transform:uppercase; letter-spacing:1px; margin-top:3px; }
.cd-sep{ font-family:'Fredoka One',cursive; font-size:1.5rem; color:var(--peach); animation:colonBlink 1s step-end infinite; }
@keyframes colonBlink{ 0%,100%{opacity:1} 50%{opacity:0} }

/* Special right visual */
.sp-right{ display:flex; align-items:center; justify-content:center; }
.sp-vis{ position:relative; width:300px; height:300px; flex-shrink:0; }
.spv-ring{
  position:absolute; top:50%; left:50%;
  border-radius:50%; transform:translate(-50%,-50%);
}
.spv-r1{
  width:280px; height:280px; margin:0;
  border:1.5px dashed rgba(240,195,142,.22);
  animation:spRing1 18s linear infinite;
}
.spv-r2{
  width:200px; height:200px;
  border:1.5px solid rgba(241,170,155,.16);
  animation:spRing2 12s linear infinite;
}
@keyframes spRing1{ to{transform:translate(-50%,-50%) rotate(360deg)} }
@keyframes spRing2{ to{transform:translate(-50%,-50%) rotate(-360deg)} }
.spv-center{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  display:flex; align-items:center; gap:14px;
  background:rgba(255,255,255,.05); backdrop-filter:blur(10px);
  border:1.5px solid rgba(240,195,142,.2); border-radius:20px;
  padding:22px 26px; z-index:3;
}
.spv-i1,.spv-i2{ font-size:2.4rem; color:var(--peach); filter:drop-shadow(0 4px 14px rgba(240,195,142,.3)); }
.spv-i1{ animation:icoB1 3s ease-in-out infinite; }
.spv-i2{ animation:icoB2 3s ease-in-out infinite .5s; }
@keyframes icoB1{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes icoB2{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
.spv-plus{ font-size:1rem; color:rgba(255,255,255,.3); }
.spv-pill{
  position:absolute; display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,.08); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.14); border-radius:50px;
  padding:8px 14px;
  font-family:'Poppins',sans-serif; font-size:.72rem; font-weight:600;
  color:rgba(255,255,255,.85); white-space:nowrap; z-index:4;
}
.spv-pill i{ color:var(--peach); font-size:.75rem; }
.spv-p1{ top:22px; right:-10px; animation:pillF1 4.5s ease-in-out infinite; }
.spv-p2{ bottom:28px; left:-15px; animation:pillF2 5.5s ease-in-out infinite .7s; }
@keyframes pillF1{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-9px)} }
@keyframes pillF2{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)} }

/* Menu Cards Grid */
.mc-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
  max-width:1300px; margin:0 auto;
}

.mc{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07); border-radius:22px;
  overflow:hidden; transform-style:preserve-3d; will-change:transform;
  opacity:0; transform:translateY(38px);
  transition:box-shadow .3s ease, opacity .6s var(--ease-o), transform .6s var(--ease-o);
}
.mc.visible{ opacity:1; transform:translateY(0); }
.mc:hover{ box-shadow:0 20px 55px rgba(0,0,0,.3); }

.mc-img{
  height:188px; display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.mc-img::after{
  content:''; position:absolute; inset:0;
  background:rgba(0,0,0,0); transition:background .35s;
}
.mc:hover .mc-img::after{ background:rgba(0,0,0,.1); }

.mc-ico{
  font-size:4.4rem; color:rgba(240,195,142,.82);
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.25));
  transition:transform .45s cubic-bezier(.34,1.56,.64,1);
  position:relative; z-index:1;
}
.mc:hover .mc-ico{ transform:scale(1.18) translateY(-10px); }

.mc-cat{
  position:absolute; top:12px; right:12px;
  background:rgba(0,0,0,.35); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.12); border-radius:50px;
  padding:4px 10px;
  font-family:'Poppins',sans-serif; font-size:.68rem; font-weight:600;
  color:rgba(255,255,255,.8); display:flex; align-items:center; gap:5px;
  z-index:2;
}
.mc-cat i{ font-size:.55rem; color:var(--peach); }

.mc-chef{
  position:absolute; top:12px; left:0;
  background:linear-gradient(135deg,var(--peach),#d9a060);
  color:var(--dark); font-family:'Fredoka One',cursive; font-size:.7rem;
  padding:5px 14px 5px 10px; border-radius:0 50px 50px 0;
  display:flex; align-items:center; gap:5px;
  box-shadow:0 4px 14px rgba(240,195,142,.35); z-index:2;
}

.mc-temp{
  position:absolute; bottom:10px; right:10px;
  padding:4px 10px; border-radius:50px;
  font-size:.7rem; font-family:'Poppins',sans-serif; font-weight:600; z-index:2;
}
.mc-temp.hot{ background:rgba(248,113,113,.15); color:#fca5a5; border:1px solid rgba(248,113,113,.22); }
.mc-temp.cold{ background:rgba(147,197,253,.15); color:#93c5fd; border:1px solid rgba(147,197,253,.22); }

.mc-bd{ padding:18px 18px 16px; display:flex; flex-direction:column; gap:8px; }
.mc-rat{ display:flex; align-items:center; gap:6px; }
.mc-stars i{ color:#f59e0b; font-size:.8rem; }
.mc-rat span{ font-family:'Poppins',sans-serif; font-size:.76rem; color:rgba(255,255,255,.5); }
.mc-rat span em{ color:rgba(255,255,255,.3); font-style:normal; }
.mc-nm{ font-family:'Nunito',sans-serif; font-weight:800; font-size:1.05rem; color:#fff; }
.mc-ds{ font-family:'Poppins',sans-serif; font-size:.76rem; color:rgba(255,255,255,.45); line-height:1.55; }

.mc-tags{ display:flex; gap:6px; flex-wrap:wrap; }
.mc-tags span{
  padding:3px 10px; border-radius:50px;
  font-family:'Poppins',sans-serif; font-size:.68rem; font-weight:600;
  display:flex; align-items:center; gap:4px;
}
.t-cal{ background:rgba(72,66,109,.25); color:rgba(240,195,142,.8); }
.t-veg{ background:rgba(74,222,128,.12); color:#86efac; }
.t-nv{ background:rgba(248,113,113,.12); color:#fca5a5; }

.mc-ft{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:10px; border-top:1px solid rgba(255,255,255,.06);
}
.mc-pr{ font-family:'Fredoka One',cursive; font-size:1.25rem; color:var(--peach); }
.mc-pr em{ font-size:.72rem; color:rgba(255,255,255,.3); font-family:'Poppins',sans-serif; font-weight:400; font-style:normal; margin-left:3px; }
.mc-btn{
  background:linear-gradient(135deg,var(--dark),var(--purple));
  color:var(--peach); border:none; border-radius:50px;
  padding:8px 18px; font-family:'Fredoka One',cursive; font-size:.85rem;
  display:flex; align-items:center; gap:6px;
  transition:all .25s; position:relative; overflow:hidden;
}
.mc-btn:hover{ transform:scale(1.07); box-shadow:0 6px 18px rgba(49,44,81,.4); }

.s-cta{ text-align:center; margin-top:50px; }
.view-all{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Fredoka One',cursive; font-size:1rem;
  color:rgba(255,255,255,.7); border:2px solid rgba(240,195,142,.25);
  border-radius:50px; padding:13px 32px;
  transition:all .3s; position:relative; overflow:hidden;
}
.view-all:hover{ border-color:var(--peach); color:var(--peach); background:rgba(240,195,142,.06); transform:translateY(-2px); }
.view-all i{ transition:transform .3s; }
.view-all:hover i{ transform:translateX(5px); }

/* ═══════════════════════════════════════════════════════
   SECTION 2 — AMBIANCE PARALLAX
═══════════════════════════════════════════════════════ */
.s-amb{
  min-height:85vh; position:relative;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:100px 5% 60px; text-align:center; overflow:hidden;
}
.amb-bg{ position:absolute; inset:0; z-index:0; }
.amb-layer{ position:absolute; inset:0; will-change:transform; }
.a-l1{
  background:
    linear-gradient(135deg,#0d0a1a 0%,#1d1532 30%,#2c2450 65%,#312C51 100%);
}
.a-l2{
  background:
    radial-gradient(ellipse 70% 60% at 15% 50%, rgba(240,195,142,.16) 0%,transparent 55%),
    radial-gradient(ellipse 60% 50% at 85% 30%, rgba(241,170,155,.12) 0%,transparent 50%),
    radial-gradient(ellipse 50% 60% at 50% 85%, rgba(72,66,109,.3) 0%,transparent 50%);
  animation:ambGlow 10s ease-in-out infinite alternate;
}
@keyframes ambGlow{ 0%{opacity:.7;transform:scale(1)} 100%{opacity:1;transform:scale(1.05)} }
.a-l3{
  background:
    repeating-linear-gradient(45deg, rgba(240,195,142,.018) 0px,rgba(240,195,142,.018) 1px,transparent 1px,transparent 22px);
}
.amb-vignette{
  position:absolute; inset:0;
  background:radial-gradient(ellipse at center, transparent 35%, rgba(0,0,0,.65) 100%);
}

/* Floating frames */
.amb-frames{
  position:absolute; inset:0; pointer-events:none; z-index:2;
}
.amb-frame{
  position:absolute; display:flex; align-items:center; gap:9px;
  background:rgba(255,255,255,.07); backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.12); border-radius:50px;
  padding:10px 20px;
  font-family:'Poppins',sans-serif; font-size:.78rem; font-weight:600;
  color:rgba(255,255,255,.8); pointer-events:auto;
  transition:all .3s;
}
.amb-frame:hover{ background:rgba(240,195,142,.12); border-color:rgba(240,195,142,.3); }
.amb-frame i{ color:var(--peach); font-size:.82rem; }
.a-f1{ top:20%; right:6%; animation:afFloat1 5s ease-in-out infinite; }
.a-f2{ bottom:28%; left:5%; animation:afFloat2 6s ease-in-out infinite .8s; }
.a-f3{ top:55%; right:8%; animation:afFloat3 4.5s ease-in-out infinite 1.5s; }
@keyframes afFloat1{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes afFloat2{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(10px)} }
@keyframes afFloat3{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

/* Ambiance content */
.amb-body{
  position:relative; z-index:3; display:flex;
  flex-direction:column; align-items:center; gap:18px;
}
.amb-title{
  font-family:'Fredoka One',cursive;
  font-size:clamp(2.4rem,5vw,4rem);
  color:#fff; line-height:1.1; max-width:620px;
}
.amb-title span{ color:var(--peach); }
.amb-sub{
  font-family:'Poppins',sans-serif; font-size:.95rem;
  color:rgba(255,255,255,.55); line-height:1.75; max-width:520px;
}
.amb-ctas{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; justify-content:center; margin-top:8px; }

/* Ambiance stats */
.amb-stats{
  position:absolute; bottom:0; left:0; right:0; z-index:3;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.3); backdrop-filter:blur(8px);
  border-top:1px solid rgba(240,195,142,.1); padding:18px 5%;
  gap:0;
}
.as-item{
  flex:1; text-align:center;
  display:flex; flex-direction:column; gap:4px;
}
.as-item strong{
  font-family:'Fredoka One',cursive; font-size:1.6rem; color:var(--peach);
}
.as-item span{
  font-family:'Poppins',sans-serif; font-size:.72rem; color:rgba(255,255,255,.4);
  text-transform:uppercase; letter-spacing:.8px;
}
.as-sep{ width:1px; background:rgba(255,255,255,.1); align-self:stretch; margin:0 8px; }

/* ═══════════════════════════════════════════════════════
   SECTION 3 — LIVE TABLE AVAILABILITY
═══════════════════════════════════════════════════════ */
.s-tables{
  padding:90px 5%;
  background:linear-gradient(180deg,var(--bg1) 0%,var(--bg2) 100%);
}
.tbl-inner{
  display:grid; grid-template-columns:1fr 1.4fr; gap:70px;
  align-items:start; max-width:1300px; margin:0 auto;
}
.tbl-info{ display:flex; flex-direction:column; gap:24px; }
.tbl-info .sec-title,.tbl-info .sec-sub{ text-align:left; }
.tbl-info .sec-sub{ max-width:380px; }

/* Live dot */
.live-dot{
  display:inline-block; width:9px; height:9px; border-radius:50%;
  background:#4ade80; flex-shrink:0;
  animation:livePulse 1.6s ease-in-out infinite;
}
@keyframes livePulse{
  0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.5)}
  50%{box-shadow:0 0 0 7px rgba(74,222,128,0)}
}
.s-tables .sec-tag{ display:inline-flex; align-items:center; gap:7px; }

/* Avail stats */
.avail-row{ display:flex; gap:14px; flex-wrap:wrap; }
.av-item{
  display:flex; align-items:center; gap:10px;
  padding:12px 16px; border-radius:14px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07);
  flex:1; min-width:120px;
}
.av-dot{
  width:10px; height:10px; border-radius:50%; flex-shrink:0;
}
.av-green .av-dot{ background:#4ade80; animation:livePulse 1.6s ease-in-out infinite; }
.av-orange .av-dot{ background:#f97316; animation:livePulse 1.6s ease-in-out infinite .5s; }
.av-red .av-dot{ background:#ef4444; }
.av-item > div{ display:flex; flex-direction:column; gap:2px; }
.av-item strong{ font-family:'Fredoka One',cursive; font-size:1.2rem; color:#fff; }
.av-item span{ font-family:'Poppins',sans-serif; font-size:.68rem; color:rgba(255,255,255,.4); }

/* Hours */
.tbl-hours{ display:flex; flex-direction:column; gap:10px; }
.th-r{
  display:flex; align-items:center; gap:10px;
  font-family:'Poppins',sans-serif; font-size:.82rem; color:rgba(255,255,255,.5);
}
.th-r i{ color:var(--peach); font-size:.82rem; width:16px; text-align:center; }

/* Floor Plan */
.floor-plan{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(240,195,142,.1); border-radius:24px;
  padding:28px; position:relative;
}
.fp-title{
  font-family:'Fredoka One',cursive; font-size:1rem; color:var(--peach);
  margin-bottom:22px; display:flex; align-items:center; gap:8px;
}
.fp-zone{ margin-bottom:22px; }
.fp-zone-lbl{
  font-family:'Poppins',sans-serif; font-size:.72rem; font-weight:600;
  color:rgba(255,255,255,.35); text-transform:uppercase; letter-spacing:1.2px;
  margin-bottom:10px; display:flex; align-items:center; gap:6px;
}
.fp-row{ display:flex; gap:10px; flex-wrap:wrap; }

.fp-t{
  width:68px; height:68px; border-radius:12px; border:2px solid;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  cursor:pointer; transition:all .22s ease; position:relative;
}
.fp-t i{ font-size:.6rem; }
.fp-t span{ font-family:'Fredoka One',cursive; font-size:.78rem; line-height:1; }
.fp-t em{ font-family:'Poppins',sans-serif; font-size:.6rem; color:rgba(255,255,255,.35); font-style:normal; }
.fp-t:hover{ transform:scale(1.08); }

.fp-t[data-status="available"]{ border-color:rgba(74,222,128,.45); background:rgba(74,222,128,.06); }
.fp-t[data-status="available"] i{ color:#4ade80; animation:tablePulse 2s ease-in-out infinite; }
.fp-t[data-status="available"] span{ color:#86efac; }
.fp-t[data-status="occupied"]{ border-color:rgba(239,68,68,.38); background:rgba(239,68,68,.05); }
.fp-t[data-status="occupied"] i{ color:#ef4444; }
.fp-t[data-status="occupied"] span{ color:#fca5a5; }
.fp-t[data-status="reserved"]{ border-color:rgba(249,115,22,.38); background:rgba(249,115,22,.05); }
.fp-t[data-status="reserved"] i{ color:#f97316; }
.fp-t[data-status="reserved"] span{ color:#fdba74; }
.fp-t.selected{
  border-color:var(--peach) !important;
  background:rgba(240,195,142,.12) !important;
  box-shadow:0 0 0 3px rgba(240,195,142,.2);
  transform:scale(1.08);
}
@keyframes tablePulse{ 0%,100%{opacity:1} 50%{opacity:.4} }

.fp-lg{ width:84px; height:84px; }
.fp-booth{ width:72px; height:56px; border-radius:8px; }

.fp-legend{
  display:flex; gap:16px; flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.07); padding-top:14px; margin-top:4px;
}
.fp-legend span{
  display:flex; align-items:center; gap:6px;
  font-family:'Poppins',sans-serif; font-size:.73rem; color:rgba(255,255,255,.45);
}
.fp-legend i{ font-size:.65rem; }

.fp-popup{
  display:none; position:absolute; bottom:16px; right:16px;
  background:linear-gradient(135deg,rgba(49,44,81,.95),rgba(72,66,109,.95));
  backdrop-filter:blur(10px); border:1px solid rgba(240,195,142,.22);
  border-radius:14px; padding:12px 18px;
  animation:popIn .35s var(--ease-sp) forwards;
}
.fp-popup.show{ display:flex; align-items:center; gap:14px; }
@keyframes popIn{ from{opacity:0;transform:scale(.85) translateY(10px)} to{opacity:1;transform:scale(1) translateY(0)} }
#fpPopupTxt{
  font-family:'Poppins',sans-serif; font-size:.8rem; color:rgba(255,255,255,.7);
}
.fp-book{
  display:flex; align-items:center; gap:6px;
  background:var(--peach); color:var(--dark);
  font-family:'Fredoka One',cursive; font-size:.82rem;
  padding:7px 16px; border-radius:50px; white-space:nowrap;
  transition:all .2s;
}
.fp-book:hover{ background:var(--pink); transform:scale(1.04); }

/* ═══════════════════════════════════════════════════════
   SECTION 4 — REVIEWS MARQUEE
═══════════════════════════════════════════════════════ */
.s-rev{
  padding:90px 0 80px;
  background:linear-gradient(180deg,var(--bg2) 0%,var(--dark) 100%);
  overflow:hidden;
}
.rev-hd{ text-align:center; padding:0 5%; margin-bottom:48px; }
.rev-overall{
  display:inline-flex; align-items:center; gap:16px; margin-top:14px;
  background:rgba(255,255,255,.05); border:1px solid rgba(240,195,142,.15);
  border-radius:50px; padding:10px 22px;
}
.ro-score{ font-family:'Fredoka One',cursive; font-size:2rem; color:var(--peach); }
.ro-stars{ display:flex; gap:2px; margin-bottom:3px; }
.ro-stars i{ color:#f59e0b; font-size:.85rem; }
.rev-overall > div:last-child span{
  font-family:'Poppins',sans-serif; font-size:.72rem; color:rgba(255,255,255,.4);
}

/* Marquee rows */
.rev-row{ overflow:hidden; padding:10px 0; }
.rr1{ margin-bottom:14px; }
.rev-track{
  display:flex; gap:18px; width:max-content;
  animation:marqueeL 38s linear infinite;
}
.rt-rev{ animation:marqueeR 38s linear infinite; }
.rev-row:hover .rev-track{ animation-play-state:paused; }
@keyframes marqueeL{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes marqueeR{ 0%{transform:translateX(-50%)} 100%{transform:translateX(0)} }

.rc{
  width:290px; flex-shrink:0;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07);
  border-radius:18px; padding:20px; display:flex; flex-direction:column; gap:10px;
  transition:all .3s;
}
.rc:hover{
  background:rgba(240,195,142,.06); border-color:rgba(240,195,142,.18);
  transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,.2);
}
.rc-top{ display:flex; align-items:center; gap:10px; }
.rc-av{
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--dark),var(--purple));
  border:2px solid rgba(240,195,142,.2);
  display:flex; align-items:center; justify-content:center;
  color:var(--peach); font-size:.82rem;
}
.rc-top b{ font-family:'Nunito',sans-serif; font-weight:800; font-size:.88rem; color:#fff; display:block; }
.rc-s{ display:flex; gap:1px; margin-top:2px; }
.rc-s i{ color:#f59e0b; font-size:.7rem; }
.rc-src{ margin-left:auto; font-size:1rem; color:rgba(255,255,255,.25); }
.fa-brands.fa-google{ color:#4285f4 !important; opacity:.7; }
.fa-brands.fa-instagram{ color:#e1306c !important; opacity:.7; }
.rc p{ font-family:'Poppins',sans-serif; font-size:.78rem; color:rgba(255,255,255,.6); line-height:1.6; flex:1; }
.rc-dt{ font-family:'Poppins',sans-serif; font-size:.68rem; color:rgba(255,255,255,.28); }

/* ═══════════════════════════════════════════════════════
   SECTION 5 — INSTAGRAM FEED
═══════════════════════════════════════════════════════ */
.s-insta{
  padding:90px 5%;
  background:linear-gradient(180deg,var(--dark) 0%,var(--bg1) 100%);
}
.insta-hd{ text-align:center; margin-bottom:44px; display:flex; flex-direction:column; align-items:center; }
.insta-hd .sec-sub{ max-width:420px; }
.ig-p{
  position:relative;
  overflow:hidden;

  border-radius:20px;

  height:240px;

  background:#221c3d;

  transition:.35s ease;
}

.ig-p img{
  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  display:block;
}

.ig-p.visible{ opacity:1; transform:scale(1); }
.ig-big{ grid-row:span 2; }

.ig-bg{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:3.5rem; color:rgba(240,195,142,.5);
  transition:transform .5s ease;
}
.ig-p:hover .ig-bg{ transform:scale(1.08); }

.ig-p:hover img{

  transform:scale(1.06);
}

.ig-ov{
  position:absolute; inset:0;
  background:rgba(0,0,0,0); display:flex;
  align-items:center; justify-content:center;
  transition:background .3s ease;
}
.ig-p:hover .ig-ov{ background:rgba(0,0,0,.52); }
.ig-st{
  display:flex; gap:18px;
  opacity:0; transform:translateY(10px);
  transition:all .3s ease;
}
.ig-p:hover .ig-st{ opacity:1; transform:translateY(0); }
.ig-st span{
  display:flex; align-items:center; gap:6px;
  font-family:'Poppins',sans-serif; font-size:.82rem; font-weight:600; color:#fff;
}
.ig-st .fa-heart{ color:#ef4444; }
.ig-st .fa-comment{ color:#93c5fd; }

.insta-cta{ text-align:center; }
.ig-follow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Fredoka One',cursive; font-size:1rem;
  background:linear-gradient(135deg,rgba(225,48,108,.18),rgba(131,58,180,.18));
  border:2px solid rgba(225,48,108,.3); color:rgba(255,255,255,.85);
  border-radius:50px; padding:13px 32px;
  transition:all .3s;
}
.ig-follow:hover{
  background:linear-gradient(135deg,rgba(225,48,108,.28),rgba(131,58,180,.28));
  border-color:rgba(225,48,108,.5); color:#fff;
  transform:translateY(-3px); box-shadow:0 12px 32px rgba(225,48,108,.2);
}
.ig-follow i{ font-size:1.1rem; color:#e1306c; }
.ig-cnt{
  background:rgba(255,255,255,.1); border-radius:50px; padding:3px 12px;
  font-size:.72rem; font-family:'Poppins',sans-serif; color:rgba(255,255,255,.55);
}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════ */
@media (max-width:1100px){
  .mc-grid{ grid-template-columns:repeat(2,1fr); gap:20px; }
  .special{ gap:36px; padding:38px; }
  .tbl-inner{ gap:40px; }
}
@media (max-width:900px){
  .s-menu,.s-tables,.s-insta,.s-nl{ padding:70px 5%; }
  .special{
    grid-template-columns:1fr;
    gap:36px; padding:32px;
  }
  .sp-right{ display:none; }
  .tbl-inner{ grid-template-columns:1fr; gap:40px; }
  .floor-plan{ overflow-x:auto; }
  .ig-grid{ grid-auto-rows:170px; gap:10px; }
  .a-f1,.a-f3{ right:3%; }
  .a-f2{ left:3%; }
}
@media (max-width:700px){
  .mc-grid{ grid-template-columns:1fr; gap:18px; }
  .ig-grid{ grid-template-columns:repeat(2,1fr); }
  .ig-big{ grid-row:span 1; }
  .ig-grid .ig-p:last-child{ display:none; }
  .fp-row{ gap:8px; }
  .fp-t{ width:58px; height:58px; }
  .fp-lg{ width:70px; height:70px; }
  .fp-booth{ width:60px; height:48px; }
  .amb-frames{ display:none; }
  .amb-stats{ position:relative; margin-top:0; }
  .s-amb{ padding-bottom:20px; min-height:auto; }
  .nl-iw{ flex-direction:column; border-radius:16px; }
  .nl-btn{
  height:54px;

  border-radius:0 0 16px 16px;

  padding:0 18px;

  justify-content:center;

  display:flex;
  align-items:center;
  gap:8px;
}
  .nl-in{ padding:16px 16px 16px 46px; }
  .nl-ico{
  top:26px;
  left:18px;

  transform:none;

  font-size:.9rem;

  display:flex;
  align-items:center;
  justify-content:center;
}
  .avail-row{ gap:10px; }
  .av-item{ flex-direction:column; text-align:center; gap:6px; min-width:100px; }
}
@media (max-width:480px){
  .s-menu,.s-tables,.s-rev,.s-insta,.s-nl{ padding:56px 5%; }
  .special{ padding:24px; }
  .cd-u{ min-width:44px; }
  .cd-u span{ font-size:1.2rem; }
  .sp-price{ flex-wrap:wrap; gap:8px; }
  .ig-grid{ grid-template-columns:repeat(3,1fr); grid-auto-rows:120px; }
  .ig-big{ grid-row:span 1; }
  .ig-grid .ig-p:nth-child(n+7){ display:none; }
  .rev-row{ overflow:hidden; }
  .rc{ width:250px; }
  .nl-perks{ flex-direction:column; align-items:center; }
  .as-item strong{ font-size:1.2rem; }
  .tbl-info .sec-title{ font-size:1.8rem; }
  .floor-plan{ padding:18px; }
}
/* ===== INSTAGRAM PERFECT FINAL ===== */

.ig-grid{
  max-width:1100px;
  margin:0 auto;

  display:grid;
  grid-template-columns:repeat(3,1fr);

  gap:16px;
}

.ig-p{
  position:relative;
  overflow:hidden;

  height:220px;

  border-radius:22px;

  background:#221c3d;

  transition:
  transform .35s ease,
  box-shadow .35s ease;
}

.ig-p img{
  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  display:block;

  transition:transform .45s ease;
}

.ig-p:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 36px rgba(0,0,0,.26);
}

.ig-p:hover img{
  transform:scale(1.04);
}

/* MOBILE */

@media(max-width:768px){

  .ig-grid{
    display:flex;

    overflow-x:auto;

    gap:14px;

    padding:0 10px 8px;

    scroll-snap-type:x mandatory;

    scrollbar-width:none;
  }

  .ig-grid::-webkit-scrollbar{
    display:none;
  }

  .ig-p{
    min-width:82%;

    height:320px;

    flex-shrink:0;

    scroll-snap-align:center;

    border-radius:22px;
  }

  .insta-cta{
    margin-top:20px;
  }

  .ig-follow{
    padding:13px 24px;

    font-size:.88rem;

    border-radius:16px;
  }

}