/* GoodBite Restaurant page — premium dark theme (shared header/footer come from style.css) */
body.gbp{background:#1b0e08;color:#f3e3d3}
.gbp header.nav{color:var(--ink)}
.gbp section{padding:104px 0}
.gbp h2{color:#fff}
.gbp .eyebrow{color:#ffc98a}
.gbp .lead{color:#d9c3b0;max-width:52ch}
.gbp .sec-head p{color:#cdb6a3}

/* HERO VIDEO */
.gbh{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;padding:calc(var(--nav-h) + 40px) 0 120px;background:linear-gradient(135deg,#1b0e08,#4a2314 60%,#7a2f12)}
.gbh video,.gbh .gbh-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gbh::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(27,14,8,.88),rgba(27,14,8,.45) 60%,rgba(27,14,8,.2)),linear-gradient(to top,#1b0e08 0%,transparent 40%)}
.gbh .wrap{position:relative;z-index:2}
.gbh h1{font-size:clamp(2.5rem,6.2vw,4.9rem);font-weight:900;margin:16px 0 20px;max-width:14ch;text-shadow:0 4px 30px rgba(0,0,0,.4)}
.gbh h1 em{font-style:normal;color:#ffc98a}
.gbh .sub{max-width:52ch;font-size:1.05rem;color:#f1dfcf}
.gbh .dots{margin:22px 0}
.gbh-pill{display:inline-flex;gap:10px;align-items:center;margin-top:26px;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);font-size:.78rem;font-weight:700;backdrop-filter:blur(8px)}
.gbh-pill i{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(168,185,45,.25)}
.gbh-ctrl{position:absolute;z-index:3;right:20px;bottom:100px;display:flex;gap:10px}
.gbh-ctrl button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(27,14,8,.45);color:#fff;font-size:1rem;backdrop-filter:blur(8px)}
.gbh-ctrl button:hover{background:var(--orange);border-color:var(--orange)}

/* STATS */
.gb-stats{background:var(--orange);color:#fff;padding:48px 0!important}
.gb-stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.gb-stats strong{display:block;font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:900;line-height:1}
.gb-stats span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.95}

/* INTRO */
.gb-intro p{color:#d9c3b0;margin-bottom:14px}
.gb-intro .photo{aspect-ratio:4/4.6;background:linear-gradient(135deg,#5a2a18,#c3511f)}
.gb-intro .photo.two{position:absolute;width:46%;aspect-ratio:1;right:-6%;bottom:-8%;border:6px solid #1b0e08;border-radius:24px}
.gb-intro .stack{position:relative}
.gb-sign{font-family:var(--serif);font-weight:800;color:#ffc98a;font-size:1.4rem;margin:18px 0}

/* EXPERIENCE */
.gb-exp{background:#231109}
.gb-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gb-feat{padding:28px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);transition:transform .3s,border-color .3s,background .3s}
.gb-feat:hover{transform:translateY(-6px);border-color:rgba(237,75,28,.6);background:rgba(255,255,255,.07)}
.gb-feat span{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,var(--orange),var(--crimson));font-size:1.4rem;margin-bottom:16px}
.gb-feat h3{color:#fff;margin-bottom:6px}
.gb-feat p{font-size:.88rem;color:#cdb6a3}

/* AMBIENCE */
.gb-amb-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:260px 260px;gap:16px}
.gb-amb{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#4a2314,#9b3f17);display:flex;align-items:flex-end}
.gb-amb:first-child{grid-row:span 2}
.gb-amb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.gb-amb:hover img{transform:scale(1.06)}
.gb-amb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(27,14,8,.85),transparent 60%)}
.gb-amb .em{position:absolute;inset:0;display:grid;place-items:center;font-size:3rem;opacity:.35}
.gb-amb div{position:relative;z-index:2;padding:20px 22px}
.gb-amb small{display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#ffc98a;font-weight:800}
.gb-amb strong{font-family:var(--serif);font-size:1.35rem;font-weight:800;color:#fff}

/* MENU */
.gb-menu{background:var(--cream);color:var(--ink)}
.gb-menu h2{color:var(--ink)}
.gb-menu .eyebrow{color:var(--orange)}
.gb-menu .sec-head p{color:var(--muted)}
.gb-switch{display:inline-flex;gap:4px;padding:4px;background:#f1eadf;border:1px solid #ebd8c5;border-radius:999px;margin-bottom:22px;box-shadow:0 8px 25px rgba(60,23,11,.07)}
.gb-switch button{border:0;background:transparent;color:var(--ink);padding:13px 26px;border-radius:999px;font-weight:800;font-size:.8rem;transition:.25s}
.gb-switch button:hover{color:var(--orange)}
.gb-switch button[aria-selected=true]{background:var(--brown);color:#fff;box-shadow:0 7px 18px rgba(39,20,13,.2)}
.gb-switch em{font-style:normal;display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:50%;margin-left:7px;background:#fff2eb;color:var(--orange);font-size:.65rem}
.gb-switch button[aria-selected=true] em{background:var(--orange);color:#fff}
.gb-note{display:flex;gap:14px;align-items:center;padding:16px 20px;border-radius:18px;background:var(--lime);color:var(--brown);margin-bottom:24px;font-size:.9rem;font-weight:600}
.gb-note b{font-family:var(--serif);font-size:1.15rem}
.gb-note[hidden]{display:none}
.gb-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.gb-chips button{padding:9px 18px;border-radius:999px;border:1.5px solid rgba(39,20,13,.2);background:transparent;font-weight:800;font-size:.78rem;color:var(--brown);transition:.2s}
.gb-chips button:hover{border-color:var(--orange)}
.gb-chips button[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:#fff}
.gb-dishes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dish{background:#fff;border-radius:20px;overflow:hidden;border:1px solid rgba(39,20,13,.09);display:flex;flex-direction:column;box-shadow:0 6px 18px rgba(39,20,13,.05);transition:transform .25s,box-shadow .25s}
.dish:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.dish .thumb{aspect-ratio:16/10}
.dish .tag{position:absolute;top:12px;left:12px;z-index:2;background:var(--orange);color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.06em;padding:5px 11px;border-radius:999px}
.dish .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.dish .row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.dish h3{font-size:1.1rem;color:var(--ink);display:flex;gap:9px;align-items:center}
.dish .price{font-weight:800;color:var(--orange);white-space:nowrap}
.dish p{font-size:.84rem;color:var(--muted);flex:1}
.dish .cat-l{font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.vd{flex:0 0 14px;width:14px;height:14px;border:1.5px solid #2a8a3a;display:inline-grid;place-items:center;border-radius:3px}
.vd::after{content:"";width:6px;height:6px;border-radius:50%;background:#2a8a3a}
.vd.nv{border-color:#b3261e}.vd.nv::after{background:#b3261e}
.gb-pdfs{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px;align-items:center}
.gb-pdfs span{font-weight:800;font-size:.85rem}
.gb-menu .btn-dark{border-color:rgba(39,20,13,.35)}

/* GALLERY */
.gb-gal-wrap{background:#231109}
.gb-gfilter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.gb-gfilter button{padding:9px 20px;border-radius:999px;border:1.5px solid rgba(255,255,255,.25);background:transparent;color:#f3e3d3;font-weight:800;font-size:.78rem}
.gb-gfilter button[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:#fff}
.gb-masonry{columns:3 280px;column-gap:16px}
.gi{position:relative;display:block;width:100%;margin:0 0 16px;border:0;padding:0;border-radius:20px;overflow:hidden;break-inside:avoid;background:linear-gradient(135deg,#4a2314,#9b3f17);cursor:zoom-in;min-height:200px;text-align:left;color:#fff}
.gi.tall{min-height:340px}.gi.wide{min-height:240px}
.gi img{position:relative;width:100%;height:auto;display:block;transition:transform .7s}
.gi:hover img{transform:scale(1.05)}
.gi .em{position:absolute;inset:0;display:grid;place-items:center;font-size:2.6rem;opacity:.35}
.gi::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(27,14,8,.8),transparent 55%);pointer-events:none}
.gi figcaption,.gi .cap{position:absolute;left:18px;bottom:14px;z-index:2;font-weight:800;font-size:.85rem}
.gi .play{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:var(--orange);display:grid;place-items:center;font-size:1.3rem;box-shadow:0 0 0 10px rgba(237,75,28,.25)}
.gi[hidden]{display:none}
.lb{position:fixed;inset:0;z-index:200;background:rgba(15,7,4,.94);display:none;place-items:center;padding:24px}
.lb.open{display:grid}
.lb img,.lb video{max-width:min(1100px,100%);max-height:84vh;border-radius:14px;background:#000}
.lb .x{position:absolute;top:18px;right:22px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:1.2rem}
.lb p{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#e9d8c8;font-weight:700}

/* OUTLETS */
.gb-outlets{background:var(--peach);color:var(--ink)}
.gb-outlets h2{color:var(--ink)}
.gb-outlets .eyebrow{color:var(--orange)}
.gb-outlets .sec-head p{color:var(--muted)}
.gb-ogrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.gb-oc{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #fff}
.gb-oc .img{position:relative;aspect-ratio:16/8;background:linear-gradient(160deg,#5a2a18,#27140D);display:grid;place-items:center;font-size:3rem}
.gb-oc .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gb-oc .img .bar{position:absolute;z-index:2;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--orange),var(--crimson),var(--lime))}
.gb-oc .in{padding:26px 26px 28px}
.gb-oc h3{font-size:1.7rem;margin:6px 0 8px;color:var(--ink)}
.gb-oc p{color:var(--muted);font-size:.9rem}
.gb-oc ul{list-style:none;margin:16px 0 20px;display:grid;gap:8px;font-size:.84rem;font-weight:700}
.gb-oc li span{color:var(--orange);margin-right:8px}
.gb-oc .cta-row .btn-dark{border-color:rgba(39,20,13,.35)}

/* RESERVE */
.gb-res{position:relative;text-align:center;background:linear-gradient(rgba(27,14,8,.82),rgba(27,14,8,.9)),url(assets/goodbite/reserve.jpg) center/cover #1b0e08}
.gb-res .dots{justify-content:center}
.gb-res p{max-width:52ch;margin:16px auto 28px;color:#e6d2c0}
.gb-res .cta-row{justify-content:center}
.gb-res .btn-ghost{border-color:rgba(255,255,255,.55)}

@media (max-width:980px){
  .gb-feats{grid-template-columns:repeat(2,1fr)}
  .gb-dishes{grid-template-columns:repeat(2,1fr)}
  .gb-amb-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gb-amb{min-height:240px}.gb-amb:first-child{grid-row:auto;grid-column:span 2;min-height:300px}
  .gb-ogrid{grid-template-columns:1fr}
  .gb-intro .photo.two{display:none}
}
@media (max-width:640px){
  .gbp section{padding:72px 0}
  .gb-stats .wrap{grid-template-columns:1fr 1fr;row-gap:28px}
  .gb-feats,.gb-dishes{grid-template-columns:1fr}
  .gb-masonry{columns:2 150px;column-gap:10px}.gi{margin-bottom:10px}
  .gb-switch{display:flex;width:100%}.gb-switch button{flex:1;padding:12px 8px;font-size:.74rem}
  .gbh{padding-bottom:90px}
  .gb-amb-grid{grid-template-columns:1fr}.gb-amb:first-child{grid-column:auto}
}
