/* Shox Espelho: só o que a base não tem. Mesmos espaços, raios, sombras e letras do app.css. */
:root { --marca: #374151; --marca-escuro: #111827; --marca-forte: #1F2937; --marca-claro: #F3F4F6; --disp: #15803D; --resv: #F59E0B; --vend: #B91C1C; --bloq: #6B7280; }
.bom { color: #166534; } .ruim { color: #B42318; } .cresce { flex: 1; min-width: 0; } .centro { text-align: center; }
.topo-acao { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.titulo-secao { font-size: 22px; margin: 30px 0 14px; }
.cab-bloco { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.cab-bloco h2, .cartao > h2 { font-size: 19px; } .cab-bloco a { font-size: 14px; }
.total { font-size: 22px; font-weight: 800; color: var(--tinta); letter-spacing: -.02em; }
.dois-blocos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.dois-blocos > * { min-width: 0; } .pedido-claude { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; } .janela { max-width: 100%; }
.numeros { margin-bottom: 4px; } .cartao .numeros { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-top: 16px; }
.cartao .numeros .cartao { padding: 16px; box-shadow: none; margin: 0; } .cartao .numeros .grande { font-size: 24px; }
/* selos e filtros */
.selo { display: inline-flex; align-items: center; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 99px; background: var(--fundo); color: var(--texto); border: 1px solid var(--linha); white-space: nowrap; }
.selo.ok { background: #E7F8EE; color: #166534; border-color: transparent; } .selo.azul { background: var(--azul); color: #1D4E9E; border-color: transparent; }
.selo.alerta { background: var(--amarelo); color: #854D0E; border-color: transparent; } .selo.perigo { background: var(--vermelho); color: #B42318; border-color: transparent; }
.filtros { display: grid; gap: 10px; margin-bottom: 20px; } .chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { display: inline-flex; gap: 6px; align-items: center; padding: 8px 14px; border-radius: 99px; background: #fff; border: 1px solid var(--linha); color: var(--texto); font-size: 14px; font-weight: 600; }
.chip.on { background: var(--tinta); border-color: var(--tinta); color: #fff; } .chip.perigo:not(.on) { border-color: #F3B8B1; color: #B42318; }
.chip b { background: rgba(0,0,0,.08); border-radius: 99px; padding: 0 7px; font-size: 12px; }
.bloco-form { border: 1px solid var(--linha); border-radius: var(--raio); padding: 20px; margin: 0; min-width: 0; display: grid; gap: 14px; background: #fff; }
.bloco-form legend { font-weight: 800; color: var(--tinta); font-size: 17px; padding: 0 8px; }
.campos-dentro { display: contents; } .campos-dentro[hidden] { display: none; }
.campos label, .linha-form label, .bloco-form > label, .cor-loja { display: grid; gap: 6px; font-weight: 700; color: var(--tinta); font-size: 14px; }
.linha-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; align-items: end; margin-top: 14px; }
.cor-loja input[type=color] { width: 72px; height: 46px; padding: 4px; cursor: pointer; }
a:focus-visible, button:focus-visible, summary:focus-visible, select:focus-visible { outline: 3px solid var(--marca); outline-offset: 2px; }
select:focus { border-color: var(--marca); }
.dados { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 0 0 12px; } .dados dt { font-size: 12px; font-weight: 700; color: var(--fraco); text-transform: uppercase; letter-spacing: .06em; } .dados dd { margin: 0; font-weight: 600; color: var(--tinta); }
.linha-conta { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--linha); margin: 0; } .linha-conta b { color: var(--tinta); white-space: nowrap; }
.linha-conta.subtotal { font-weight: 700; } .linha-conta.total { border-bottom: 0; font-size: 20px; font-weight: 800; color: var(--tinta); } .linha-conta.total b { color: #166534; } .linha-conta.negativo b { color: #B42318; }
.sem-borda { padding: 6px 18px; overflow: hidden; } .tab { width: 100%; border-collapse: collapse; font-size: 14px; }
.tab th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--fraco); padding: 12px 8px; border-bottom: 1px solid var(--linha); }
.tab td { padding: 12px 8px; border-bottom: 1px solid var(--linha); vertical-align: middle; } .tab tr:last-child td { border-bottom: 0; }
.qr { width: min(220px, 70%); margin: 12px auto; } .qr svg { width: 100%; height: auto; display: block; }
.linha-form label { min-width: 0; } .linha-form input, .linha-form select { min-width: 0; max-width: 100%; box-sizing: border-box; }
.campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.passos-grade.cinco { grid-template-columns: repeat(5, minmax(0, 1fr)); } .passos-grade.cinco .passo-card { padding: 18px; }
.voltar { margin: 0 0 14px; } .titulo-secao.sem-topo { margin-top: 0; } 
/* a unidade: um bloco pintado pela situação (o mesmo no 3D, na grade, nas listas e na legenda) */
.un { display: inline-flex; align-items: center; justify-content: center; gap: 4px; border-radius: 3px; font-weight: 700; color: #fff; text-decoration: none; min-width: 0; line-height: 1; font-style: normal; }
.un b { font-weight: 700; } .un small { font-size: 10px; opacity: .9; }
.un.s-disponivel { background: var(--disp); } .un.s-reservada { background: var(--resv); color: #3B2303; } .un.s-vendida { background: var(--vend); } .un.s-bloqueada { background: var(--bloq); }
.un.oco, .un.s-oco { background: rgba(255,255,255,.1); }
a.un:hover, a.un:focus-visible { outline: 2px solid #fff; outline-offset: 0; box-shadow: 0 0 0 4px rgba(17,24,39,.55); position: relative; z-index: 2; }
.un.grande { width: 58px; height: 46px; font-size: 14px; border-radius: 12px; flex: none; }
.legenda { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; font-weight: 600; }
.legenda li { display: flex; align-items: center; gap: 7px; } .legenda i.un, .mini-leg i.un { width: 14px; height: 14px; border-radius: 4px; } .legenda b { color: var(--tinta); }
.so-disp .un:not(.s-disponivel) { opacity: .2; } .so-disp a.un.s-disponivel { box-shadow: 0 0 0 2px #fff, 0 0 12px 2px #4ADE80; position: relative; z-index: 1; }
.barra-espelho { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; } button.chip { font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.barra-sit { display: flex; height: 14px; border-radius: 99px; overflow: hidden; background: var(--fundo); } .barra-sit i { display: block; min-width: 0; }
.barra-sit .s-disponivel { background: var(--disp); } .barra-sit .s-reservada { background: var(--resv); } .barra-sit .s-vendida { background: var(--vend); } .barra-sit .s-bloqueada { background: var(--bloq); }
/* o prédio em 3D: caixas feitas com CSS (frente com as unidades, flancos, fundo e teto) */
.cena { --cel: clamp(15px, calc((min(100vw, 1100px) - 76px) / var(--cols)), 40px); --alt: calc(var(--cel) * .72); --prof: calc(var(--cel) * 2.2);
  perspective: 1500px; perspective-origin: 50% 30%; padding: 46px 8px 18px; overflow: hidden; border-radius: 28px; border: 1px solid var(--linha); background: linear-gradient(180deg, #E5EAF1 0%, #F3F4F6 55%, #D9DEE5 100%); touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; }
.cena.arrastando { cursor: grabbing; }
.predios { --giro: -26deg; position: relative; display: flex; justify-content: center; align-items: flex-end; gap: calc(var(--cel) * 1.7); width: max-content; margin: 0 auto calc(var(--prof) * .9 + 34px); transform-style: preserve-3d; transform: rotateX(-13deg) rotateY(var(--giro)); transition: transform .3s; }
.arrastando .predios { transition: none; }
.torre { position: relative; width: calc(var(--col) * var(--cel)); height: calc(var(--lin) * var(--alt)); transform-style: preserve-3d; flex: none; }
.face { position: absolute; inset: 0; box-sizing: border-box; }
.face.frente { display: grid; grid-auto-rows: 1fr; gap: 2px; padding: 2px; background: #111827; transform: translateZ(calc(var(--prof) / 2)); }
.face.frente .un { font-size: calc(var(--cel) * .3); border-radius: 2px; }
.face.fundo { background: #374151; transform: rotateY(180deg) translateZ(calc(var(--prof) / 2)); }
.face.flanco { width: var(--prof); left: calc(50% - var(--prof) / 2); right: auto; background: #4B5563; }
.face.flanco.dir { transform: rotateY(90deg) translateZ(calc(var(--col) * var(--cel) / 2)); } .face.flanco.esq { transform: rotateY(-90deg) translateZ(calc(var(--col) * var(--cel) / 2)); background: #374151; }
.face.fundo, .face.flanco { display: grid; grid-auto-rows: 1fr; } .face.fundo i, .face.flanco i { border-bottom: 2px solid rgba(17,24,39,.55); background: linear-gradient(90deg, rgba(255,255,255,.07) 0 46%, transparent 46% 54%, rgba(255,255,255,.07) 54%); }
.face.teto { height: var(--prof); bottom: auto; top: calc(var(--prof) / -2); background: #9CA3AF; transform: rotateX(90deg); }
.chao { position: absolute; left: -12%; right: -12%; height: calc(var(--prof) * 3.4); bottom: calc(var(--prof) * -1.7); transform: rotateX(90deg); background: radial-gradient(closest-side, rgba(17,24,39,.22), rgba(17,24,39,0)); border-radius: 50%; pointer-events: none; }
.placa { position: absolute; top: 100%; left: 0; right: 0; margin: 8px 0 0; text-align: center; font-size: 12px; font-weight: 800; color: var(--tinta); white-space: nowrap; transform: translateZ(calc(var(--prof) / 2)); }
.giro { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--fraco); position: relative; z-index: 3; }
/* visão em grade */
.grades { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; align-items: start; } .torre-grade { margin: 0; } .torre-grade h2 { margin-bottom: 12px; }
.rola { overflow-x: auto; -webkit-overflow-scrolling: touch; } .grade-un { border-collapse: separate; border-spacing: 4px; width: 100%; }
.grade-un th { font-size: 11px; font-weight: 700; color: var(--fraco); text-transform: uppercase; letter-spacing: .05em; padding: 2px 4px; white-space: nowrap; } .grade-un tbody th { text-align: right; }
.grade-un td { padding: 0; } .grade-un .un { display: flex; width: 100%; min-width: 50px; height: 38px; font-size: 13px; border-radius: 8px; }
/* gaveta com a ficha */
.gaveta { position: fixed; top: 0; right: 0; bottom: 0; width: min(540px, 100%); background: var(--cartao); box-shadow: -18px 0 50px rgba(17,24,39,.25); z-index: 60; overflow-y: auto; overscroll-behavior: contain; }
.gaveta[hidden] { display: none; } .gaveta-cab { position: sticky; top: 0; background: #fff; display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--linha); z-index: 2; } .gaveta-corpo { padding: 20px; }
/* ficha da unidade */
.ficha { display: grid; gap: 18px; } .ficha-pagina { max-width: 860px; } .ficha-cab { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; } .ficha-cab > div { flex: 1; min-width: 150px; } .ficha-cab h1 { font-size: 28px; }
.preco-tabela { background: var(--marca-claro); border-radius: 16px; padding: 16px 20px; display: grid; gap: 2px; } .preco-tabela span { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fraco); }
.preco-tabela strong { font-size: 30px; color: var(--tinta); letter-spacing: -.03em; line-height: 1.1; } .preco-tabela small { color: var(--texto); font-size: 14px; }
.abas-botoes { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; } .abas-botoes .chip { font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.aba { margin-bottom: 18px; } .aba-titulo { font-size: 17px; margin-bottom: 10px; } .abas.viva .aba-titulo, .abas:not(.viva) .abas-botoes { display: none; } .abas.viva .aba { margin-bottom: 0; }
.figura { margin: 0; border: 1px solid var(--linha); border-radius: 16px; overflow: hidden; background: #F9FAFB; } .figura img, .planta-svg { display: block; width: 100%; height: auto; }
.figura figcaption { padding: 8px 12px; font-size: 13px; font-weight: 600; color: var(--fraco); background: #fff; border-top: 1px solid var(--linha); }
.galeria { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-bottom: 10px; }
.sem-imagem { border: 2px dashed var(--linha); border-radius: 16px; padding: 26px 18px; text-align: center; color: var(--fraco); display: grid; gap: 8px; justify-items: center; } .sem-imagem .emo { font-size: 30px; } .sem-imagem p { margin: 0; }
.simulador { border: 1px solid var(--linha); border-radius: 16px; padding: 4px 18px; margin-bottom: 12px; } .linha-conta span small { display: block; font-size: 13px; color: var(--fraco); } .linha-conta.total b { color: var(--tinta); }
.ficha-acoes { align-items: flex-start; } details.reservar, details.confirmar { flex: 1 1 100%; } details.reservar:not([open]), details.confirmar:not([open]) { flex: 0 0 auto; }
details.reservar > summary, details.confirmar > summary { list-style: none; width: fit-content; } details > summary.btn::-webkit-details-marker { display: none; }
.bloco-reserva { margin-top: 14px; padding: 18px; border: 1px solid var(--linha); border-radius: 16px; background: #fff; gap: 14px; }
.caixa-reserva { background: var(--amarelo); border-radius: 16px; padding: 16px 18px; display: grid; gap: 8px; } .caixa-reserva p { margin: 0; } .caixa-reserva .acoes { margin-top: 4px; }
.so-gestor { border-top: 1px dashed var(--linha); padding-top: 16px; display: grid; gap: 10px; }
.lista-hist, .lista-modelos { list-style: none; margin: 10px 0 0; padding: 0; display: grid; } .lista-hist li { padding: 8px 0; border-bottom: 1px solid var(--linha); font-size: 14px; } .lista-hist small { display: block; color: var(--fraco); }
.lista-modelos li { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid var(--linha); } .lista-modelos li:last-child { border-bottom: 0; }
.lista-modelos b { color: var(--tinta); } .lista-modelos span { color: var(--fraco); font-size: 14px; flex: 1; min-width: 140px; } .lista-modelos strong { color: var(--tinta); white-space: nowrap; }
/* reservas, interessados e equipe */
.grade-res { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 18px; align-items: start; } .grade-res .cartao, .pessoa { margin: 0; display: grid; gap: 10px; } .grade-res p, .pessoa p { margin: 0; } .pessoa { margin-bottom: 14px; }
.reserva-cab { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .reserva-cab h3 { font-size: 18px; } .reserva.urgente { border-color: #F3B8B1; box-shadow: 0 0 0 4px #FDECEA, var(--sombra); } .pessoa.apagada { opacity: .7; }
.cartao blockquote { margin: 0; padding: 10px 14px; background: var(--fundo); border-radius: 12px; font-size: 15px; } .privacidade-pessoa { border-top: 1px solid var(--linha); padding-top: 10px; }
.bola-nome { width: 44px; height: 44px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--marca-claro); color: var(--tinta); font-weight: 800; font-size: 17px; }
.lista-res { display: grid; gap: 6px; } .linha-res { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 14px; color: var(--texto); font-weight: 400; } .linha-res:hover { background: var(--fundo); }
.linha-res b { color: var(--tinta); display: block; } .linha-res small { color: var(--fraco); font-size: 13px; } .linha-res .un b { color: inherit; }
/* início: o espelho dentro do celular */
.espelho-cel { background: #F4F5F7; min-height: 0; gap: 10px; } .marca-cel { background: linear-gradient(145deg, var(--marca), var(--marca-escuro)); }
.mini-predio { display: grid; gap: 3px; margin: 2px 26px 0; padding: 8px; background: #111827; border-radius: 8px 8px 2px 2px; } .mini-predio .un { aspect-ratio: 1.7; border-radius: 2px; width: 100%; }
.mini-leg { display: flex; justify-content: center; gap: 12px; margin: 0; font-size: 12px; font-weight: 700; color: var(--texto); } .mini-leg span { display: inline-flex; align-items: center; gap: 5px; }
.mini-botao { margin: 0 14px; text-align: center; background: var(--marca-escuro); color: #fff; font-weight: 700; font-size: 14px; padding: 10px; border-radius: 12px; }
/* preços e configuração */
.soma-pct { margin: 0; font-weight: 600; padding: 10px 14px; border-radius: 12px; background: var(--fundo); } .soma-pct.certa b { color: #166534; } .soma-pct.errada { background: var(--vermelho); color: #B42318; }
.exemplo-sim { margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--marca-claro); font-size: 15px; } .preco-linha { display: flex; gap: 6px; justify-content: flex-end; } .preco-linha input { width: 130px; min-width: 0; padding: 8px 10px; }
.novo-modelo { margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--linha); gap: 14px; } .torre-linha { margin-top: 0; }
.tecnico-cartao > summary { cursor: pointer; font-size: 17px; color: var(--tinta); } .tecnico-cartao[open] > summary { margin-bottom: 12px; }
.enviar-arquivo { cursor: pointer; width: fit-content; } .enviar-arquivo:focus-within { outline: 3px solid var(--marca); outline-offset: 2px; }
@media print { .nao-imprime, .lado, .menu-btn, .demo-faixa, .trilha, .acoes, .auto, .tecnico, .gaveta, .giro { display: none !important; } body { background: #fff; } .cartao { box-shadow: none; } .conteudo { padding: 0; }
  .un { -webkit-print-color-adjust: exact; print-color-adjust: exact; } .grades { grid-template-columns: 1fr 1fr; } }
@media (max-width: 1200px) { .passos-grade.cinco { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1000px) { .dois-blocos, .duas.equipe { grid-template-columns: 1fr; } }
/* ---------- ajustes da revisão final */
.troca-torre { display: none; margin: 0 0 10px; }
.link-cliente { margin: 16px 0 0; display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; font-size: 14px; } .link-cliente code { background: #fff; border: 1px solid var(--linha); padding: 5px 9px; border-radius: 8px; overflow-wrap: anywhere; min-width: 0; } .link-cliente a { color: inherit; font-weight: 700; }
div.passo-card { cursor: default; }
.equipe { display: grid; gap: 22px; } .equipe-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; align-items: start; } .equipe-lista .cartao { margin: 0; }
.novo-acesso > summary, .andar-precos > summary { cursor: pointer; font-size: 16px; } .novo-acesso[open] > summary { margin-bottom: 16px; }
.andar-precos { margin: 0 0 10px; } .andar-precos > summary { padding: 12px 4px; } .andar-precos > summary .fraco { font-size: 13px; margin-left: 6px; }
.modelo-item details, .torre-item details { flex-basis: 100%; } .modelo-item details .form { margin-top: 12px; }
.lista-torres { list-style: none; margin: 12px 0 0; padding: 0; display: grid; } .torre-item { padding: 14px 0; border-bottom: 1px solid var(--linha); } .torre-item:last-child { border-bottom: 0; } .torre-item .fraco { margin: 8px 0; }
.cartaz-topo, .cartaz-pe { display: none; }
@media print {
  body:has(.so-imprime) .conteudo > *:not(.dois-blocos), body:has(.so-imprime) .dois-blocos > *:not(.so-imprime), .so-imprime h2, .so-imprime .dica { display: none !important; }
  .so-imprime { border: 0; text-align: center; padding-top: 12mm; } .so-imprime .qr svg { width: 110mm; height: 110mm; }
  .cartaz-topo { display: block; margin: 0 0 10mm; } .cartaz-topo b { display: block; font-size: 30pt; color: #000; } .cartaz-topo span { display: block; font-size: 15pt; margin-top: 4mm; color: #000; } .cartaz-pe { display: block; margin-top: 8mm; font-size: 11pt; color: #000; }
}
@media (max-width: 720px) {
  /* Prédio em 3D no celular: uma torre por vez, blocos grandes e número legível. */
  .troca-torre { display: flex; }
  .cena { --cel: clamp(22px, calc((100vw - 84px) / var(--cols-um)), 46px); --alt: calc(var(--cel) * .86); }
  .cena .torre:not(.ativa) { display: none; }
  .face.frente .un { font-size: max(11px, calc(var(--cel) * .3)); }
  .equipe-lista { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .passos-grade.cinco { grid-template-columns: 1fr; } .grade-res { grid-template-columns: 1fr; } .cartao { padding: 20px 16px; } .cena { padding: 38px 0 14px; border-radius: 20px; } .topo-acao .btn { width: 100%; }
  .tab thead { display: none; } .tab tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--linha); } .tab tr:last-child { border-bottom: 0; }
  .tab td { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 4px 0; border: 0; text-align: right; } .tab td::before { content: attr(data-r); font-weight: 700; color: var(--fraco); text-align: left; flex: none; }
  .preco-tabela strong { font-size: 26px; } .gaveta-corpo { padding: 16px; } .grade-un .un { min-width: 44px; } .ficha-cab h1 { font-size: 24px; }
}
.ficha .dados { grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 12px 10px; }

/* ---------- Página pública (/e/<link>): a vitrine da construtora. A cor vem da marca dela. */
.pub-pagina { max-width: 760px; margin: 0 auto; padding: 0 16px 48px; } .pub-pagina.larga { max-width: 1140px; }
.pub-topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 0; }
.pub-marca { display: flex; align-items: center; gap: 12px; color: var(--tinta); min-width: 0; } .pub-marca b { display: block; font-size: 17px; font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }
.pub-marca small { display: block; font-size: 13px; color: var(--fraco); font-weight: 500; } .pub-marca span:last-child { min-width: 0; overflow-wrap: anywhere; }
.pub-selo { width: 46px; height: 46px; flex: none; border-radius: 14px; background: linear-gradient(145deg, var(--marca), var(--marca-escuro)); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 16px; letter-spacing: .02em; }
.pub-topo-btn { flex: none; } .pub-heroi { margin-top: 6px; } .pub-heroi h1 { font-size: clamp(32px, 5vw, 50px); }
.pub-acoes { gap: 10px; margin-top: 4px; }
.pub-placar { background: #fff; border: 1px solid var(--linha); border-radius: 22px; padding: 22px; display: grid; gap: 10px; box-shadow: var(--sombra); }
.pub-grande { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; } .pub-grande b { font-size: 54px; font-weight: 800; color: var(--disp); letter-spacing: -.03em; line-height: 1; } .pub-grande span { font-weight: 700; color: var(--tinta); }
.pub-secao { margin: 34px 0; scroll-margin-top: 16px; } .pub-secao .titulo-secao { margin-top: 0; }
.pub-modelos { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; } .pub-modelo { margin: 0; display: grid; gap: 6px; align-content: start; }
.pub-livres { font-weight: 600; color: var(--tinta); margin-top: 6px; } .pub-livres b { font-size: 26px; color: var(--disp); margin-right: 4px; } .pub-livres.zero b { color: var(--fraco); }
.pub-apartir { font-size: 15px; } .pub-apartir b { color: var(--tinta); font-size: 18px; } .pub-apartir small { color: var(--fraco); }
.pub-passos { list-style: none; margin: 18px 0; padding: 0; display: grid; gap: 14px; text-align: left; } .pub-passos.em-linha { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin: 0; }
.pub-passos li { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--linha); border-radius: 18px; padding: 16px; } .pub-passos p { color: var(--fraco); font-size: 15px; } .pub-passos b { color: var(--tinta); }
.pub-num { width: 34px; height: 34px; flex: none; border-radius: 50%; background: var(--marca-claro); color: var(--marca-forte); display: grid; place-items: center; font-weight: 800; }
.pub-contato { padding: clamp(22px, 4vw, 38px); } .pub-contato h1, .pub-contato h2 { font-size: clamp(24px, 3.4vw, 32px); margin-top: 6px; } .pub-contato .lead { margin-bottom: 20px; }
.pub-form { max-width: 560px; gap: 18px; } .pub-form label.marcar { display: flex; background: var(--fundo); border-radius: 14px; padding: 14px; font-size: 16px; } .pub-form .marcar small { display: block; color: var(--fraco); font-weight: 400; font-size: 14px; }
.pub-form .btn.grande { min-width: 220px; justify-content: center; }
.pub-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pub-escolhida { display: flex; gap: 14px; align-items: center; background: var(--marca-claro); border-radius: 16px; padding: 14px; color: var(--tinta); } .pub-escolhida .un { flex: none; }
.pub-sucesso { text-align: center; padding: clamp(28px, 5vw, 48px) clamp(18px, 4vw, 40px); margin-top: 18px; display: grid; gap: 12px; justify-items: center; } .pub-sucesso .lead { margin: 0 auto; }
.pub-sucesso .pub-passos { width: min(520px, 100%); } .pub-sucesso .pub-acoes { justify-content: center; }
.pub-certo { width: 76px; height: 76px; border-radius: 50%; background: #DCFCE7; color: #15803D; padding: 18px; animation: pub-surge .5s ease-out both; }
@keyframes pub-surge { from { transform: scale(.6); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.pub-recado { border-radius: 14px; padding: 12px 16px; margin: 14px 0; font-weight: 500; background: var(--fundo); color: var(--texto); border-left: 5px solid var(--bloq); }
.pub-recado.s-disponivel { background: #ECFDF3; border-color: var(--disp); color: #14532D; } .pub-recado.s-reservada { background: var(--amarelo); border-color: var(--resv); color: #713F12; } .pub-recado.s-vendida { background: var(--vermelho); border-color: var(--vend); color: #7F1D1D; }
.pub-consulta { font-size: 26px; } .pub .ficha .pub-acoes { margin-bottom: 16px; }
.pub-pe { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--linha); color: var(--fraco); font-size: 14px; display: grid; gap: 8px; }
@media (prefers-reduced-motion: reduce) { .pub-certo { animation: none; } }
@media (max-width: 720px) {
  .pub-topo-btn { padding: 10px 14px; font-size: 14px; } .pub-heroi { grid-template-columns: 1fr; } .pub-acoes .btn, .pub-form .btn.grande { width: 100%; justify-content: center; text-align: center; }
  .pub-grande b { font-size: 44px; } .pub-marca small { display: none; } .pub-selo { width: 40px; height: 40px; border-radius: 12px; }
}
@media print { .pub-topo-btn, .pub-contato, .barra-espelho { display: none !important; } }
