/* ───────── Cardápio Drimo · v2 editorial ───────── */

.menu-top{ max-width:var(--maxw); margin:0 auto; padding:clamp(128px,19vh,206px) var(--gutter) clamp(28px,4vh,52px); }
.menu-top .kicker{ display:block; margin-bottom:22px; }
.menu-top h1{ font-family:var(--display); font-weight:500; line-height:.92; letter-spacing:-.015em; font-size:clamp(66px,14vw,168px); margin:0; }
.menu-top h1 .it{ font-style:italic; color:var(--gold-soft); }
.menu-top .lede{ max-width:48ch; margin:26px 0 0; color:var(--cream-dim); font-size:clamp(16px,2vw,19px); }
.menu-hours{ display:flex; flex-wrap:wrap; gap:12px 44px; margin-top:30px; padding-top:24px; border-top:1px solid var(--line); }
.menu-hours .blk{ display:flex; flex-direction:column; gap:3px; }
.menu-hours .lab{ font-family:var(--body); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-soft); }
.menu-hours .val{ font-family:var(--display); font-size:18px; color:var(--cream); font-variant-numeric:oldstyle-nums; }

/* ── prato de assinatura (full-bleed) ── */
.cfeature{ position:relative; min-height:min(82svh,760px); display:flex; align-items:flex-end; overflow:hidden; margin-top:10px; }
.cfeature .photo{ position:absolute; inset:0; }
.cfeature .photo img{ width:100%; height:100%; object-fit:cover; filter:saturate(1.04) brightness(.72); transform:scale(1.03); transition:transform 2.4s var(--ease); }
.cfeature:hover .photo img{ transform:scale(1.08); }
.cfeature::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(28,18,11,.18), rgba(28,18,11,.32) 42%, rgba(28,18,11,.94)); }
.cfeature .inner{ position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; width:100%; padding:clamp(40px,7vh,92px) var(--gutter); }
.cfeature .idx{ font-family:var(--body); font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-soft); display:flex; align-items:center; gap:14px; }
.cfeature .idx::before{ content:""; width:38px; height:1px; background:var(--line-gold); }
.cfeature h2{ font-family:var(--display); font-weight:500; font-size:clamp(40px,7.4vw,92px); line-height:.98; margin:18px 0 16px; max-width:15ch; }
.cfeature p{ color:rgba(243,235,221,.82); font-size:clamp(15px,1.7vw,18px); line-height:1.55; max-width:52ch; margin:0; }

/* ── cabeçalho de categoria ── */
.mcat{ max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); }
.mcat-head{ display:flex; align-items:baseline; gap:20px; margin:0 0 clamp(30px,5vh,50px); border-top:1px solid var(--line); padding-top:clamp(34px,5.5vh,64px); }
.mcat-head .no{ font-family:var(--display); font-style:italic; font-size:clamp(20px,3vw,32px); color:var(--gold-soft); line-height:1; }
.mcat-head h2{ font-family:var(--display); font-weight:500; font-size:clamp(32px,5.6vw,56px); margin:0; line-height:1; }
.mcat-head .meta{ margin-left:auto; align-self:center; font-family:var(--body); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--cream-faint); }

/* ── entradas: grade compacta ── */
.mgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,3vw,40px); padding-bottom:clamp(20px,3vh,40px); }
.mdish{ display:flex; flex-direction:column; }
.mdish .photo{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--espresso-deep); }
.mdish .photo img{ width:100%; height:100%; object-fit:cover; transition:transform 1.3s var(--ease); }
.mdish:hover .photo img{ transform:scale(1.06); }
.mdish .photo .warm{ position:absolute; inset:0; background:linear-gradient(180deg,transparent 62%,rgba(28,18,11,.4)); pointer-events:none; }
.mdish .idx{ font-family:var(--body); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-soft); margin:18px 0 9px; }
.mdish h3{ font-family:var(--display); font-weight:500; font-size:clamp(22px,2.6vw,28px); margin:0 0 10px; line-height:1.06; }
.mdish p{ color:var(--cream-dim); font-size:14.5px; line-height:1.6; margin:0; max-width:42ch; }

/* ── principais: linhas editoriais alternadas ── */
.crows{ max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); }
.crow{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(36px,5vw,86px); align-items:center; padding:clamp(36px,5vw,72px) 0; }
.crow + .crow{ border-top:1px solid var(--line); }
.crow:nth-child(even) .crow-media{ order:2; }
.crow-media .photo{ position:relative; aspect-ratio:5/4; overflow:hidden; background:var(--espresso-deep); }
.crow-media .photo img{ width:100%; height:100%; object-fit:cover; transition:transform 1.5s var(--ease); }
.crow:hover .crow-media .photo img{ transform:scale(1.05); }
.crow-media .photo .warm{ position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgba(28,18,11,.34)); pointer-events:none; }
.crow-text .idx{ font-family:var(--body); font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-soft); }
.crow-text h3{ font-family:var(--display); font-weight:500; font-size:clamp(32px,4.6vw,60px); line-height:1.01; margin:16px 0 18px; }
.crow-text p{ color:var(--cream-dim); font-size:clamp(15px,1.6vw,17px); line-height:1.62; max-width:46ch; margin:0; }
.crow-text .tag{ display:inline-block; margin-top:22px; font-family:var(--body); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--cream-faint); border:1px solid var(--line); padding:7px 14px; border-radius:999px; }

/* ── fecho: itens sem foto ── */
.cmore{ max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter) clamp(20px,3vh,40px); }
.cmore-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,72px); }
.cmore-item .idx{ font-family:var(--body); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-soft); display:block; margin-bottom:10px; }
.cmore-item h3{ font-family:var(--display); font-weight:500; font-size:clamp(25px,3.2vw,36px); margin:0 0 11px; line-height:1.05; }
.cmore-item p{ color:var(--cream-dim); font-size:15px; line-height:1.62; margin:0; max-width:46ch; }

/* ── CTA de fechamento ── */
.menu-cta{ max-width:var(--maxw); margin:0 auto; padding:clamp(56px,10vh,120px) var(--gutter); border-top:1px solid var(--line); text-align:center; }
.menu-cta .kicker{ display:block; margin-bottom:20px; }
.menu-cta h2{ font-family:var(--display); font-weight:500; font-size:clamp(36px,6vw,72px); margin:0 0 32px; line-height:1; }
.menu-cta .actions{ display:flex; gap:22px; justify-content:center; flex-wrap:wrap; }

@media (max-width:900px){
  .crow{ grid-template-columns:1fr; gap:24px; padding:34px 0; }
  .crow:nth-child(even) .crow-media{ order:0; }
}
@media (max-width:680px){
  .mgrid{ grid-template-columns:1fr; }
  .cmore-grid{ grid-template-columns:1fr; gap:30px; }
  .cfeature{ min-height:62svh; }
}
