/* =========================================================================
   dubaipasseios — sistema visual
   Areia e off-white, dourado como acento, carvão para o texto.
   Mobile-first. Nada de sombra pesada, nada de gradiente barato.
   ========================================================================= */

:root{
  --areia:#f6f2ec;
  --areia-2:#efe8de;
  --papel:#fffdfa;
  --carvao:#1c1917;
  --carvao-2:#3f3a35;
  --cinza:#78706a;
  --cinza-claro:#d9d2c8;
  --ouro:#b08d4f;
  --ouro-claro:#d4b578;
  --ouro-fundo:#f3ead9;
  --verde-wa:#1f7a4d;
  --preco:#8c3b2e;

  --raio:14px;
  --raio-g:20px;
  --sombra:0 1px 2px rgba(28,25,23,.05), 0 8px 24px -12px rgba(28,25,23,.18);
  --sombra-alta:0 2px 4px rgba(28,25,23,.06), 0 18px 40px -18px rgba(28,25,23,.28);
  --transicao:.22s cubic-bezier(.22,.61,.36,1);
  --topo-altura:64px;

  --serif:"Fraunces",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--sans);color:var(--carvao);background:var(--papel);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,5.2vw,3.2rem)}
h2{font-size:clamp(1.45rem,3.4vw,2.1rem)}
h3{font-size:1.1rem}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}

.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}
@media(min-width:768px){.wrap{width:min(1200px,100% - 4rem)}}

.pular{position:absolute;left:-9999px;top:0;background:var(--carvao);color:#fff;padding:.75rem 1rem;z-index:200}
.pular:focus{left:0}

/* ---------------------------------------------------------------- topo */
.topo{
  position:sticky;top:0;z-index:100;background:rgba(255,253,250,.88);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--cinza-claro);
}
.topo-linha{display:flex;align-items:center;gap:1rem;height:var(--topo-altura)}
.marca-nome{font-family:var(--serif);font-size:1.22rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap}
.marca-nome em{font-style:normal;color:var(--ouro)}
.nav-desktop{display:none;gap:1.6rem;margin-left:auto;font-size:.9rem;font-weight:500}
.nav-desktop a{color:var(--carvao-2);padding:.4rem 0;position:relative}
.nav-desktop a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;
  background:var(--ouro);transition:right var(--transicao);
}
.nav-desktop a:hover::after{right:0}
.topo-acoes{display:flex;align-items:center;gap:.5rem;margin-left:auto}
@media(min-width:960px){
  .nav-desktop{display:flex}
  .topo-acoes{margin-left:1.5rem}
}
.btn-icone{
  display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--cinza-claro);
  background:transparent;border-radius:50%;color:var(--carvao);transition:var(--transicao);
}
.btn-icone:hover{background:var(--areia);border-color:var(--ouro)}
.so-mobile{display:grid}
.nao-mobile{display:none}
@media(min-width:960px){.so-mobile{display:none}.nao-mobile{display:inline-flex}}

.busca-barra{border-top:1px solid var(--cinza-claro);background:var(--areia);padding:.85rem 0}
.busca-linha{display:flex;gap:.6rem}
.busca-linha input{
  flex:1;padding:.85rem 1.1rem;border:1px solid var(--cinza-claro);border-radius:999px;
  background:var(--papel);font-size:1rem;color:var(--carvao);
}
.busca-linha input:focus{outline:2px solid var(--ouro-claro);outline-offset:1px;border-color:var(--ouro)}

/* menu mobile */
.menu-mobile{
  position:fixed;inset:var(--topo-altura) 0 0;z-index:99;background:var(--papel);
  padding:1.5rem 1.25rem 2rem;overflow-y:auto;
}
.menu-mobile nav{display:grid;gap:.15rem;margin-bottom:1.5rem}
.menu-mobile nav a{
  display:flex;align-items:center;gap:.85rem;padding:.95rem .5rem;font-size:1.05rem;
  font-weight:500;border-bottom:1px solid var(--areia-2);
}
.menu-mobile nav a span{font-size:1.2rem}

/* ---------------------------------------------------------------- botões */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.8rem 1.4rem;border-radius:999px;font-weight:600;font-size:.92rem;
  border:1px solid transparent;transition:var(--transicao);white-space:nowrap;
}
.btn-ouro{background:var(--carvao);color:var(--papel)}
.btn-ouro:hover{background:#000;transform:translateY(-1px)}
.btn-wa{background:var(--verde-wa);color:#fff}
.btn-wa:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-linha{border-color:var(--cinza-claro);color:var(--carvao);background:transparent}
.btn-linha:hover{border-color:var(--ouro);background:var(--areia)}
.btn-grande{padding:1rem 1.8rem;font-size:1rem}
.bloco{display:flex;width:100%}

/* ---------------------------------------------------------------- hero */
.hero{position:relative;background:var(--carvao);color:var(--papel);overflow:hidden}
.hero-fundo{position:absolute;inset:0;opacity:.5}
.hero-fundo img{width:100%;height:100%;object-fit:cover}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(28,25,23,.35) 0%,rgba(28,25,23,.82) 100%);
}
.hero-conteudo{position:relative;z-index:2;padding:4rem 0 3.5rem;text-align:center}
@media(min-width:768px){.hero-conteudo{padding:6.5rem 0 5rem}}
.hero h1{color:var(--papel);margin-bottom:.6rem;text-wrap:balance}
.hero-sub{
  font-size:1.05rem;color:rgba(255,253,250,.82);max-width:34rem;margin:0 auto 2rem;
  text-wrap:balance;
}
.hero-busca{display:flex;gap:.6rem;max-width:34rem;margin:0 auto;flex-wrap:wrap}
.hero-busca input{
  flex:1;min-width:14rem;padding:1rem 1.3rem;border:0;border-radius:999px;font-size:1rem;
}
.hero-busca input:focus{outline:2px solid var(--ouro-claro)}
.hero-busca .btn{background:var(--ouro);color:#1c1917;border:0}
.hero-busca .btn:hover{background:var(--ouro-claro)}

/* barra de confiança */
.confianca{background:var(--areia);border-bottom:1px solid var(--cinza-claro)}
.confianca-lista{
  display:flex;gap:2rem;padding:1rem 0;overflow-x:auto;scrollbar-width:none;
  font-size:.86rem;color:var(--carvao-2);
}
.confianca-lista::-webkit-scrollbar{display:none}
.confianca-lista li{display:flex;align-items:center;gap:.5rem;white-space:nowrap}
.confianca-lista strong{font-weight:600}
.confianca-lista svg{color:var(--ouro);flex-shrink:0}

/* ---------------------------------------------------------------- seções */
.secao{padding:3rem 0}
@media(min-width:768px){.secao{padding:4.5rem 0}}
.secao-clara{background:var(--areia)}
.secao-cabeca{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}
.secao-cabeca h2{margin:0}
.sobrancelha{
  display:block;font-family:var(--sans);font-size:.74rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ouro);margin-bottom:.5rem;
}
.link-mais{font-size:.9rem;font-weight:600;color:var(--carvao-2);white-space:nowrap}
.link-mais:hover{color:var(--ouro)}

/* ---------------------------------------------------------------- cards */
.grade{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}

.card{
  background:var(--papel);border:1px solid var(--cinza-claro);border-radius:var(--raio-g);
  overflow:hidden;display:flex;flex-direction:column;transition:var(--transicao);
  box-shadow:var(--sombra);
}
.card:hover{transform:translateY(-3px);box-shadow:var(--sombra-alta);border-color:var(--ouro-claro)}
.card-foto{position:relative;aspect-ratio:4/3;background:var(--areia-2);overflow:hidden}
.card-foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.card:hover .card-foto img{transform:scale(1.06)}
.card-vazia{
  width:100%;height:100%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--areia-2),var(--areia));color:var(--cinza);
  font-family:var(--serif);font-size:2rem;
}
.card-corpo{padding:1.1rem 1.15rem 1.25rem;display:flex;flex-direction:column;flex:1;gap:.5rem}
.card-cat{
  font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ouro);
}
.card h3{font-size:1.06rem;margin:0;line-height:1.25}
.card-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8rem;color:var(--cinza);margin-top:auto}
.card-meta span{display:flex;align-items:center;gap:.3rem}
.card-preco{
  display:flex;align-items:baseline;gap:.4rem;padding-top:.75rem;
  border-top:1px solid var(--areia-2);margin-top:.5rem;
}
.preco-de{font-size:.74rem;color:var(--cinza)}
.preco-valor{font-family:var(--serif);font-size:1.35rem;font-weight:700;color:var(--preco)}
.preco-pessoa{font-size:.74rem;color:var(--cinza)}

/* selos */
.selo{
  position:absolute;top:.75rem;left:.75rem;z-index:2;display:inline-flex;align-items:center;gap:.3rem;
  padding:.32rem .6rem;border-radius:999px;font-size:.7rem;font-weight:600;
  background:rgba(255,253,250,.95);color:var(--carvao);backdrop-filter:blur(4px);
}
.selo-nota{left:auto;right:.75rem;background:rgba(28,25,23,.86);color:#fff}
.selo-idioma{
  display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:500;
  color:var(--carvao-2);background:var(--ouro-fundo);border:1px solid #e6d7b8;
  padding:.3rem .6rem;border-radius:999px;
}

/* ---------------------------------------------------------------- prateleiras */
.prateleiras{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.prateleira{
  display:flex;flex-direction:column;gap:.35rem;padding:1.4rem 1.3rem;border-radius:var(--raio-g);
  background:var(--papel);border:1px solid var(--cinza-claro);transition:var(--transicao);
}
.prateleira:hover{border-color:var(--ouro);transform:translateY(-2px);box-shadow:var(--sombra)}
.prateleira-emoji{font-size:1.6rem;line-height:1}
.prateleira h3{margin:.3rem 0 0;font-size:1.08rem}
.prateleira p{font-size:.86rem;color:var(--cinza);margin:0}
.prateleira-total{font-size:.78rem;color:var(--ouro);font-weight:600;margin-top:.3rem}

/* ---------------------------------------------------------------- passos */
.passos{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.passo{position:relative;padding-left:3.2rem}
.passo-num{
  position:absolute;left:0;top:0;width:2.4rem;height:2.4rem;border-radius:50%;
  display:grid;place-items:center;background:var(--carvao);color:var(--papel);
  font-family:var(--serif);font-weight:700;
}
.passo h3{margin:.25rem 0 .35rem}
.passo p{font-size:.92rem;color:var(--cinza);margin:0}

/* ---------------------------------------------------------------- produto */
.produto-topo{background:var(--areia);border-bottom:1px solid var(--cinza-claro);padding:1.5rem 0 0}
.migalhas{font-size:.82rem;color:var(--cinza);margin-bottom:.75rem}
.migalhas a:hover{color:var(--ouro)}
.produto-titulo{margin-bottom:.5rem}
.produto-linha-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.88rem;color:var(--carvao-2);margin-bottom:1.5rem}
.produto-linha-meta span{display:flex;align-items:center;gap:.35rem}

.galeria{display:grid;gap:.5rem;grid-template-columns:1fr;margin-bottom:2rem}
@media(min-width:768px){
  .galeria{grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,1fr);height:420px}
  .galeria img{width:100%;height:100%;object-fit:cover}
  .galeria a:first-child{grid-row:span 2}
}
.galeria a{border-radius:var(--raio);overflow:hidden;background:var(--areia-2);aspect-ratio:16/10}
@media(min-width:768px){.galeria a{aspect-ratio:auto}}
.galeria img{transition:transform .5s}
.galeria a:hover img{transform:scale(1.04)}

.produto-grade{display:grid;gap:2.5rem;align-items:start;padding:2.5rem 0}
@media(min-width:980px){.produto-grade{grid-template-columns:1fr 380px;gap:3rem}}

.bloco-info{margin-bottom:2.25rem}
.bloco-info h2{font-size:1.32rem;margin-bottom:.9rem}
.lista-check li,.lista-alerta li,.lista-neutra li{
  position:relative;padding-left:1.7rem;margin-bottom:.55rem;font-size:.94rem;color:var(--carvao-2);
}
.lista-check li::before{
  content:"";position:absolute;left:0;top:.45em;width:.85rem;height:.5rem;
  border-left:2px solid var(--ouro);border-bottom:2px solid var(--ouro);transform:rotate(-45deg);
}
.lista-alerta li::before{
  content:"!";position:absolute;left:.2rem;top:0;color:var(--preco);font-weight:700;
}
.lista-neutra li::before{
  content:"";position:absolute;left:.35rem;top:.7em;width:5px;height:5px;border-radius:50%;
  background:var(--cinza-claro);
}

.aviso{
  display:flex;gap:.85rem;padding:1rem 1.15rem;border-radius:var(--raio);
  background:var(--ouro-fundo);border:1px solid #e6d7b8;font-size:.9rem;margin-bottom:1.5rem;
}
.aviso strong{display:block;margin-bottom:.15rem}
.aviso-icone{flex-shrink:0;font-size:1.1rem;line-height:1.4}

/* seletor de opções */
.reserva{
  position:sticky;top:calc(var(--topo-altura) + 1rem);background:var(--papel);
  border:1px solid var(--cinza-claro);border-radius:var(--raio-g);padding:1.35rem;
  box-shadow:var(--sombra-alta);
}
.reserva-preco{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.25rem}
.reserva-preco .valor{font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--preco)}
.reserva-nota{font-size:.8rem;color:var(--cinza);margin-bottom:1.15rem}
.reserva h3{font-size:.95rem;margin-bottom:.7rem}

.opcao{
  border:1.5px solid var(--cinza-claro);border-radius:var(--raio);padding:.9rem 1rem;
  margin-bottom:.6rem;cursor:pointer;transition:var(--transicao);display:block;
}
.opcao:hover{border-color:var(--ouro-claro);background:var(--areia)}
.opcao.ativa{border-color:var(--ouro);background:var(--ouro-fundo)}
.opcao input{position:absolute;opacity:0;pointer-events:none}
.opcao-topo{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}
.opcao-nome{font-weight:600;font-size:.92rem;line-height:1.3}
.opcao-preco{font-weight:700;color:var(--preco);white-space:nowrap;font-size:.95rem}
.opcao-desc{font-size:.8rem;color:var(--cinza);margin-top:.3rem}
.opcao-tag{
  display:inline-block;margin-top:.4rem;font-size:.7rem;font-weight:600;color:var(--ouro);
  letter-spacing:.06em;text-transform:uppercase;
}

.transporte-grupo{margin:1.25rem 0}
.reserva-total{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:.9rem 0;border-top:1px solid var(--areia-2);margin-top:.5rem;
}
.reserva-total .rotulo{font-size:.88rem;color:var(--cinza)}
.reserva-total .valor{font-family:var(--serif);font-size:1.55rem;font-weight:700;color:var(--preco)}
.reserva-mini{font-size:.75rem;color:var(--cinza);text-align:center;margin-top:.65rem;line-height:1.5}

/* avaliações */
.avaliacoes{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.avaliacao{
  background:var(--papel);border:1px solid var(--cinza-claro);border-radius:var(--raio);
  padding:1.1rem 1.2rem;
}
.avaliacao-nota{color:var(--ouro);font-size:.85rem;letter-spacing:.1em;margin-bottom:.4rem}
.avaliacao h4{font-family:var(--sans);font-size:.92rem;font-weight:600;margin:0 0 .35rem}
.avaliacao p{font-size:.88rem;color:var(--carvao-2);margin:0 0 .6rem}
.avaliacao-autor{font-size:.78rem;color:var(--cinza)}

/* ---------------------------------------------------------------- políticas */
.doc{max-width:52rem;padding:3rem 0}
.doc h2{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--areia-2)}
.doc h2:first-of-type{border-top:0;padding-top:0;margin-top:1.5rem}
.doc h3{margin-top:1.75rem}
.doc p,.doc li{color:var(--carvao-2)}
.doc ul{margin:0 0 1.25rem}
.doc li{position:relative;padding-left:1.4rem;margin-bottom:.5rem}
.doc li::before{content:"";position:absolute;left:.3rem;top:.7em;width:5px;height:5px;border-radius:50%;background:var(--ouro)}
.doc-indice{background:var(--areia);border-radius:var(--raio-g);padding:1.4rem 1.6rem;margin-bottom:2rem}
.doc-indice h2{margin:0 0 .75rem;border:0;padding:0;font-size:1.05rem}
.doc-indice li{margin-bottom:.4rem}
.doc-indice a:hover{color:var(--ouro)}
.doc-atualizado{font-size:.82rem;color:var(--cinza)}

/* ---------------------------------------------------------------- rodapé */
.rodape{background:var(--carvao);color:rgba(255,253,250,.72);padding:3rem 0 1.5rem;margin-top:4rem}
.rodape-grade{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.rodape-marca{color:var(--papel);margin-bottom:.6rem}
.rodape-texto{font-size:.88rem;max-width:22rem}
.rodape h3{
  font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ouro-claro);margin-bottom:.85rem;
}
.rodape li{margin-bottom:.5rem;font-size:.88rem}
.rodape a:hover{color:var(--papel)}
.rodape-legal{
  margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,253,250,.14);
  font-size:.78rem;color:rgba(255,253,250,.5);
}
.rodape-legal p{margin:0}

/* ---------------------------------------------------------------- utilidades */
.vazio{text-align:center;padding:4rem 1rem;color:var(--cinza)}
.vazio h2{color:var(--carvao)}
.centro{text-align:center}
.mt-2{margin-top:1.5rem}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* complementos na coluna de reserva */
.lista-complementos li{
  display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;
  padding:.55rem 0;border-bottom:1px solid var(--areia-2);font-size:.86rem;
}
.lista-complementos li:last-child{border-bottom:0}
.lista-complementos strong{color:var(--preco);white-space:nowrap}

/* ========================================================================
   MOBILE — consolidado
   ======================================================================== */
html,body{overflow-x:hidden}
.produto-titulo,.migalhas,.prateleira p,.card h3,.secao-cabeca h2{overflow-wrap:break-word}

@media(max-width:600px){
  .nao-mobile{display:none!important}
  .topo-acoes{gap:.35rem}

  .hero h1{font-size:1.85rem;overflow-wrap:break-word}
  .hero-conteudo{padding:2.75rem 0 2.25rem}
  .hero-sub{font-size:.98rem}
  .hero-busca{flex-direction:column}
  .hero-busca input{min-width:0;width:100%}
  .hero-busca .btn{width:100%}

  .produto-linha-meta{font-size:.82rem;gap:.6rem}
  .produto-linha-meta span{white-space:nowrap}
  .produto-grade{padding:1.75rem 0}
  .bloco-info h2{font-size:1.2rem}
  .lista-check li,.lista-alerta li,.lista-neutra li{font-size:.92rem}
  .reserva{position:static;padding:1.15rem}
  aside{margin-top:1.5rem}
  .galeria{margin-bottom:1.25rem}
}

/* complementos na coluna de reserva */
.lista-complementos li{
  display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;
  padding:.55rem 0;border-bottom:1px solid var(--areia-2);font-size:.86rem;
}
.lista-complementos li:last-child{border-bottom:0}
.lista-complementos strong{color:var(--preco);white-space:nowrap}

/* ========================================================================
   CONVERSÃO — preço dominante + barra de compra fixa (mobile)
   ======================================================================== */
.meta-preco{
  font-size:.95rem!important;color:var(--carvao)!important;
}
.meta-preco strong{
  font-family:var(--serif);font-size:1.35rem;color:var(--preco);font-weight:700;
}

/* barra fixa na base da tela, só no mobile — sempre visível, 1 toque para o CTA */
.barra-compra{display:none}
@media(max-width:980px){
  .barra-compra{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;
    align-items:center;justify-content:space-between;gap:1rem;
    padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
    background:rgba(255,253,250,.97);backdrop-filter:blur(12px);
    border-top:1px solid var(--cinza-claro);
    box-shadow:0 -6px 24px -12px rgba(28,25,23,.3);
  }
  .barra-compra-preco{display:flex;flex-direction:column;line-height:1.2}
  .barra-compra-preco span{font-size:.72rem;color:var(--cinza)}
  .barra-compra-preco strong{font-family:var(--serif);font-size:1.3rem;color:var(--preco)}
  .barra-compra .btn{flex-shrink:0;padding:.85rem 1.3rem}
  /* espaço para a barra não cobrir o rodapé/conteúdo */
  .rodape{margin-bottom:70px}
}

/* ========================================================================
   FICHA CURADA — resumo de compra + famílias de opção
   ======================================================================== */
.resumo-compra{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:.6rem 1.5rem;margin:0 0 1.75rem;padding:1rem 1.25rem;
  background:var(--ouro-fundo);border:1px solid #e6d7b8;border-radius:var(--raio);
}
.resumo-compra li{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--carvao-2)}
.resumo-compra svg{color:var(--ouro);flex-shrink:0}

.opcao-familia{margin:1.4rem 0 .7rem}
.opcao-familia:first-of-type{margin-top:.5rem}
.opcao-familia-nome{
  display:block;font-family:var(--serif);font-size:1.02rem;font-weight:600;color:var(--carvao);
}
.opcao-familia-sub{display:block;font-size:.8rem;color:var(--cinza);margin-top:.1rem}

/* seletor de preferência de horário (ingressos com hora marcada) */
.pref-horario{
  width:100%;padding:.85rem 1rem;border:1.5px solid var(--cinza-claro);border-radius:var(--raio);
  background:var(--papel);font-size:.95rem;color:var(--carvao);font-family:var(--sans);
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2378706a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;
}
.pref-horario:focus{outline:2px solid var(--ouro-claro);border-color:var(--ouro)}

/* ========================================================================
   FLUXO DE COMPRA — data, quantidade, total (espelha a praticidade da Rayna)
   ======================================================================== */
.reserva-linha{margin:1.1rem 0 .3rem}
.reserva-linha label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--carvao)}
.reserva-data{
  width:100%;padding:.85rem 1rem;border:1.5px solid var(--cinza-claro);border-radius:var(--raio);
  background:var(--papel);font-size:.95rem;color:var(--carvao);font-family:var(--sans);cursor:pointer;
}
.reserva-data:focus{outline:2px solid var(--ouro-claro);border-color:var(--ouro)}

.quantidade-grupo{margin:1.1rem 0 .3rem;border-top:1px solid var(--areia-2);padding-top:1.1rem}
.qtd-linha{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.qtd-rotulo{display:flex;flex-direction:column;line-height:1.3}
.qtd-rotulo strong{font-size:.95rem;font-weight:600}
.qtd-rotulo span{font-size:.78rem;color:var(--cinza)}
.stepper{display:flex;align-items:center;gap:.25rem}
.stepper-btn{
  width:34px;height:34px;border-radius:50%;border:1.5px solid var(--cinza-claro);
  background:var(--papel);color:var(--carvao);font-size:1.15rem;line-height:1;
  display:grid;place-items:center;transition:var(--transicao);
}
.stepper-btn:hover{border-color:var(--ouro);background:var(--areia)}
.stepper-btn:active{transform:scale(.92)}
.stepper-valor{min-width:1.8rem;text-align:center;font-weight:600;font-size:1rem}
