/* =========================================================
   TIMES SQUARE BURGER — style.css
   Conceito: letreiro da Broadway. Noite vermelha + lâmpadas douradas.
   ========================================================= */

:root {
  /* Cor */
  --noite:   #120406;
  --cortina: #2A0609;
  --veludo:  #6E0910;
  --rubi:    #D7192A;
  --ouro:    #FFB627;
  --lampada: #FFE6A0;
  --creme:   #FFF5E1;
  --tinta:   #1B0B0C;

  /* Tipo */
  --f-display: 'Anton', 'Impact', sans-serif;
  --f-body: 'Montserrat', system-ui, sans-serif;

  /* Layout */
  --wrap: 1200px;
  --gutter: clamp(16px, 4vw, 32px);
  --raio: 14px;
  --secao: clamp(72px, 10vw, 128px);

  --brilho: 0 0 6px rgba(255, 182, 39, .9), 0 0 18px rgba(255, 140, 20, .55);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--creme);
  background: var(--noite);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { margin: 0; line-height: 1.02; font-weight: 400; }
h2 { font-family: var(--f-display); font-size: clamp(2.4rem, 6vw, 4.2rem); text-transform: uppercase; letter-spacing: .01em; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--ouro); outline-offset: 3px; border-radius: 4px; }

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.skip { position: absolute; left: -999px; top: 8px; z-index: 999; background: var(--ouro); color: var(--tinta); padding: 10px 16px; border-radius: 8px; font-weight: 700; }
.skip:focus { left: 8px; }

.ouro { color: var(--ouro); }
.rubi { color: var(--rubi); }
.neon { color: var(--lampada); text-shadow: var(--brilho); }
/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: 0 24px;
  border-radius: 999px; border: 2px solid transparent;
  font: 700 .95rem/1 var(--f-body); text-decoration: none; letter-spacing: .02em;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  cursor: pointer; white-space: nowrap;
}
.btn:active { transform: translateY(1px); }
.btn--grande { min-height: 56px; padding: 0 32px; font-size: 1.02rem; }
.btn--ouro { background: var(--ouro); color: var(--tinta); box-shadow: 0 6px 24px rgba(255, 182, 39, .35); }
.btn--ouro:hover { background: var(--lampada); box-shadow: 0 8px 32px rgba(255, 182, 39, .55); }
.btn--rubi { background: var(--rubi); color: #fff; box-shadow: 0 6px 24px rgba(215, 25, 42, .35); }
.btn--rubi:hover { background: #ef2236; }
.btn--linha { background: transparent; border-color: rgba(255, 245, 225, .55); color: var(--creme); }
.btn--linha:hover { border-color: var(--ouro); color: var(--ouro); }

.selo {
  display: inline-block; margin-bottom: 18px;
  font: 700 .74rem/1 var(--f-body); letter-spacing: .22em; text-transform: uppercase;
  color: var(--ouro);
}
.selo::before { content: '★ '; }
.selo--escuro { color: var(--rubi); }

.titulo-secao { margin-bottom: clamp(36px, 5vw, 56px); max-width: 640px; }
.titulo-secao p:last-child { color: rgba(255, 245, 225, .78); font-size: 1.08rem; margin-top: 18px; }
.titulo-secao--centro { margin-inline: auto; text-align: center; }

/* ---------- Topo ---------- */
.topo {
  position: fixed; inset: 0 0 auto; z-index: 50;
  padding: 14px 0;
  transition: background .3s ease, padding .3s ease, box-shadow .3s ease;
}
.topo.is-solido { background: rgba(18, 4, 6, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 8px 0; box-shadow: 0 1px 0 rgba(255, 182, 39, .18); }
.topo__in { display: flex; align-items: center; gap: 24px; }
.topo__logo img { width: 150px; transition: width .3s ease; }
.topo.is-solido .topo__logo img { width: 124px; }

.nav { display: flex; gap: 28px; margin-left: auto; }
.nav a { text-decoration: none; font-weight: 600; font-size: .92rem; position: relative; padding: 6px 0; }
.nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--ouro); transform: scaleX(0); transition: transform .2s ease; }
.nav a:hover::after { transform: scaleX(1); }
.nav__wa { display: none; }

.burger { display: none; }

@media (max-width: 899px) {
  .topo__cta { display: none; }
  .burger {
    display: grid; place-content: center; gap: 5px;
    width: 46px; height: 46px; margin-left: auto;
    background: none; border: 0; cursor: pointer;
  }
  .burger span { display: block; width: 24px; height: 2px; background: var(--creme); transition: transform .25s ease, opacity .2s ease; }
  .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); }

  .nav {
    position: fixed; inset: 0; z-index: -1;
    flex-direction: column; justify-content: center; align-items: center; gap: 22px;
    background: rgba(18, 4, 6, .97);
    opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s;
  }
  .nav.is-aberto { opacity: 1; visibility: visible; }
  .nav a { font-family: var(--f-display); font-size: 2rem; text-transform: uppercase; font-weight: 400; }
  .nav__wa { display: block; color: var(--ouro); }
}

/* ---------- Hero ---------- */
.hero { position: relative; min-height: 100svh; display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; }
.hero__bg, .hero__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hero__veu {
  position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(180deg, rgba(18,4,6,.55) 0%, rgba(18,4,6,0) 28%),
    linear-gradient(90deg, rgba(18,4,6,.92) 0%, rgba(18,4,6,.6) 45%, rgba(18,4,6,.05) 80%),
    linear-gradient(0deg, var(--noite) 0%, rgba(18,4,6,0) 35%);
}
.hero__logo { display: none; }
.hero__in { padding-top: 140px; padding-bottom: clamp(56px, 9vw, 110px); }
.hero__titulo {
  font-family: var(--f-display); text-transform: uppercase;
  font-size: clamp(3.2rem, 10vw, 7.4rem); line-height: .92; letter-spacing: .005em;
  margin-bottom: 24px;
}
.hero__sub { max-width: 520px; font-size: clamp(1.02rem, 1.6vw, 1.18rem); color: rgba(255,245,225,.88); }
.hero__sub strong { color: var(--creme); }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin: 32px 0 20px; }
.hero__preco { font-size: .92rem; color: rgba(255,245,225,.7); }
.hero__preco strong { color: var(--ouro); font-size: 1.1rem; }

@media (max-width: 767px) {
  .hero { min-height: 72svh; align-items: center; }
  .hero__in { padding-top: 36px; padding-bottom: 40px; text-align: center; }
  .hero__titulo { font-size: clamp(2.6rem, 12.5vw, 3.6rem); margin: 0; }
  .hero__logo { display: block; width: min(78%, 320px); margin: 0 auto 26px; filter: drop-shadow(0 0 18px rgba(255,182,39,.55)); }
  .hero__veu { background: linear-gradient(0deg, var(--noite) 8%, rgba(18,4,6,.75) 50%, rgba(18,4,6,.35) 100%); }
  .hero__ctas .btn { flex: 1 1 100%; }
}

/* ---------- Atrações (carrossel) ---------- */
.atracoes { position: relative; padding: var(--secao) 0 0; background: var(--noite); overflow: hidden; }
.atracoes::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 70% 50% at 50% 30%, rgba(215,25,42,.35), transparent 70%);
}
.carrossel { position: relative; width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.cartazes {
  position: relative;
  display: flex; gap: clamp(16px, 2.5vw, 32px);
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding: 28px 0 16px; scrollbar-width: none; -ms-overflow-style: none;
  scroll-padding-inline: 0;
}
.cartazes::-webkit-scrollbar { display: none; }
.cartazes:focus-visible { outline: 3px solid var(--ouro); outline-offset: 4px; border-radius: 24px; }
.cartaz {
  position: relative; flex: 0 0 calc(50% - clamp(8px, 1.25vw, 16px)); scroll-snap-align: start;
  display: flex; flex-direction: column; justify-content: flex-end;
  min-height: clamp(520px, 50vw, 680px); padding: 0 clamp(20px, 3vw, 40px) clamp(24px, 3vw, 36px);
  border-radius: 24px; overflow: hidden; isolation: isolate;
  background:
    radial-gradient(ellipse 80% 55% at 50% 100%, rgba(255,120,20,.28), transparent 70%),
    linear-gradient(180deg, #3a0509 0%, #1a0305 100%);
  box-shadow: inset 0 0 0 2px rgba(255,182,39,.5), 0 0 40px rgba(255,140,20,.18), 0 30px 60px rgba(0,0,0,.5);
  transition: transform .4s ease, box-shadow .4s ease;
}
/* Moldura de lâmpadas (mesma técnica da marquise) */
.cartaz { --lamp: 22px; }
.cartaz::before, .cartaz::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; z-index: 2; pointer-events: none;
  padding: var(--lamp);
  background: radial-gradient(circle at center, #ffcf6a 0 4px, rgba(255,182,39,.5) 5px, transparent 8px) calc(var(--lamp) / 2) calc(var(--lamp) / 2) / var(--lamp) var(--lamp);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.cartaz::after {
  background: radial-gradient(circle at center, #fff 0 3px, var(--lampada) 4px, rgba(255,182,39,.6) 6px, transparent 9px) calc(var(--lamp) / 2) calc(var(--lamp) / 2) / calc(var(--lamp) * 2) calc(var(--lamp) * 2);
  animation: pisca 1.2s steps(1) infinite;
}
.cartaz__foto { position: absolute; inset: 34px 0 30% 0; display: flex; align-items: flex-end; justify-content: center; z-index: 0; }
.cartaz__foto img {
  height: 100%; width: auto; max-width: 96%; object-fit: contain; object-position: bottom;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.6));
}
.cartaz__info {
  position: relative; z-index: 1; text-align: center; padding-top: 40px;
  background: linear-gradient(180deg, transparent, rgba(26,3,5,.85) 35%);
  margin: 0 calc(-1 * clamp(20px, 3vw, 40px)); padding-inline: clamp(20px, 3vw, 40px);
}
.cartaz__data {
  display: inline-block; background: #FFE7A3; color: var(--tinta);
  font: 800 .9rem/1 var(--f-body); padding: 10px 18px; border-radius: 999px;
  transform: rotate(-2deg); margin-bottom: 6px;
}
.cartaz__dia {
  font: 400 clamp(3.6rem, 7.5vw, 6.5rem)/.9 var(--f-display); text-transform: uppercase; color: #fff;
  -webkit-text-stroke: .01em var(--rubi);
  text-shadow: .04em .04em 0 var(--rubi), 0 0 .3em rgba(215,25,42,.5);
  margin: 0 0 6px;
}
.cartaz__nome { font: 700 clamp(1.1rem, 2vw, 1.6rem)/1.15 var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--lampada); margin: 0 0 14px; }
.cartaz__hora {
  display: inline-flex; align-items: center; gap: 8px; margin: 0;
  background: var(--rubi); color: #fff; font-weight: 700; font-size: 1.05rem;
  padding: 10px 22px; border-radius: 999px;
}
.cartaz__hora::before { content: ''; width: 16px; height: 16px; border-radius: 50%; border: 2px solid #fff; background: linear-gradient(#fff 0 0) 50% 50% / 2px 6px no-repeat, linear-gradient(#fff 0 0) 50% 50% / 5px 2px no-repeat; }

/* Destaque: atração do dia */
.cartaz--hoje {
  box-shadow: inset 0 0 0 3px var(--ouro), 0 0 0 6px rgba(255,182,39,.18), 0 0 60px rgba(255,182,39,.35), 0 30px 60px rgba(0,0,0,.5);
  animation: cartaz-pulsa 2.4s ease-in-out infinite;
}
.cartaz--hoje .cartaz__dia { color: var(--ouro); -webkit-text-stroke: .01em #7a0c14; text-shadow: .04em .04em 0 #7a0c14, 0 0 .4em rgba(255,182,39,.6); }
.cartaz__hoje {
  position: absolute; top: 26px; left: 26px; z-index: 3;
  background: var(--ouro); color: var(--tinta);
  font: 400 1.4rem/1 var(--f-display); text-transform: uppercase; letter-spacing: .04em;
  padding: 10px 16px 8px; border-radius: 10px; transform: rotate(-4deg);
  box-shadow: 0 8px 24px rgba(255,182,39,.45);
}
@keyframes cartaz-pulsa {
  0%, 100% { box-shadow: inset 0 0 0 3px var(--ouro), 0 0 0 6px rgba(255,182,39,.18), 0 0 60px rgba(255,182,39,.35), 0 30px 60px rgba(0,0,0,.5); }
  50%      { box-shadow: inset 0 0 0 3px var(--lampada), 0 0 0 10px rgba(255,182,39,.1), 0 0 90px rgba(255,182,39,.55), 0 30px 60px rgba(0,0,0,.5); }
}

/* Setas e pontos */
.carrossel__seta {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 52px; height: 52px; border-radius: 50%; border: 2px solid rgba(255,182,39,.6);
  background: rgba(18,4,6,.85); color: var(--ouro); font: 400 2rem/1 var(--f-body);
  cursor: pointer; display: grid; place-items: center; padding-bottom: 4px;
  transition: background .2s, transform .2s;
}
.carrossel__seta:hover { background: var(--ouro); color: var(--tinta); }
.carrossel__seta--ant { left: calc(var(--gutter) - 26px); }
.carrossel__seta--prox { right: calc(var(--gutter) - 26px); }
.carrossel__pontos { display: flex; justify-content: center; gap: 10px; margin-top: 8px; }
.carrossel__pontos button {
  width: 10px; height: 10px; border-radius: 50%; border: 0; padding: 0; cursor: pointer;
  background: rgba(255,245,225,.3); transition: background .2s, transform .2s;
}
.carrossel__pontos button[aria-selected="true"] { background: var(--ouro); transform: scale(1.3); }

@media (max-width: 767px) {
  .cartaz { flex-basis: 86%; min-height: 540px; }
  .carrossel__seta { display: none; }
}

/* ---------- Rodízio ---------- */
.rodizio { position: relative; padding: var(--secao) 0; overflow: hidden; isolation: isolate; }
.rodizio__bg, .rodizio__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
.rodizio::before {
  content: ''; position: absolute; inset: 0 0 auto; height: clamp(140px, 22vw, 280px); z-index: 0; pointer-events: none;
  background: linear-gradient(180deg, var(--noite) 0%, rgba(18,4,6,.6) 45%, transparent 100%);
}
.rodizio::after {
  content: ''; position: absolute; inset: auto 0 0; height: clamp(160px, 24vw, 320px); z-index: 0; pointer-events: none;
  background: linear-gradient(0deg, var(--noite) 0%, rgba(18,4,6,.7) 45%, transparent 100%);
}
.rodizio__in { position: relative; z-index: 1; }

/* Letreiro do título */
.letreiro-titulo { text-align: center; margin-bottom: clamp(20px, 3vw, 36px); }
.letreiro-titulo__placa {
  --lamp: 20px;
  position: relative; display: inline-block; isolation: isolate;
  padding: calc(var(--lamp) + 14px) clamp(28px, 5vw, 64px) calc(var(--lamp) + 16px);
  border-radius: 18px;
  background: linear-gradient(180deg, #2a0609, #120406);
  box-shadow: inset 0 0 0 2px rgba(255,182,39,.55), 0 0 60px rgba(255,140,20,.25), 0 24px 60px rgba(0,0,0,.6);
}
.letreiro-titulo__placa::before, .letreiro-titulo__placa::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; z-index: -1; pointer-events: none;
  padding: var(--lamp);
  background: radial-gradient(circle at center, #ffcf6a 0 3.5px, rgba(255,182,39,.5) 4.5px, transparent 7px) calc(var(--lamp) / 2) calc(var(--lamp) / 2) / var(--lamp) var(--lamp);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.letreiro-titulo__placa::after {
  background: radial-gradient(circle at center, #fff 0 3px, var(--lampada) 4px, rgba(255,182,39,.6) 6px, transparent 9px) calc(var(--lamp) / 2) calc(var(--lamp) / 2) / calc(var(--lamp) * 2) calc(var(--lamp) * 2);
  animation: pisca 1.2s steps(1) infinite;
}
.letreiro-titulo__top {
  margin: 0 0 2px; font: 400 clamp(1.4rem, 3.2vw, 2.4rem)/1 var(--f-display); text-transform: uppercase; letter-spacing: .04em;
  color: #fff; text-shadow: 0 0 .3em rgba(255,182,39,.5);
}
.letreiro-titulo__top i { font-style: normal; color: var(--ouro); font-size: .7em; vertical-align: .15em; margin: 0 .2em; }
.letreiro-titulo__h2 {
  font: 400 clamp(2.4rem, 6.4vw, 4.8rem)/.95 var(--f-display); text-transform: uppercase; letter-spacing: .01em;
  color: var(--ouro);
  text-shadow: 0 .03em 0 #7a1a08, 0 0 .25em rgba(255,182,39,.55), 0 0 .6em rgba(255,120,20,.35);
}
.letreiro-titulo__sub {
  display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 10px;
  margin: 18px 0 0; padding: 10px 22px; border-radius: 999px;
  border: 1.5px solid rgba(255,182,39,.6); background: rgba(18,4,6,.6);
  font: 500 clamp(.85rem, 1.5vw, 1.05rem)/1.2 var(--f-body); letter-spacing: .14em; text-transform: uppercase; color: var(--creme);
}
.letreiro-titulo__sub strong { color: var(--ouro); font-weight: 800; }
.letreiro-titulo__sub span { color: var(--ouro); font-weight: 800; font-size: 1.3em; line-height: 1; }

/* Mesa */
.mesa { margin: 0 auto clamp(20px, 3vw, 36px); max-width: 1000px; position: relative; }
.mesa::before {
  content: ''; position: absolute; left: 10%; right: 10%; bottom: -6%; height: 30%; z-index: -1;
  background: radial-gradient(ellipse at center, rgba(255,140,20,.45), transparent 70%); filter: blur(10px);
}
.mesa img { width: 100%; filter: drop-shadow(0 30px 50px rgba(0,0,0,.65)); }

/* Preços */
.precos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 3vw, 32px); max-width: 860px; margin: 0 auto; }

/* Assinatura: marquise com lâmpadas */
.marquise {
  --lamp: 22px;
  position: relative; text-align: center;
  padding: calc(var(--lamp) + 26px) 20px calc(var(--lamp) + 22px);
  border-radius: 18px;
  background: linear-gradient(180deg, #1d0508, #0e0203);
  isolation: isolate;
}
.marquise::before, .marquise::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; z-index: -1; pointer-events: none;
  padding: var(--lamp);
  background: radial-gradient(circle at center, #ffcf6a 0 3.5px, rgba(255,182,39,.45) 4.5px, transparent 7px) calc(var(--lamp) / 2) calc(var(--lamp) / 2) / var(--lamp) var(--lamp);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.marquise::after {
  background: radial-gradient(circle at center, #fff 0 3px, var(--lampada) 4px, rgba(255,182,39,.6) 6px, transparent 9px) calc(var(--lamp) / 2) calc(var(--lamp) / 2) / calc(var(--lamp) * 2) calc(var(--lamp) * 2);
  animation: pisca 1.2s steps(1) infinite;
}
.marquise { box-shadow: inset 0 0 0 2px rgba(255,182,39,.5), 0 0 40px rgba(255,140,20,.18); }
@keyframes pisca { 0%, 100% { opacity: 1; } 50% { opacity: .15; } }

.marquise h3 {
  display: inline-block; font: 800 .88rem/1 var(--f-body); text-transform: uppercase; letter-spacing: .16em;
  color: var(--tinta); background: var(--ouro); padding: 8px 14px; border-radius: 6px; margin-bottom: 14px;
}
.marquise__preco { font: 400 clamp(3.6rem, 9vw, 6rem)/.9 var(--f-display); margin: 0; color: #fff; }
.marquise__preco small { font-size: .32em; vertical-align: .9em; margin-right: 4px; color: var(--ouro); }
.marquise__preco sup { font-size: .42em; vertical-align: .95em; }
.marquise__pp { font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,245,225,.65); margin: 10px 0 0; }
.marquise--destaque { background: linear-gradient(180deg, var(--veludo), #3a0509); }

/* Refil */
.refil-faixa { margin-top: clamp(40px, 6vw, 64px); text-align: center; }
.refil-faixa__titulo {
  display: flex; align-items: center; gap: 18px; margin: 0 0 clamp(20px, 3vw, 36px);
  font: 500 clamp(.9rem, 1.6vw, 1.15rem)/1 var(--f-body); letter-spacing: .22em; text-transform: uppercase; color: var(--creme);
}
.refil-faixa__titulo::before, .refil-faixa__titulo::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,182,39,.6)); }
.refil-faixa__titulo::after { background: linear-gradient(90deg, rgba(255,182,39,.6), transparent); }
.refis { display: grid; grid-template-columns: 1fr 1fr 1.25fr; gap: clamp(14px, 2.5vw, 28px); align-items: end; }
.refil-item {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px;
  padding: clamp(18px, 2.5vw, 28px) 16px 22px; border-radius: 18px;
  background: linear-gradient(180deg, rgba(42,6,9,.75), rgba(18,4,6,.85));
  border: 1.5px solid rgba(255,182,39,.28);
  transition: transform .3s ease, border-color .3s ease;
}
.refil-item:hover { transform: translateY(-6px); border-color: rgba(255,182,39,.7); }
.refil-item__valor {
  display: inline-flex; flex-direction: column; align-items: center; line-height: 1;
  font: 400 1.9rem/1 var(--f-display); color: var(--ouro); text-shadow: 0 0 .4em rgba(255,182,39,.5);
}
.refil-item__valor small { font: 700 .62rem/1 var(--f-body); letter-spacing: .2em; text-transform: uppercase; color: rgba(255,245,225,.75); margin-bottom: 4px; }
.refil-item__foto { height: clamp(120px, 16vw, 200px); display: flex; align-items: flex-end; justify-content: center; width: 100%; }
.refil-item__foto img { max-height: 100%; width: auto; max-width: 100%; filter: drop-shadow(0 16px 24px rgba(0,0,0,.6)); }
.refil-item h3 { font: 700 .82rem/1.35 var(--f-body); letter-spacing: .14em; text-transform: uppercase; color: var(--creme); max-width: 24ch; }
.refil-item__opcoes { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; background: rgba(255,182,39,.14); color: var(--ouro); }

/* Milkshake: o diferencial */
.refil-item--destaque {
  padding-top: clamp(28px, 3vw, 36px); padding-bottom: 26px;
  background: linear-gradient(180deg, var(--veludo), #2a0609);
  border-color: var(--ouro);
  box-shadow: 0 0 0 4px rgba(255,182,39,.12), 0 0 70px rgba(255,140,20,.35), 0 30px 60px rgba(0,0,0,.5);
  animation: cartaz-pulsa 2.6s ease-in-out infinite;
}
.refil-item--destaque .refil-item__foto { height: clamp(160px, 20vw, 260px); }
.refil-item--destaque .refil-item__valor { font-size: 2.4rem; color: var(--lampada); }
.refil-item--destaque .refil-item__opcoes { background: var(--ouro); color: var(--tinta); }
.refil-item__tag {
  display: inline-flex; align-items: center; gap: 7px;
  position: absolute; top: -14px; left: 50%; transform: translateX(-50%) rotate(-2deg);
  background: var(--rubi); color: #fff; white-space: nowrap;
  font: 400 1rem/1 var(--f-display); letter-spacing: .08em; text-transform: uppercase;
  padding: 8px 14px 7px; border-radius: 8px; box-shadow: 0 8px 20px rgba(215,25,42,.45);
}
.rodizio__acao { text-align: center; margin-top: clamp(40px, 6vw, 56px); }
.aviso { margin-top: 16px; font-size: .9rem; color: rgba(255,245,225,.72); }

@media (max-width: 767px) {
  .precos { grid-template-columns: 1fr; }
  .refis { grid-template-columns: 1fr 1fr; }
  .refil-item--destaque { grid-column: 1 / -1; order: -1; margin-bottom: 8px; }
  .refil-faixa__titulo { letter-spacing: .12em; }
}

/* ---------- Experiência ---------- */
.experiencia { padding: var(--secao) 0; background: radial-gradient(ellipse at 80% 40%, rgba(215,25,42,.28), transparent 60%), var(--noite); }
.experiencia__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 6vw, 80px); align-items: center; }
.experiencia__texto > p { color: rgba(255,245,225,.82); font-size: 1.06rem; max-width: 520px; margin-top: 22px; }
.atos { list-style: none; padding: 0; margin: 32px 0 36px; display: grid; gap: 20px; }
.atos li { display: grid; grid-template-columns: 78px 1fr; gap: 16px; align-items: start; padding-bottom: 20px; border-bottom: 1px solid rgba(255,182,39,.16); }
.atos__n { font: 400 1.1rem/1 var(--f-display); text-transform: uppercase; color: var(--ouro); padding-top: 4px; }
.atos h3 { font: 800 1.1rem/1.2 var(--f-body); margin-bottom: 4px; }
.atos p { margin: 0; color: rgba(255,245,225,.72); font-size: .96rem; }
.experiencia__arte img { border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(255,182,39,.25); transform: rotate(2deg); margin-inline: auto; }

@media (max-width: 899px) {
  .experiencia__grid { grid-template-columns: 1fr; }
  .experiencia__arte { order: -1; max-width: 400px; margin: 0 auto; }
}

/* ---------- Ambiente ---------- */
.ambiente { background: var(--noite); }
.ambiente__video { position: relative; min-height: clamp(520px, 80vh, 820px); display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; }
.ambiente__player { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.ambiente__veu {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(180deg, var(--noite) 0%, rgba(18,4,6,0) 22%),
    linear-gradient(90deg, rgba(18,4,6,.85) 0%, rgba(18,4,6,.45) 40%, rgba(18,4,6,0) 70%),
    linear-gradient(0deg, var(--noite) 0%, rgba(18,4,6,.7) 30%, rgba(18,4,6,.1) 65%);
}
.ambiente__in { padding-top: 120px; padding-bottom: clamp(48px, 7vw, 88px); max-width: 1200px; }
.ambiente__in h2 { max-width: 14ch; margin-bottom: 28px; }
.ambiente__texto { max-width: 520px; margin: 18px 0 26px; font-size: 1.06rem; color: rgba(255,245,225,.85); }
.ambiente__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.ambiente__cta { min-height: 62px; padding: 0 44px; font-size: 1.1rem; box-shadow: 0 0 0 4px rgba(255,182,39,.18), 0 10px 40px rgba(255,182,39,.5); animation: cta-pulsa 2.2s ease-in-out infinite; }
@keyframes cta-pulsa { 0%, 100% { box-shadow: 0 0 0 4px rgba(255,182,39,.18), 0 10px 40px rgba(255,182,39,.5); } 50% { box-shadow: 0 0 0 10px rgba(255,182,39,.08), 0 10px 60px rgba(255,182,39,.75); } }
.ambiente__video:fullscreen .ambiente__veu, .ambiente__video:fullscreen .ambiente__in { display: none; }

/* Galeria (fotos e vídeos extras) */
.galeria { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: clamp(140px, 16vw, 230px); gap: 12px; padding-block: clamp(32px, 5vw, 56px); }
.galeria__item { margin: 0; overflow: hidden; border-radius: 16px; position: relative; box-shadow: inset 0 0 0 1px rgba(255,182,39,.25); }
.galeria__item:nth-child(6n+1) { grid-column: span 2; grid-row: span 2; }
.galeria__item:nth-child(6n+4) { grid-column: span 2; }
.galeria__item img, .galeria__item video { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.galeria__item:hover img, .galeria__item:hover video { transform: scale(1.05); }
.galeria__item--video::after {
  content: ''; position: absolute; inset: 0; margin: auto; width: 56px; height: 56px; border-radius: 50%;
  background: rgba(18,4,6,.7) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFB627' d='M8 5v14l11-7z'/%3E%3C/svg%3E") center / 24px no-repeat;
  box-shadow: 0 0 0 2px rgba(255,182,39,.6); pointer-events: none; transition: opacity .3s;
}
.galeria__item--video.is-tocando::after { opacity: 0; }

@media (max-width: 767px) {
  .ambiente__video { min-height: 78svh; }
  .ambiente__ctas .btn { flex: 1 1 100%; }
  .galeria { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; }
  .galeria__item:nth-child(6n+1) { grid-column: span 2; grid-row: span 1; }
  .galeria__item:nth-child(6n+4) { grid-column: span 1; }
}

/* ---------- CTA Reserva (ingresso) ---------- */
.reserva-cta { padding: 0 0 var(--secao); background: var(--noite); }
.ingresso {
  display: grid; grid-template-columns: 1fr 300px;
  background: var(--creme); color: var(--tinta); border-radius: 20px; overflow: hidden;
  position: relative;
}
.ingresso__corpo { padding: clamp(32px, 5vw, 56px); }
.ingresso__corpo h2 { font-size: clamp(2rem, 4.4vw, 3.2rem); margin-bottom: 24px; }
.passos { margin: 0; padding-left: 1.3em; display: grid; gap: 10px; }
.passos li::marker { font-weight: 800; color: var(--rubi); }
.ingresso__canhoto {
  display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px;
  padding: 32px; background: var(--ouro);
  border-left: 3px dashed rgba(27,11,12,.35);
  position: relative;
}
.ingresso__canhoto::before, .ingresso__canhoto::after {
  content: ''; position: absolute; left: -16px; width: 30px; height: 30px; border-radius: 50%; background: var(--noite);
}
.ingresso__canhoto::before { top: -15px; }
.ingresso__canhoto::after { bottom: -15px; }
.ingresso__alt { font-weight: 700; font-size: .92rem; }

@media (max-width: 767px) {
  .ingresso { grid-template-columns: 1fr; }
  .ingresso__canhoto { border-left: 0; border-top: 3px dashed rgba(27,11,12,.35); }
  .ingresso__canhoto::before, .ingresso__canhoto::after { top: -16px; bottom: auto; }
  .ingresso__canhoto::before { left: -15px; }
  .ingresso__canhoto::after { left: auto; right: -15px; }
  .ingresso__canhoto .btn { width: 100%; }
}

/* ---------- Local ---------- */
.local { padding: var(--secao) 0; background: linear-gradient(180deg, var(--noite) 0%, var(--cortina) 30%, var(--cortina) 70%, #0a0203 100%); }
.local__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(32px, 5vw, 64px); align-items: center; }
.local__end { font-style: normal; font-size: 1.12rem; line-height: 1.7; margin-bottom: 24px; }
.horarios { margin: 0 0 28px; display: grid; gap: 6px; }
.horarios div { display: flex; justify-content: space-between; max-width: 340px; border-bottom: 1px dashed rgba(255,182,39,.25); padding-bottom: 6px; }
.horarios dt { font-weight: 700; }
.horarios dd { margin: 0; color: var(--ouro); }
.local__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.mapa { border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 3; box-shadow: 0 0 0 2px rgba(255,182,39,.3); }
.mapa iframe { width: 100%; height: 100%; border: 0; filter: grayscale(.2) contrast(1.05); }

@media (max-width: 899px) { .local__grid { grid-template-columns: 1fr; } }

/* ---------- Rodapé ---------- */
.rodape { background: #0a0203; padding: 64px 0 0; font-size: .94rem; }
.rodape__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; padding-bottom: 48px; }
.rodape__marca img { width: 180px; margin-bottom: 14px; }
.rodape__marca p { color: rgba(255,245,225,.65); }
.rodape h3 { font: 700 .76rem/1 var(--f-body); letter-spacing: .18em; text-transform: uppercase; color: var(--ouro); margin-bottom: 16px; }
.rodape p { color: rgba(255,245,225,.78); }
.rodape ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.rodape ul a { text-decoration: none; color: rgba(255,245,225,.78); }
.rodape ul a:hover { color: var(--ouro); }
.rodape__base {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px;
  padding-block: 22px; border-top: 1px solid rgba(255,245,225,.1);
  font-size: .82rem; color: rgba(255,245,225,.55);
}
.aew { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: rgba(255,245,225,.8); }
.aew img { height: 22px; width: auto; }
.aew span { font-weight: 700; color: var(--ouro); }

@media (max-width: 767px) {
  .rodape__grid { grid-template-columns: 1fr; gap: 28px; }
  .rodape { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
}

/* ---------- Barra fixa mobile ---------- */
.barra-mobile { display: none; }
@media (max-width: 767px) {
  .barra-mobile {
    display: grid; grid-template-columns: 1fr;
    position: fixed; inset: auto 0 0; z-index: 40;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    background: rgba(18,4,6,.94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255,182,39,.2);
  }
  .barra-mobile .btn { min-height: 52px; font-size: 1.02rem; }
  .topo { display: none; }
  .hero__in { padding-top: 40px; }
}

/* ---------- Revelação / motion ---------- */
.revela { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); transition-delay: var(--atraso, 0ms); will-change: opacity, transform; }
.revela--esq { transform: translateX(-40px); }
.revela--dir { transform: translateX(40px) rotate(2deg); }
.revela--zoom { transform: translateY(28px) scale(.92); }
.revela.is-visto { opacity: 1; transform: none; }
.experiencia__arte.is-visto { transform: rotate(2deg); }
.experiencia__arte.revela img { transform: none; }

/* Hero: entrada em cascata ao carregar */
.js .hero__in > * { opacity: 0; transform: translateY(26px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.js .hero__in > :nth-child(1) { transition-delay: .15s; }
.js .hero__in > :nth-child(2) { transition-delay: .3s; }
.js .hero__in > :nth-child(3) { transition-delay: .45s; }
.js .hero__in > :nth-child(4) { transition-delay: .6s; }
.js.is-carregado .hero__in > *, .js body.is-carregado .hero__in > * { opacity: 1; transform: none; }
.hero__bg img, .rodizio__bg img { transform: scale(1.12); will-change: transform; }
.cartaz__foto img { will-change: transform; }

/* Lâmpadas: animam só quando a seção está na tela */
.js .luz .marquise::after, .js .luz .cartaz::after, .js .luz .cartaz--hoje { animation-play-state: paused; }
.js .luz.is-aceso .marquise::after, .js .luz.is-aceso .cartaz::after, .js .luz.is-aceso .cartaz--hoje { animation-play-state: running; }

/* Botões: brilho passando no hover */
.btn--ouro { position: relative; overflow: hidden; }
.btn--ouro::after { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-20deg); transition: left .6s ease; }
.btn--ouro:hover::after { left: 120%; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .revela, .js .hero__in > * { opacity: 1; transform: none; }
  .hero__bg img, .rodizio__bg img { transform: none; }
}
