/* ============================================================
   PIKE — MENU PAGE
   ============================================================ */

/* === MENU HERO === */
.menu-hero{
  position:relative;
  background:var(--navy-deep);color:var(--cream);
  padding:calc(var(--nav-h) + 80px) 0 80px;
  text-align:center;overflow:hidden;
}
.menu-hero-bg{
  position:absolute;inset:0;z-index:0;
  opacity:.22;
}
.menu-hero-bg img{width:100%;height:100%;object-fit:cover}
.menu-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent,rgba(19,31,69,.95));
}
.menu-hero-inner{position:relative;z-index:2;max-width:880px;margin:0 auto;padding:0 var(--gutter)}
.menu-hero h1{
  color:var(--cream);
  font-size:clamp(64px,10vw,144px);
  margin:32px 0 24px;
}
.menu-hero h1 em{font-family:var(--font-serif);font-style:italic;color:var(--gold);font-weight:400;font-size:.7em}
.menu-hero p{
  font-family:var(--font-serif);font-style:italic;
  font-size:21px;line-height:1.6;
  color:rgba(242,236,216,.82);
  max-width:620px;margin:0 auto;
}

/* === FILTER BAR === */
.menu-filter{
  background:var(--cream);
  position:sticky;top:var(--nav-h);z-index:50;
  padding:18px 0;
  border-bottom:1px solid rgba(184,151,74,.3);
}
.menu-filter-inner{
  display:flex;justify-content:center;flex-wrap:wrap;gap:8px;
  padding:0 var(--gutter);
}
.filter-btn{
  font-family:var(--font-ui);
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
  background:transparent;color:var(--ink);
  padding:10px 18px;
  border:1px solid rgba(28,43,94,.18);
  cursor:pointer;
  transition:all .3s var(--ease-out);
}
.filter-btn:hover{border-color:var(--navy);color:var(--navy)}
.filter-btn.active{background:var(--navy);color:var(--cream);border-color:var(--navy)}

/* === MENU GRID === */
.menu-section{
  background:var(--cream);
  padding:60px 0 100px;
}
.menu-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.menu-item{
  background:var(--paper);
  position:relative;overflow:hidden;
  transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out);
  display:flex;flex-direction:column;
}
.menu-item:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 48px rgba(28,43,94,.14);
}
.menu-item-img{
  aspect-ratio:1/1;overflow:hidden;
  position:relative;
}
.menu-item-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .8s var(--ease-out);
}
.menu-item:hover .menu-item-img img{transform:scale(1.06)}
.menu-item-flag{
  position:absolute;top:14px;left:14px;
  font-family:var(--font-ui);font-size:9px;letter-spacing:.3em;text-transform:uppercase;font-weight:700;
  background:var(--navy);color:var(--cream);
  padding:5px 10px;
}
.menu-item-num{
  position:absolute;top:14px;right:14px;
  font-family:var(--font-display);font-size:14px;letter-spacing:.06em;
  background:var(--gold);color:var(--navy);
  padding:4px 9px;
}
.menu-item-body{
  padding:18px 20px 22px;
  display:flex;flex-direction:column;gap:4px;flex:1;
}
.menu-item-name{
  font-family:var(--font-display);
  font-size:24px;letter-spacing:.04em;
  color:var(--navy);line-height:1;
}
.menu-item-origin{
  font-family:var(--font-serif);font-style:italic;
  font-size:13px;color:var(--ink);opacity:.7;
}
.menu-item-toppings{
  font-family:var(--font-ui);
  font-size:12px;letter-spacing:.04em;
  color:var(--ink);opacity:.65;
  line-height:1.4;
  margin-top:6px;flex:1;
}
.menu-item-price{
  font-family:var(--font-ui);
  font-size:18px;letter-spacing:.04em;font-weight:700;
  color:var(--red);
  margin-top:10px;
}

@media(max-width:980px){.menu-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:560px){.menu-grid{grid-template-columns:1fr 1fr}}

/* === ACOMPANHAMENTOS === */
.sides{
  background:var(--cream-warm);
  position:relative;
}
.sides-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:32px;margin-top:40px;
}
.side-card{
  background:var(--cream);
  display:grid;grid-template-columns:1fr 1.2fr;gap:0;
  position:relative;overflow:hidden;
}
.side-card-img{aspect-ratio:1/1;overflow:hidden}
.side-card-img img{width:100%;height:100%;object-fit:cover}
.side-card-body{padding:38px 32px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.side-card-eyebrow{font-family:var(--font-ui);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600}
.side-card h3{font-family:var(--font-display);font-size:32px;letter-spacing:.04em;color:var(--navy);line-height:1;margin:6px 0 10px}
.side-card-desc{font-family:var(--font-serif);font-size:15px;line-height:1.6;color:var(--ink);opacity:.78;margin-bottom:14px}
.side-card-price{font-family:var(--font-ui);font-size:18px;letter-spacing:.04em;font-weight:700;color:var(--red)}

@media(max-width:880px){
  .sides-grid{grid-template-columns:1fr}
  .side-card{grid-template-columns:1fr;display:flex;flex-direction:column}
  .side-card-img{aspect-ratio:16/9}
}

/* === BANDEJA === */
.tray-section{
  background:var(--navy);color:var(--cream);
  position:relative;overflow:hidden;
}
.tray-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:60px;align-items:center;
}
.tray-grid img{width:100%;border:1px solid rgba(184,151,74,.3)}
.tray-text h2{color:var(--cream);font-size:clamp(40px,5vw,68px);margin-bottom:24px}
.tray-text h2 em{color:var(--gold);font-family:var(--font-serif);font-style:italic;font-weight:400}
.tray-text p{font-family:var(--font-serif);font-size:18px;line-height:1.65;color:rgba(242,236,216,.82);margin-bottom:18px}
.tray-list{margin-top:32px;display:flex;flex-direction:column;gap:14px}
.tray-list-item{
  display:flex;gap:14px;align-items:flex-start;
  font-family:var(--font-serif);font-size:16px;color:rgba(242,236,216,.85);
}
.tray-list-num{
  font-family:var(--font-display);
  font-size:22px;color:var(--gold);
  min-width:32px;line-height:1.2;
}
@media(max-width:880px){.tray-grid{grid-template-columns:1fr;gap:32px}}
