/* =========================================================================
   VILA LOS MUERTOS DE FOME — design system
   Fundo preto absoluto + paleta noturna do brand kit.
   ========================================================================= */

:root{
  /* paleta oficial */
  --preto:#000000;
  --carvao:#0b0b0b;
  --carvao-2:#141414;
  --carvao-3:#1c1c1c;
  --azul:#0014C8;
  --azul-luz:#3D52FF;
  --ouro:#F0B400;
  --amarelo:#F0F000;
  --vermelho:#DC2828;
  --magenta:#DC008C;
  --teal:#148CA0;
  --laranja:#F03C14;

  /* parceiros */
  --ifood:#EA1D2C;
  --99:#FFD400;

  --branco:#ffffff;
  --cinza:#b9b3ad;
  --cinza-2:#7d7873;
  --linha:rgba(255,255,255,.10);

  --display:"Bebas Neue", "Arial Narrow", Impact, sans-serif;
  --corpo:"Oswald", "Helvetica Neue", Arial, sans-serif;

  --max:1240px;
  --r:18px;
  --nav-h:70px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 18px);-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--preto);
  color:var(--branco);
  font-family:var(--corpo);
  font-weight:300;
  font-size:17px;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
::selection{background:var(--magenta);color:#fff}

/* grão sutil sobre o preto — a marca nunca usa preto chapado */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
main,header,footer{position:relative;z-index:1}

.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 22px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- tipografia ---------- */
h1,h2,h3,.display{font-family:var(--display);font-weight:400;letter-spacing:.02em;line-height:.95;margin:0}
h2{font-size:clamp(38px,6vw,74px)}
h3{font-size:clamp(24px,3vw,34px)}
p{margin:0 0 1em}
.olho{
  font-family:var(--corpo);font-weight:500;font-size:13px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--ouro);margin:0 0 14px;display:block;
}
.lead{color:var(--cinza);font-size:clamp(16px,1.5vw,19px);max-width:62ch}

/* ---------- papel picado ---------- */
.picado{height:46px;width:100%;display:block;
  background-repeat:repeat-x;background-size:150px 46px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='46'%3E%3Cpath d='M0 4h150' stroke='%23e8b48a' stroke-width='2.5'/%3E%3Cpath d='M5 5h32v22l-16 11-16-11z' fill='%23F03C14'/%3E%3Cpath d='M42 5h32v22l-16 11-16-11z' fill='%23148CA0'/%3E%3Cpath d='M79 5h32v22l-16 11-16-11z' fill='%23F0B400'/%3E%3Cpath d='M116 5h32v22l-16 11-16-11z' fill='%23DC008C'/%3E%3Cg fill='%23000' opacity='.5'%3E%3Ccircle cx='21' cy='15' r='4.5'/%3E%3Ccircle cx='58' cy='15' r='4.5'/%3E%3Ccircle cx='95' cy='15' r='4.5'/%3E%3Ccircle cx='132' cy='15' r='4.5'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--display);font-size:21px;letter-spacing:.05em;
  padding:14px 26px 11px;border-radius:999px;border:2px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  white-space:nowrap;line-height:1;
}
.btn:hover{transform:translateY(-2px)}
.btn--zap{background:#3dcc00;color:#000;box-shadow:0 10px 30px rgba(61,204,0,.28)}
.btn--zap:hover{box-shadow:0 16px 38px rgba(61,204,0,.42)}
.btn--azul{background:var(--azul);color:#fff;box-shadow:0 10px 30px rgba(0,20,200,.35)}
.btn--azul:hover{background:var(--azul-luz)}
.btn--ouro{background:var(--ouro);color:#150d00}
.btn--ouro:hover{background:var(--amarelo)}
.btn--fantasma{border-color:rgba(255,255,255,.35);color:#fff;background:transparent}
.btn--fantasma:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn--sm{font-size:17px;padding:11px 20px 9px}

/* ---------- barra de aviso ---------- */
.topbar{
  background:linear-gradient(90deg,var(--azul),var(--magenta),var(--laranja));
  font-size:13px;font-weight:400;letter-spacing:.04em;
}
.topbar__in{display:flex;align-items:center;justify-content:center;gap:10px;
  min-height:36px;padding:6px 22px;text-align:center;flex-wrap:wrap}
.status{display:inline-flex;align-items:center;gap:7px;font-weight:500}
.status .bolinha{width:9px;height:9px;border-radius:50%;background:#7CFF9E;
  box-shadow:0 0 0 0 rgba(124,255,158,.7);animation:pulso 2s infinite}
.status[data-aberto="0"] .bolinha{background:#FF8080;animation:none}
@keyframes pulso{70%{box-shadow:0 0 0 9px rgba(124,255,158,0)}100%{box-shadow:0 0 0 0 rgba(124,255,158,0)}}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:60;background:rgba(0,0,0,.72);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linha);
}
.nav__in{display:flex;align-items:center;gap:20px;height:var(--nav-h)}
.marca{display:flex;align-items:center;gap:12px;flex-shrink:0;min-width:0}
.marca__cranio{width:38px;height:38px;flex-shrink:0}
.marca__logo-wrap{display:flex;align-items:center;flex-shrink:0}
.marca__logo{display:block;height:26px;width:auto}
.marca__txt{font-family:var(--display);line-height:.9;min-width:0}
.marca__txt b{display:block;font-weight:400;font-size:15px;letter-spacing:.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marca__txt span{display:block;font-family:var(--corpo);font-weight:400;
  font-size:9px;letter-spacing:.05em;color:var(--ouro);white-space:nowrap}
.nav__links{display:flex;gap:26px;margin-left:auto;align-items:center}
.nav__links a{
  font-size:14px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  color:var(--cinza);padding:6px 0;position:relative;transition:color .2s;
}
.nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--ouro);transition:right .25s ease}
.nav__links a:hover{color:#fff}
.nav__links a:hover::after{right:0}
.nav__cta{margin-left:8px}
.nav__links a.btn--zap{color:#000}
.nav__links a.btn--zap:hover{color:#000}
.burger{display:none;margin-left:auto;background:none;border:0;padding:8px;width:44px;height:44px}
.burger span{display:block;height:2px;background:#fff;margin:5px 0;transition:.25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- carrossel ---------- */
.carrossel{position:relative;overflow:hidden;background:var(--preto)}
.slides{display:flex;transition:transform .7s cubic-bezier(.65,.02,.25,1);will-change:transform}
.slide{min-width:100%;position:relative;display:grid;align-items:center;
  min-height:clamp(480px,72vh,660px)}
.slide__bg{position:absolute;inset:0;overflow:hidden}
.slide__bg img{width:100%;height:100%;object-fit:cover;
  transform:scale(1.06);transition:transform 9s linear}
.slide.is-on .slide__bg img{transform:scale(1.16)}
.slide__bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.88) 40%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.75) 100%),
    linear-gradient(180deg,rgba(0,0,0,.6),rgba(0,0,0,.35) 40%,rgba(0,0,0,.88));
}
.slide__in{position:relative;z-index:2;padding:56px 22px}
.slide__tag{
  display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;
  letter-spacing:.28em;text-transform:uppercase;padding:7px 15px;border-radius:999px;
  background:var(--azul);color:#fff;margin-bottom:18px;
}
.slide h2{font-size:clamp(46px,8.4vw,104px);margin-bottom:8px;text-wrap:balance}
.slide h2 em{font-style:normal;color:var(--ouro)}
.slide__sub{font-size:clamp(16px,2vw,21px);color:#e6e0da;max-width:46ch;margin-bottom:12px}
.slide__preco{display:flex;gap:26px;flex-wrap:wrap;margin:18px 0 26px}
.preco-bloco b{display:block;font-family:var(--display);font-size:clamp(38px,5vw,56px);
  line-height:.9;color:var(--amarelo)}
.preco-bloco span{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--cinza)}
.slide__acoes{display:flex;gap:12px;flex-wrap:wrap}

.setas{position:absolute;inset:0;pointer-events:none;display:flex;
  align-items:center;justify-content:space-between;padding:0 14px;z-index:5}
.seta{pointer-events:auto;width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.25);
  background:rgba(0,0,0,.45);color:#fff;font-size:22px;line-height:1;
  display:grid;place-items:center;transition:.2s;backdrop-filter:blur(6px)}
.seta:hover{background:var(--ouro);color:#000;border-color:var(--ouro)}
.pontos{position:absolute;left:0;right:0;bottom:22px;z-index:5;
  display:flex;gap:9px;justify-content:center}
.ponto{width:34px;height:4px;border-radius:4px;border:0;padding:0;
  background:rgba(255,255,255,.28);position:relative;overflow:hidden;transition:.2s}
.ponto[aria-current="true"]{background:rgba(255,255,255,.28);width:56px}
.ponto[aria-current="true"]::after{
  content:"";position:absolute;inset:0;background:var(--ouro);transform-origin:left;
  animation:barra var(--dur,7s) linear forwards}
@keyframes barra{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.carrossel.pausado .ponto[aria-current="true"]::after{animation-play-state:paused}

/* ---------- faixa de delivery (a grande propaganda) ---------- */
.delivery{position:relative;overflow:hidden;padding:90px 0 96px;border-block:1px solid var(--linha)}
.delivery__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.delivery::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(90% 120% at 12% 0%,rgba(234,29,44,.42),transparent 60%),
    linear-gradient(180deg,rgba(0,0,0,.90),rgba(0,0,0,.80) 45%,rgba(0,0,0,.95));
}
.delivery__in{position:relative;z-index:2}
.delivery__topo{max-width:900px;margin-bottom:40px}
.delivery__topo h2{font-size:clamp(42px,7vw,86px);margin-bottom:14px}
.delivery__topo h2 em{font-style:normal;color:var(--amarelo)}
.regioes{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:22px}
.regioes span{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--cinza)}
.regioes b{font-weight:400;font-size:13.5px;letter-spacing:.05em;padding:6px 13px;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);color:#fff;background:rgba(0,0,0,.35)}

.apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.app{
  position:relative;display:flex;align-items:center;gap:20px;padding:26px 26px;
  border-radius:var(--r);border:1px solid rgba(255,255,255,.16);overflow:hidden;
  background:rgba(12,12,12,.82);backdrop-filter:blur(6px);
  transition:transform .22s ease,border-color .22s ease;
}
.app:hover{transform:translateY(-5px)}
.app::before{content:"";position:absolute;inset:0;opacity:.16;transition:opacity .22s}
.app:hover::before{opacity:.3}
.app--ifood::before{background:radial-gradient(120% 140% at 0% 0%,var(--ifood),transparent 62%)}
.app--99::before{background:radial-gradient(120% 140% at 0% 0%,var(--99),transparent 62%)}
.app--zap::before{background:radial-gradient(120% 140% at 0% 0%,#3dcc00,transparent 62%)}
.app--ifood:hover{border-color:var(--ifood)}
.app--99:hover{border-color:var(--99)}
.app--zap:hover{border-color:#3dcc00}
.app__logo{position:relative;z-index:2;width:84px;height:84px;border-radius:20px;
  display:grid;place-items:center;flex-shrink:0}
.app--ifood .app__logo{background:var(--ifood)}
.app--99 .app__logo{background:var(--99)}
.app--zap .app__logo{background:#3dcc00}
.app__logo b{font-family:var(--display);font-size:25px;line-height:.9;text-align:center}
.app--ifood .app__logo b{color:#fff}
.app--99 .app__logo b{color:#111}
.app__txt{position:relative;z-index:2}
.app__txt strong{display:block;font-family:var(--display);font-size:30px;line-height:1;margin-bottom:5px;font-weight:400}
.app__txt span{display:block;color:var(--cinza);font-size:14.5px;line-height:1.45}
.app__seta{position:relative;z-index:2;margin-left:auto;font-size:26px;color:var(--cinza-2);transition:.22s}
.app:hover .app__seta{color:#fff;transform:translateX(4px)}

/* ---------- seções ---------- */
.secao{padding:86px 0}
.secao--linha{border-top:1px solid var(--linha)}
.cab{max-width:760px;margin-bottom:44px}
.cab h2 em{font-style:normal;color:var(--ouro)}

/* faixa com textura da marca */
.faixa-tex{position:relative;padding:70px 0;overflow:hidden;border-block:1px solid var(--linha)}
.faixa-tex img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.faixa-tex::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.7)}
.faixa-tex .wrap{position:relative;z-index:2}

/* ---------- rodízio ---------- */
.rodizio{position:relative}
.rodizio__preco{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.tag-preco{
  border:1px solid var(--linha);border-radius:14px;padding:16px 22px;background:var(--carvao-2);
  min-width:190px;
}
.tag-preco b{display:block;font-family:var(--display);font-size:44px;line-height:.9;color:var(--amarelo)}
.tag-preco span{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza)}
.etapas{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:18px;margin-top:44px}
.etapa{
  position:relative;border-radius:var(--r);overflow:hidden;background:var(--carvao-2);
  border:1px solid var(--linha);display:flex;flex-direction:column;
  transition:transform .22s ease,border-color .22s ease;
}
.etapa:hover{transform:translateY(-5px)}
.etapa__foto{overflow:hidden;background:#000}
.etapa__foto img{display:block;width:100%;height:auto;transition:transform .5s ease;opacity:.92}
.etapa:hover .etapa__foto img{transform:scale(1.07);opacity:1}
.etapa__corpo{padding:22px 22px 26px;flex:1;display:flex;flex-direction:column}
.etapa__n{
  display:inline-block;font-family:var(--display);font-size:15px;letter-spacing:.14em;
  padding:5px 13px 3px;border-radius:999px;margin-bottom:14px;align-self:flex-start;
}
.etapa--1 .etapa__n{background:var(--vermelho);color:#fff}
.etapa--2 .etapa__n{background:var(--azul);color:#fff}
.etapa--3 .etapa__n{background:var(--ouro);color:#160e00}
.etapa--4 .etapa__n{background:var(--teal);color:#031a1f}
.etapa--5 .etapa__n{background:var(--magenta);color:#fff}
.etapa--1:hover{border-color:var(--vermelho)}
.etapa--2:hover{border-color:var(--azul-luz)}
.etapa--3:hover{border-color:var(--ouro)}
.etapa--4:hover{border-color:var(--teal)}
.etapa--5:hover{border-color:var(--magenta)}
.etapa h3{font-size:27px;margin-bottom:12px}
.etapa ul{list-style:none;margin:0;padding:0}
.etapa li{position:relative;padding-left:18px;color:var(--cinza);font-size:15.5px;
  line-height:1.5;margin-bottom:8px}
.etapa li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;
  border-radius:50%;background:var(--ouro);opacity:.85}

/* ---------- cardápio ---------- */
.filtros{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.filtro{
  background:transparent;border:1px solid var(--linha);color:var(--cinza);
  border-radius:999px;padding:10px 20px 8px;font-family:var(--display);font-size:18px;
  letter-spacing:.06em;transition:.2s;
}
.filtro:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.filtro[aria-pressed="true"]{background:var(--ouro);border-color:var(--ouro);color:#150d00}

.grupo{margin-bottom:56px}
.grupo__cab{display:flex;align-items:baseline;gap:16px;margin-bottom:22px}
.grupo__cab h3{font-size:clamp(28px,4vw,42px)}
.grupo__cab i{flex:1;height:1px;background:var(--linha);font-style:normal}
.itens{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.item{
  display:flex;gap:16px;padding:16px;border-radius:16px;background:var(--carvao-2);
  border:1px solid var(--linha);transition:.22s;
}
.item:hover{border-color:rgba(240,180,0,.5);background:var(--carvao-3);transform:translateY(-3px)}
.item__foto{width:104px;height:104px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#000}
.item__foto img{width:100%;height:100%;object-fit:cover}
.item__txt{flex:1;min-width:0}
.item__topo{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px}
.item__topo h4{font-family:var(--display);font-size:24px;font-weight:400;margin:0;line-height:1;
  letter-spacing:.02em;flex:1}
.preco{
  font-family:var(--display);font-size:19px;line-height:1;padding:7px 12px 5px;border-radius:9px;
  background:var(--azul);color:#fff;white-space:nowrap;flex-shrink:0;
}
.preco--ouro{background:var(--ouro);color:#150d00}
.preco--vermelho{background:var(--vermelho);color:#fff}
.item p{margin:0;color:var(--cinza);font-size:14.5px;line-height:1.5}

/* combos */
.combos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.combo{border:1px solid var(--linha);border-radius:16px;padding:24px;background:var(--carvao-2);
  transition:.22s}
.combo:hover{transform:translateY(-4px);border-color:var(--magenta)}
.combo h4{font-family:var(--display);font-weight:400;font-size:30px;margin:0 0 6px;line-height:1}
.combo em{font-style:normal;color:var(--cinza);font-size:14.5px;display:block;margin-bottom:16px}
.combo__linhas{display:grid;gap:8px}
.combo__linha{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 0;border-top:1px dashed rgba(255,255,255,.14);font-size:15px;color:#ded8d2}
.combo__linha:first-child{border-top:0}
.combo--destaque{background:linear-gradient(160deg,rgba(220,0,140,.16),var(--carvao-2) 60%);
  border-color:rgba(220,0,140,.4)}

.recheios{margin-top:34px;border:1px solid var(--linha);border-radius:var(--r);
  padding:28px;background:var(--carvao-2)}
.recheios h4{font-family:var(--display);font-weight:400;font-size:28px;margin:0 0 6px}
.recheios .lead{margin-bottom:18px}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{border:1px solid var(--linha);border-radius:999px;padding:8px 15px;font-size:14px;color:#ded8d2}
.chip--veg{border-color:rgba(20,140,160,.6);color:#7fe3f0}
.nota{margin-top:20px;font-size:14px;color:var(--cinza-2)}

/* ---------- galeria ---------- */
.galeria{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.galeria figure{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:4/5;background:var(--carvao-2);
  border:1px solid var(--linha)}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.galeria figure:hover img{transform:scale(1.06)}
.slot{
  display:grid;place-content:center;text-align:center;gap:8px;padding:22px;
  border:1px dashed rgba(255,255,255,.22);color:var(--cinza-2);font-size:13.5px;line-height:1.5;
}
.slot b{font-family:var(--display);font-size:20px;color:var(--cinza);font-weight:400}

/* ---------- eventos ---------- */
.eventos-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.eventos-lista{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px}
.eventos-lista li{display:flex;gap:14px;align-items:flex-start;color:#ded8d2;font-size:16px}
.eventos-lista svg{flex-shrink:0;margin-top:3px}
.eventos-foto{border-radius:var(--r);overflow:hidden;border:1px solid var(--linha);aspect-ratio:4/3}
.eventos-foto img{width:100%;height:100%;object-fit:cover}

/* ---------- visite ---------- */
.visite{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.infos{display:grid;gap:22px;align-content:start}
.info{display:flex;gap:16px}
.info__ic{width:44px;height:44px;border-radius:12px;background:var(--carvao-3);
  display:grid;place-items:center;flex-shrink:0;border:1px solid var(--linha)}
.info h4{font-family:var(--display);font-weight:400;font-size:23px;margin:0 0 4px;line-height:1}
.info p{margin:0;color:var(--cinza);font-size:15px;line-height:1.55}
.horarios{list-style:none;margin:6px 0 0;padding:0;font-size:15px}
.horarios li{display:flex;justify-content:space-between;gap:14px;padding:6px 0;
  border-bottom:1px dashed rgba(255,255,255,.1);color:var(--cinza)}
.horarios li b{color:#fff;font-weight:400}
.horarios li.hoje{color:#fff}
.horarios li.hoje b{color:var(--ouro)}
.mapa{border-radius:var(--r);overflow:hidden;border:1px solid var(--linha);min-height:420px;background:var(--carvao-2)}
.mapa iframe{width:100%;height:100%;min-height:420px;border:0;filter:grayscale(1) invert(.92) contrast(.85)}

/* ---------- rodapé ---------- */
.rodape{background:var(--carvao);border-top:1px solid var(--linha);padding:60px 0 30px}
.rodape__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px}
.rodape h5{font-family:var(--display);font-weight:400;font-size:20px;margin:0 0 14px;color:#fff}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.rodape a,.rodape p{color:var(--cinza);font-size:14.5px}
.rodape a:hover{color:var(--ouro)}
.rodape__fim{margin-top:44px;padding-top:22px;border-top:1px solid var(--linha);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  color:var(--cinza-2);font-size:13px}
.social{display:flex;gap:10px;margin-top:16px}
.social a{width:42px;height:42px;border-radius:12px;border:1px solid var(--linha);
  display:grid;place-items:center;transition:.2s}
.social a:hover{background:var(--ouro);border-color:var(--ouro);color:#000}

/* ---------- botão flutuante ---------- */
.flutua{
  position:fixed;right:18px;bottom:18px;z-index:70;display:flex;flex-direction:column;gap:10px;
  align-items:flex-end;
}
.flutua a{
  display:flex;align-items:center;gap:9px;padding:12px 18px;border-radius:999px;
  font-family:var(--display);font-size:19px;letter-spacing:.04em;line-height:1;
  box-shadow:0 12px 30px rgba(0,0,0,.55);transition:transform .2s;
}
.flutua a:hover{transform:translateY(-3px)}
.flutua .f-zap{background:#3dcc00;color:#000}
.flutua .f-del{background:var(--ifood);color:#fff}

/* ---------- animação de entrada ---------- */
.rev{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rev.on{opacity:1;transform:none}

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .eventos-grid,.visite{grid-template-columns:1fr}
  .rodape__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .nav__links{
    position:fixed;inset:var(--nav-h) 0 auto;background:rgba(0,0,0,.97);
    flex-direction:column;gap:0;padding:14px 22px 26px;border-bottom:1px solid var(--linha);
    display:none;
  }
  .nav__links.aberto{display:flex}
  .nav__links a{width:100%;padding:14px 0;border-bottom:1px solid var(--linha);font-size:16px}
  .nav__cta{display:none}
  .burger{display:block}
  .slide{min-height:auto;padding-top:34px}
  .slide__in{padding:40px 22px 76px}
  .setas{display:none}
  .item__foto{width:84px;height:84px}
  .secao{padding:62px 0}
  .mapa,.mapa iframe{min-height:320px}
}
@media (max-width:640px){
  .topbar__in .sep-1,.topbar__in .sep-2,.topbar__in .promo-2{display:none}
  .topbar__in{gap:6px;font-size:12.4px}
}
@media (max-width:520px){
  body{font-size:16px}
  .app{flex-direction:column;align-items:flex-start;gap:14px}
  .app__seta{display:none}
  .itens{grid-template-columns:1fr}
  .rodape__grid{grid-template-columns:1fr}
  .flutua a span{display:none}
  .flutua a{padding:14px;border-radius:50%}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rev{opacity:1;transform:none}
}

/* ---------- grade interna do slide (texto + foto emoldurada) ---------- */
.slide__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:center}
.slide__foto{margin:0;border-radius:20px;overflow:hidden;justify-self:end;
  border:1px solid rgba(255,255,255,.16);max-width:420px;
  box-shadow:0 30px 70px rgba(0,0,0,.75);transform:rotate(-1.4deg)}
.slide__foto img{width:100%;height:auto;display:block}
.slide[data-cor="ouro"] .slide__foto{box-shadow:0 30px 70px rgba(240,180,0,.16),0 30px 70px rgba(0,0,0,.7)}
.slide[data-cor="vermelho"] .slide__foto{box-shadow:0 30px 70px rgba(234,29,44,.18),0 30px 70px rgba(0,0,0,.7)}
.slide[data-cor="magenta"] .slide__foto{box-shadow:0 30px 70px rgba(220,0,140,.18),0 30px 70px rgba(0,0,0,.7)}
.slide[data-cor="azul"] .slide__foto{box-shadow:0 30px 70px rgba(0,20,200,.28),0 30px 70px rgba(0,0,0,.7)}
@media (max-width:900px){
  .slide__grid{grid-template-columns:1fr;gap:26px}
  .slide__foto{justify-self:start;max-width:min(320px,72%);transform:none}
}

/* =========================================================================
   MOVIMENTO — inspirado no ritmo do gelatolaboca.com, mas com a paleta da Vila.
   Header que se esconde, títulos com sombra offset de cartaz, palavras entrando
   escalonadas, marquee de palavra rolando, parallax com tilt nas fotos.
   ========================================================================= */

/* header some ao rolar pra baixo, volta ao rolar pra cima */
.nav{transition:transform .4s ease, background .4s ease}
.nav--hide{transform:translateY(-100%)}
.nav--solid{background:rgba(0,0,0,.94)}

/* palavras do headline entrando escalonadas (JS envolve cada palavra) */
.palavra-holder{display:block;line-height:.9}
.palavra{display:inline-block;overflow:hidden;line-height:inherit;vertical-align:top}
.palavra > *{
  display:inline-block;transform:translateY(115%);
  transition:transform 1s cubic-bezier(.19,1,.22,1);
  will-change:transform;
}
.palavra.on > *{transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
  .palavra > *{transform:none}
}

/* título em escala de cartaz com sombra offset (uso pontual em h2 de seção) */
.cab h2{text-shadow:5px 6px 0 rgba(0,0,0,.85)}
.slide h2{text-shadow:6px 8px 0 rgba(0,0,0,.9)}
.delivery__topo h2{text-shadow:6px 8px 0 rgba(0,0,0,.9)}

/* marquee — palavra rolando na horizontal em loop infinito */
.marquee{
  overflow:hidden;padding:34px 0;position:relative;
  border-block:3px solid #000;
}
.marquee--ouro{background:var(--ouro);color:#150d00}
.marquee--azul{background:var(--azul);color:#fff}
.marquee--magenta{background:var(--magenta);color:#fff}
.marquee--teal{background:var(--teal);color:#fff}
.marquee__trilho{
  display:flex;gap:56px;animation:corre 34s linear infinite;
  white-space:nowrap;width:max-content;
}
.marquee__trilho span{
  font-family:var(--display);font-size:clamp(56px,11vw,150px);
  letter-spacing:.02em;line-height:1;display:inline-flex;align-items:center;gap:56px;
  text-shadow:5px 6px 0 rgba(0,0,0,.55);
}
.marquee__trilho span::after{
  content:"◆";font-family:var(--corpo);font-size:.42em;
  color:currentColor;opacity:.55;text-shadow:none;
}
.marquee:hover .marquee__trilho{animation-play-state:paused}
@keyframes corre{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .marquee__trilho{animation:none;transform:translateX(-8%)}
}

/* parallax + tilt em fotos (JS aplica --p em pixels e --r em graus) */
.tilt{
  will-change:transform;
  transform:translate3d(0,var(--p,0px),0) rotate(var(--r,0deg));
  transition:transform .08s linear;
}
@media (prefers-reduced-motion:reduce){
  .tilt{transform:none}
}

/* selo carimbo flutuante (referência aos stickers do La Boca) */
.selo{
  position:absolute;font-family:var(--display);font-size:15px;letter-spacing:.14em;
  width:110px;height:110px;border-radius:50%;background:var(--magenta);color:#fff;
  display:grid;place-items:center;text-align:center;line-height:1;padding:12px;
  transform:rotate(-12deg);z-index:4;box-shadow:0 10px 24px rgba(0,0,0,.55);
  animation:bailar 4.5s ease-in-out infinite;
}
.selo--ouro{background:var(--ouro);color:#150d00}
.selo--teal{background:var(--teal);color:#fff}
.selo--azul{background:var(--azul);color:#fff}
.selo b{display:block;font-weight:400;font-size:28px;line-height:.85;letter-spacing:.02em}
.selo span{display:block;font-family:var(--corpo);font-weight:500;font-size:10px;
  letter-spacing:.22em;text-transform:uppercase;margin-top:3px}
@keyframes bailar{
  0%,100%{transform:rotate(-12deg) translateY(0)}
  50%{transform:rotate(-6deg) translateY(-8px)}
}
@media (prefers-reduced-motion:reduce){
  .selo{animation:none}
}

/* =========================================================================
   Cardápio à la carte — prato-hero + trilho horizontal
   Cada categoria tem uma peça em pedestal + um trilho com o resto.
   ========================================================================= */

/* cabeçalho de grupo com peso (Bebas Neue grande, cor de acento) */
.grupo__cab--peso{align-items:baseline;gap:20px;margin-bottom:32px}
.grupo__cab--peso h3{
  font-family:var(--display);font-weight:400;
  font-size:clamp(46px,7vw,88px);line-height:.85;letter-spacing:.01em;
  margin:0;text-transform:lowercase;
}
.grupo__cab--peso[data-cor="laranja"] h3{color:var(--laranja)}
.grupo__cab--peso[data-cor="ouro"]    h3{color:var(--ouro)}
.grupo__cab--peso[data-cor="teal"]    h3{color:var(--teal)}
.grupo__cab--peso[data-cor="magenta"] h3{color:var(--magenta)}
.grupo__cab--peso i{flex:1;height:2px;background:var(--linha)}

/* --- prato-hero -------------------------------------------------------- */
.item--hero{
  display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center;
  padding:0;background:transparent;border:0;border-radius:22px;overflow:hidden;
  margin-bottom:36px;position:relative;
}
/* caixa do tamanho da própria foto — sem moldura fixa, sem barra preta
   quando a proporção não bate (cada foto enviada tem um formato diferente) */
.item--hero__foto{
  border-radius:22px;overflow:hidden;background:#000;
}
.item--hero__foto img{
  display:block;width:100%;height:auto;
  transition:transform 8s ease;
}
.item--hero:hover .item--hero__foto img{transform:scale(1.06)}

.item--hero__txt{
  display:flex;flex-direction:column;justify-content:center;
  padding:18px 6px 18px 18px;gap:16px;
}
.item--hero__olho{
  font-family:var(--corpo);font-weight:600;font-size:12px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--cinza);
}
.item--hero h4{
  font-family:var(--display);font-weight:400;
  font-size:clamp(52px,7.5vw,108px);line-height:.86;letter-spacing:.01em;
  margin:0;text-transform:lowercase;
}
.item--hero h4 em{font-style:normal;display:block}
.item--hero[data-acento="laranja"] h4 em{color:var(--laranja)}
.item--hero[data-acento="ouro"]    h4 em{color:var(--ouro)}
.item--hero[data-acento="teal"]    h4 em{color:var(--teal)}
.item--hero[data-acento="magenta"] h4 em{color:var(--magenta)}

.item--hero p{
  margin:0;color:var(--cinza);font-size:17px;line-height:1.5;max-width:44ch;
}
.preco--grande{
  font-size:44px;padding:14px 22px 10px;border-radius:14px;
  align-self:flex-start;line-height:1;
}

/* variante invertida — foto à direita */
.item--hero--inv{grid-template-columns:1fr 1.05fr}
.item--hero--inv .item--hero__foto{order:2}
.item--hero--inv .item--hero__txt{order:1;padding:18px 18px 18px 6px}

/* --- trilho horizontal ------------------------------------------------- */
.trilho{position:relative;margin:0 -18px 8px}
.trilho__pista{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,300px);
  align-items:start;
  gap:16px;padding:6px 18px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding:18px;
  scrollbar-width:none;-ms-overflow-style:none;
}
.trilho__pista::-webkit-scrollbar{display:none}
.trilho__pista > *{scroll-snap-align:start}

.item--card{
  display:flex;flex-direction:column;gap:0;padding:0;
  background:var(--carvao-2);border:1px solid var(--linha);border-radius:16px;
  overflow:hidden;transition:.24s;
}
.item--card:hover{border-color:rgba(240,180,0,.5);transform:translateY(-4px)}
.item--card__foto{
  width:100%;overflow:hidden;background:#000;flex-shrink:0;
}
.item--card__foto img{display:block;width:100%;height:auto}
.item--card__txt{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px}
.item--card .item__topo{margin:0}
.item--card h4{font-family:var(--display);font-weight:400;font-size:24px;line-height:1;margin:0;flex:1}
.item--card p{margin:0;color:var(--cinza);font-size:14px;line-height:1.5}

/* setas do trilho (só desktop) */
.trilho__seta{
  position:absolute;top:44%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:999px;border:0;
  background:rgba(0,0,0,.72);color:#fff;font-size:26px;line-height:1;
  display:none;place-items:center;z-index:3;
  backdrop-filter:blur(8px);transition:.2s;
}
.trilho__seta:hover{background:var(--ouro);color:#150d00}
.trilho__seta--esq{left:24px}
.trilho__seta--dir{right:24px}
@media (hover:hover) and (min-width:900px){
  .trilho__seta{display:grid}
}

/* mobile — hero empilha, foto no topo, texto embaixo */
@media (max-width:900px){
  .item--hero,
  .item--hero--inv{grid-template-columns:1fr;gap:20px}
  .fachada-foto{aspect-ratio:auto;min-height:0;height:auto}
  .fachada-foto img{position:static;width:100%;height:auto}
  .item--hero--inv .item--hero__foto{order:1}
  .item--hero--inv .item--hero__txt{order:2;padding:6px 4px 8px}
  .item--hero__txt{padding:6px 4px 8px}
  .preco--grande{font-size:34px;padding:11px 18px 8px}
  .trilho{margin:0 -14px 8px}
  .trilho__pista{grid-auto-columns:78%;padding:6px 14px}
}

@media (prefers-reduced-motion:reduce){
  .item--hero__foto img{transition:none}
  .item--hero:hover .item--hero__foto img{transform:none}
}

/* =========================================================================
   Logo — Vila Los Muertos de Fome (marca oficial, Canva brand kit)
   Uso: nav e rodapé.
   ========================================================================= */
.eventos-copy{position:relative}

/* marca do rodapé */
.rodape__marca{
  display:flex;align-items:center;gap:14px;margin-bottom:16px;
}
.rodape__marca .marca__logo{height:34px;width:auto}
.rodape__marca-txt{
  font-family:var(--display);line-height:.9;
}
.rodape__marca-txt b{
  display:block;font-weight:400;font-size:19px;letter-spacing:.01em;color:#fff;
}
.rodape__marca-txt span{
  display:block;font-family:var(--corpo);font-weight:400;font-size:11px;
  letter-spacing:.04em;color:var(--cinza-2);margin-top:5px;
}

@media (max-width:900px){
  .rodape__marca .marca__logo{height:28px}
  .rodape__marca-txt b{font-size:17px}
}

/* ─── CARDÁPIO — visual fiel ao PDF ─────────────────────── */
.mn-header{display:block;text-align:center;text-transform:uppercase;font-family:var(--display);
  font-size:clamp(20px,3.5vw,34px);letter-spacing:.08em;color:#fff;
  padding:13px 28px 9px;border-radius:8px;margin-bottom:20px}
.mn-header--laranja{background:var(--laranja)}
.mn-header--teal{background:var(--teal)}
.mn-header--vermelho{background:var(--vermelho)}
.mn-header--magenta{background:var(--magenta)}
.mn-header--ouro{background:var(--ouro);color:#150d00}
.mn-header--azul{background:var(--azul)}
.mn-subtit{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--laranja);text-align:center;margin:-8px 0 20px}
.mn-lista{display:grid;gap:0;margin-bottom:6px}
.mn-item{display:flex;align-items:baseline;gap:4px;padding:11px 0;
  border-top:1px solid rgba(255,255,255,.07);flex-wrap:wrap}
.mn-item:first-child{border-top:0}
.mn-item__nome{font-family:var(--display);font-size:16.5px;text-transform:uppercase;
  color:#fff;letter-spacing:.04em;flex-shrink:0}
.mn-item__pts{flex:1;border-bottom:2px dotted rgba(255,255,255,.22);
  margin:0 5px;position:relative;top:-4px;min-width:20px}
.mn-item__preco{font-family:var(--display);font-size:19px;color:var(--ouro);
  white-space:nowrap;flex-shrink:0}
.mn-item__desc{font-size:12.5px;color:var(--cinza);width:100%;
  margin-top:3px;line-height:1.4}
.mn-sub{display:flex;align-items:center;gap:8px;margin:26px 0 12px;
  font-family:var(--display);font-size:17px;text-transform:uppercase;
  letter-spacing:.08em;color:var(--teal)}
.mn-sub::before,.mn-sub::after{content:"♦";font-size:11px}
.mn-sub--laranja{color:var(--laranja)}
.mn-sub--laranja::before,.mn-sub--laranja::after{color:var(--laranja)}
.mn-adicionais{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;
  padding:15px;background:rgba(255,255,255,.04);border-radius:12px}
.mn-adicional{font-size:13px;color:#b9b3ad;padding:4px 10px;
  background:rgba(255,255,255,.06);border-radius:20px;border:1px solid var(--linha)}
.mn-adicional b{color:#e6e0da}
.mn-compartilhar{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:12px;margin-top:14px}
.mn-comp{display:flex;justify-content:space-between;align-items:flex-start;
  gap:12px;border:1px solid var(--linha);border-radius:14px;padding:16px 18px;
  background:var(--carvao-2)}
.mn-comp__nome{font-family:var(--display);font-size:18px;text-transform:uppercase;
  color:#fff;display:block;margin-bottom:4px}
.mn-comp p{font-size:12.5px;color:var(--cinza);margin:0;line-height:1.4}
.mn-comp__preco{font-family:var(--display);font-size:28px;color:var(--ouro);
  white-space:nowrap;flex-shrink:0}
.mn-burger-bg{background:#3b0c0c;border-radius:16px;padding:28px 24px;
  border:1px solid rgba(255,70,70,.18);
  background-image:radial-gradient(120% 80% at 50% 0%,rgba(140,10,10,.6),transparent 70%)}
.mn-bgrids{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:16px}
.mn-bcard{padding:14px 16px;background:rgba(0,0,0,.4);border-radius:12px;
  border:1px solid rgba(255,80,80,.15)}
.mn-bcard__nome{font-family:var(--display);font-size:19px;text-transform:uppercase;
  letter-spacing:.04em;color:var(--amarelo)}
.mn-bcard__preco{font-size:12.5px;color:var(--vermelho);font-weight:600;margin:2px 0 5px}
.mn-bcard p{font-size:12px;color:#c8b0b0;margin:0;line-height:1.45}
.mn-lanches-t{font-family:var(--display);font-size:clamp(20px,3vw,30px);
  text-transform:uppercase;color:var(--vermelho);margin:28px 0 4px;
  letter-spacing:.06em;text-align:center}
.mn-beb-t{display:flex;align-items:center;gap:10px;margin:26px 0 14px;
  font-family:var(--display);font-size:clamp(16px,2.5vw,24px);
  text-transform:uppercase;letter-spacing:.06em}
.mn-beb-t span{flex:1;height:1px;background:rgba(255,255,255,.14)}
.mn-beb-t--teal{color:var(--teal)}
.mn-beb-t--magenta{color:var(--magenta)}
.mn-beb-t--ouro{color:var(--ouro)}
.mn-nao-alc{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.mn-nao-alc__item{display:flex;justify-content:space-between;align-items:center;
  padding:9px 13px;background:var(--carvao-2);border:1px solid var(--linha);
  border-radius:10px;font-size:13.5px}
.mn-nao-alc__item span:first-child{color:#e6e0da}
.mn-nao-alc__item span:last-child{font-family:var(--display);font-size:18px;
  color:var(--teal);white-space:nowrap;margin-left:8px}
.mn-drinks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:11px}
.mn-drink{border:1px solid var(--linha);border-radius:12px;padding:13px 15px;background:var(--carvao-2)}
.mn-drink__t{display:flex;justify-content:space-between;align-items:baseline;gap:5px;margin-bottom:5px}
.mn-drink__nome{font-size:13.5px;font-weight:700;color:#fff;
  text-transform:uppercase;letter-spacing:.05em}
.mn-drink__preco{font-family:var(--display);font-size:22px;color:var(--magenta);white-space:nowrap}
.mn-drink p{font-size:12px;color:#7d7873;margin:0;line-height:1.45}
.mn-cerv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:12px;margin-top:4px}
.mn-cerv-card{border:1px solid rgba(240,180,0,.3);border-radius:14px;
  padding:17px;background:linear-gradient(160deg,rgba(240,180,0,.08),var(--carvao-2) 80%)}
.mn-cerv-card h5{font-family:var(--display);font-size:20px;font-weight:400;
  color:var(--ouro);margin:0 0 10px;letter-spacing:.04em}
.mn-cerv-linha{display:flex;justify-content:space-between;font-size:13px;
  padding:4px 0;border-top:1px solid rgba(255,255,255,.07);color:#b9b3ad}
.mn-cerv-linha:first-of-type{border-top:0}
.mn-cerv-linha b{color:var(--ouro);font-family:var(--display);font-size:17px;font-weight:400}
.mn-rod-precos{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.mn-rod-preco{border:1px solid rgba(240,180,0,.3);border-radius:14px;
  padding:16px 22px;flex:1;min-width:150px;background:rgba(240,180,0,.06)}
.mn-rod-preco__label{display:block;font-size:11px;text-transform:uppercase;
  letter-spacing:.1em;color:var(--cinza);margin-bottom:4px}
.mn-rod-preco__valor{font-family:var(--display);font-size:40px;font-weight:400;
  color:var(--ouro);display:block}
.mn-rod-preco__em{font-size:12px;color:#7d7873}
.mn-rod-etapas{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.mn-rod-col{border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.mn-rod-col__h{font-family:var(--display);font-size:17px;letter-spacing:.08em;
  text-transform:uppercase;padding:11px 16px 8px;text-align:center;color:#fff}
.mn-rod-col__h--rosa{background:var(--magenta)}
.mn-rod-col__h--ciano{background:var(--teal)}
.mn-rod-col__h--laranja{background:var(--laranja)}
.mn-rod-col__h--azul{background:var(--azul)}
.mn-rod-col__body{padding:16px;background:var(--carvao-2)}
.mn-rod-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.mn-rod-col li{font-family:var(--display);font-size:14px;letter-spacing:.03em;
  text-transform:uppercase;color:#e0d8d0;padding-left:14px;position:relative;line-height:1.3}
.mn-rod-col li::before{content:"◆";position:absolute;left:0;top:2px;
  font-size:8px;color:var(--ouro)}
.mn-rod-sob{margin-top:18px;padding:13px 18px;background:rgba(220,0,140,.12);
  border:1px solid rgba(220,0,140,.25);border-radius:12px;font-family:var(--display);
  font-size:14px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--magenta);text-align:center}
.mn-sob-lista{display:grid;gap:0}
.mn-sob-item{display:flex;align-items:baseline;gap:4px;padding:11px 0;
  border-top:1px solid rgba(255,255,255,.07);flex-wrap:wrap}
.mn-sob-item:first-child{border-top:0}
.mn-sob-item__nome{font-family:var(--display);font-size:17px;text-transform:uppercase;
  color:var(--magenta);flex-shrink:0}
.mn-sob-item__pts{flex:1;border-bottom:2px dotted rgba(255,255,255,.2);
  margin:0 5px;position:relative;top:-4px;min-width:20px}
.mn-sob-item__preco{font-family:var(--display);font-size:19px;color:var(--ouro);
  white-space:nowrap;flex-shrink:0}
.mn-sob-item__desc{font-size:12.5px;color:var(--cinza);width:100%;
  margin-top:3px;line-height:1.4;text-transform:none}

/* ─── Instagram — prova social ─── */
.insta-sec{padding:64px 20px 56px;overflow:hidden}
.insta-sec__topo{text-align:center;margin-bottom:40px}
.insta-sec__sup{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:12px}
.insta-sec__h{font-family:var(--display);font-size:clamp(24px,3.5vw,36px);text-transform:uppercase;color:#fff;margin:0 0 10px;line-height:1.1}
.insta-sec__p{color:var(--cinza);font-size:14px;margin:0}
.insta-cta-wrap{text-align:center}
.insta-btn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);color:#fff;font-family:var(--display);font-size:14px;letter-spacing:.1em;padding:15px 32px;border-radius:40px;text-decoration:none;text-transform:uppercase;transition:opacity .2s,transform .2s}
.insta-btn:hover{opacity:.88;transform:translateY(-1px)}

/* ─── reels do Instagram embutidos ─── */
.reel-grid{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;
  margin-bottom:40px;max-width:1180px;margin-left:auto;margin-right:auto}
.reel-wrap{width:270px;border-radius:16px;overflow:hidden;background:#111;
  box-shadow:0 8px 30px rgba(0,0,0,.6);flex-shrink:0}
.reel-wrap iframe{width:100%;height:480px;border:0;display:block}
@media(max-width:640px){.reel-wrap{width:calc(50% - 8px)}.reel-wrap iframe{height:340px}}
@media(max-width:380px){.reel-wrap{width:100%}}

/* ─── fachada única (nosso espaço) ─── */
.espaco-fachada{margin-top:28px}
.fachada-foto{margin:0;border-radius:18px;overflow:hidden;position:relative;
  aspect-ratio:4/3;background:var(--carvao-2);border:1px solid var(--linha)}
.fachada-foto img{width:100%;height:100%;object-fit:contain;display:block;
  transition:transform .6s ease}
.fachada-foto:hover img{transform:scale(1.03)}
