/* Portal do hóspede da CDS (/entrar e /minha-reserva). Estilo próprio: o
   tailwind-cds.css é um build purgado e classe nova nele simplesmente não existe. */
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
body.portal{min-height:100dvh;display:flex;flex-direction:column;background:var(--cream-50);
  color:var(--stone-700);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased}
.portal-topo{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;
  padding:14px max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left));background:var(--serra-800)}
/* 44px: o símbolo reverso foi medido legível a partir daí (2026-09-20). O fundo do
   arquivo é #2F4336 embutido, igual ao do topo. */
.portal-marca img{height:44px;width:auto;display:block}
.portal-sair{min-height:44px;padding:0 18px;border:1px solid rgba(243,237,225,.45);border-radius:999px;
  background:transparent;color:var(--cream-50);font:600 .85rem var(--font-sans);cursor:pointer;transition:background .2s}
.portal-sair:hover{background:rgba(243,237,225,.12)}
.portal-cartao,.portal-pagina{flex:1;width:100%;max-width:560px;margin:0 auto;padding:28px 16px 48px}
.portal-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--serra-700)}
.portal h1{font-family:var(--font-serif);font-weight:400;font-size:clamp(1.9rem,7vw,2.4rem);line-height:1.1;
  color:var(--serra-900);margin:8px 0 6px;text-wrap:balance}
.portal h2{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--serra-700);margin-bottom:10px}
.portal-subtitulo{font-size:.95rem;font-weight:700;color:var(--serra-900);margin:16px 0 4px}
.portal-lede{color:var(--stone-500);margin:6px 0 18px}
.portal-datas{color:var(--stone-500);font-size:.95rem;margin-bottom:20px}
.portal label{display:block;font-size:.8rem;font-weight:600;color:var(--serra-900);margin:18px 0 6px}
/* 16px: abaixo disso o Safari do iPhone dá zoom ao focar o campo. */
.portal input{width:100%;min-height:48px;padding:12px 14px;border:1.5px solid var(--beige-dark);border-radius:12px;
  background:#fff;font:16px var(--font-sans);color:var(--stone-700)}
.portal input:focus{outline:none;border-color:var(--ambar-500);box-shadow:0 0 0 3px rgba(184,110,69,.18)}
.portal-botao{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:18px;
  border:0;border-radius:14px;background:var(--ambar-600);color:#fff;font:700 1rem var(--font-sans);cursor:pointer;
  transition:background .2s,transform .12s}
.portal-botao:hover{background:var(--ambar-700)}
.portal-botao:active{transform:translateY(1px)}
.portal-botao:disabled{opacity:.6;cursor:progress}
.portal-link{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;border:0;background:none;
  color:var(--serra-700);font:600 .9rem var(--font-sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.portal-nota{margin-top:18px;font-size:.88rem;color:var(--stone-500)}
.portal-nota a{color:var(--serra-700);font-weight:600}
/* "e-mail" quebrava no hífen: "por e-" numa linha, "mail" na outra. */
.sem-quebra{white-space:nowrap}
.portal-erro{margin-top:12px;padding:10px 12px;border-radius:10px;background:#FEF2F2;color:#B42318;font-size:.88rem;font-weight:500}
.portal-estado{margin:4px 0 22px;padding:14px 16px;border-left:3px solid var(--ambar-500);border-radius:0 12px 12px 0;background:var(--cream-200)}
.portal-estado[data-tom="confirmada"],.portal-estado[data-tom="concluida"]{border-left-color:var(--serra-700)}
.portal-estado[data-tom="cancelada"]{border-left-color:var(--stone-300)}
#estado-rotulo{font-weight:700;color:var(--serra-900)}
#estado-cartao{font-size:.9rem;color:var(--stone-500);margin-top:2px}
.portal-acao{margin-bottom:8px}
.portal-bloco{margin-top:26px;padding-top:22px;border-top:1px solid var(--beige-dark)}
.portal-bloco ul{list-style:none}
.portal-bloco li{padding:8px 0;border-bottom:1px solid var(--cream-200);font-size:.94rem}
.portal-bloco dl{display:grid;grid-template-columns:1fr auto;gap:8px 16px;font-size:.94rem}
.portal-bloco dt{color:var(--stone-500)}
.portal-bloco dd{font-weight:600;color:var(--serra-900);text-align:right;font-variant-numeric:tabular-nums}
.portal-ajuda{margin-top:30px;font-size:.9rem;color:var(--stone-500)}
.portal-ajuda a{color:var(--serra-700);font-weight:600}
.portal-rodape{padding:18px 16px 28px;text-align:center;font-size:.85rem}
.portal-rodape a{color:var(--serra-700)}
/* Esqueleto no formato da página, não um spinner. */
.portal-esqueleto .esq{border-radius:10px;background:linear-gradient(90deg,var(--cream-200),#EFE6DA,var(--cream-200));
  background-size:200% 100%;animation:portal-brilho 1.2s ease-in-out infinite}
.esq-titulo{height:40px;width:60%;margin:14px 0 10px}
.esq-linha{height:16px;width:80%;margin-bottom:24px}
.esq-bloco{height:120px;width:100%}
@keyframes portal-brilho{from{background-position:200% 0}to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.portal-esqueleto .esq{animation:none}.portal-botao,.portal-sair{transition:none}}
