/* =========================================================================
   Contato (7ª entrega): assunto, formulário com seis estados, canais, prazo e endereço.
   ========================================================================= */
.alem-contato-page { color: var(--alem-tinta); background: var(--alem-papel); --ct-ambar-fundo: #fbf1d3; --ct-ambar-texto: #5e4300; --ct-ambar-borda: #e3b04b; --ct-erro-fundo: #fbe9e7; --ct-erro-texto: #a43131; --ct-erro-borda: #a43131; }
:root[data-tema="escuro"] .alem-contato-page { --ct-ambar-fundo: #2a2412; --ct-ambar-texto: #e3c27a; --ct-ambar-borda: #e3b04b; --ct-erro-fundo: #2b1614; --ct-erro-texto: #f4b8b3; --ct-erro-borda: #ef7d75; }
.alem-ct { width: min(1312px, calc(100% - 40px)); margin-inline: auto; box-sizing: border-box; padding-bottom: 72px; }
@media (min-width: 900px) { .alem-ct { width: min(1312px, calc(100% - 128px)); } }
.alem-ct-trilha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 0; border-bottom: 1px solid var(--alem-tinta); font: 500 10px/1.4 var(--alem-f-mono); letter-spacing: .16em; text-transform: uppercase; }
.alem-ct-trilha a { color: var(--alem-tinta); text-decoration: none; }
.alem-ct-trilha i { font-style: normal; color: var(--alem-texto2); }
.alem-ct-trilha .is-atual { color: var(--alem-verde); }
@media (min-width: 900px) { .alem-ct-trilha { padding: 14px 0; font-size: 11px; } }
.alem-ct-cab { display: grid; gap: 16px; padding: 36px 0 32px; border-bottom: 3px solid var(--alem-tinta); }
@media (min-width: 900px) { .alem-ct-cab { padding: 56px 0 44px; } }
.alem-ct-cartola { font: 500 11px/1 var(--alem-f-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--alem-verde); }
.alem-contato-page h1 { margin: 0; font: 640 clamp(48px, 7.5vw, 88px)/1 var(--alem-f-titulo); letter-spacing: -.03em; color: var(--alem-tinta); text-wrap: balance; }
.alem-ct-cab p { margin: 0; max-width: 36ch; font: 400 22px/1.4 var(--alem-f-leitura); color: var(--alem-texto-suave); }
.alem-ct-colunas { display: grid; gap: 40px; padding-top: 36px; align-items: start; }
@media (min-width: 1000px) { .alem-ct-colunas { grid-template-columns: minmax(0, 1fr) 380px; gap: 64px; padding-top: 48px; } .alem-ct-lateral { position: sticky; top: 100px; } }
.alem-ct-num { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 10px; border-radius: 50%; background: var(--alem-tela-funda); color: var(--alem-ciano-claro); font: 600 14px/1 var(--alem-f-mono); text-shadow: 0 0 8px rgba(54,174,176,.9); vertical-align: middle; }

/* assunto */
.alem-ct-assuntos { border: 0; margin: 0; padding: 0; min-width: 0; }
.alem-ct-assuntos legend, .alem-ct-passo-t { padding: 0; margin: 0 0 18px; font: 620 28px/1.2 var(--alem-f-titulo); letter-spacing: -.015em; }
.alem-ct-cartoes { display: grid; gap: 12px; }
@media (min-width: 700px) { .alem-ct-cartoes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.alem-ct-cartao { position: relative; display: block; cursor: pointer; }
.alem-ct-cartao input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.alem-ct-cartao-corpo { display: grid; gap: 4px; height: 100%; box-sizing: border-box; padding: 16px 18px 16px 52px; border: 1.5px solid var(--alem-linha-forte); border-radius: 14px 4px 4px 4px; background: var(--alem-campo); position: relative; transition: border-color .2s var(--alem-curva), box-shadow .24s var(--alem-curva); }
.alem-ct-cartao-corpo::before { content: ""; position: absolute; left: 18px; top: 19px; width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--alem-texto2); box-sizing: border-box; }
.alem-ct-cartao-corpo b { font: 700 16px/1.3 var(--alem-f-interface); }
.alem-ct-cartao-corpo span { font: 400 14px/1.45 var(--alem-f-interface); color: var(--alem-texto2); }
.alem-ct-cartao:hover .alem-ct-cartao-corpo { border-color: var(--alem-tinta); }
.alem-ct-cartao input:checked + .alem-ct-cartao-corpo { border-color: var(--alem-ciano); box-shadow: 0 0 0 1px var(--alem-ciano), 0 0 18px rgba(54,174,176,.28); }
.alem-ct-cartao input:checked + .alem-ct-cartao-corpo::before { border-color: var(--alem-ciano); background: var(--alem-ciano); box-shadow: inset 0 0 0 3px var(--alem-campo); }
.alem-ct-cartao input:focus-visible + .alem-ct-cartao-corpo { outline: 2px solid var(--alem-ciano); outline-offset: 3px; }
.alem-ct-sensivel, .alem-ct-pista { margin: 20px 0 0; padding: 14px 18px; border-left: 4px solid var(--ct-ambar-borda); border-radius: 4px; background: var(--ct-ambar-fundo); color: var(--ct-ambar-texto); font: 400 15px/1.5 var(--alem-f-interface); }
.alem-ct-pista[hidden] { display: none; }

/* formulário */
.alem-ct-passo2 { margin-top: 40px; display: grid; gap: 18px; }
.alem-ct-passo2[hidden] { display: none; }
.alem-ct-para { margin: 0; font: 500 12px/1.4 var(--alem-f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--alem-texto2); }
.alem-ct-para b { color: var(--alem-tinta); font-weight: 600; }
.alem-ct-campo { display: grid; gap: 8px; }
.alem-ct-campo label:not(.alem-ct-check) { font: 700 12px/1 var(--alem-f-interface); letter-spacing: .14em; text-transform: uppercase; }
.alem-ct-campo input:not([type="checkbox"]), .alem-ct-campo textarea { width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1.5px solid var(--alem-linha-forte); border-radius: 12px 4px 4px 4px; background: var(--alem-campo); color: var(--alem-tinta); font: 400 17px/1.5 var(--alem-f-interface); transition: border-color .2s var(--alem-curva), box-shadow .2s var(--alem-curva); }
.alem-ct-campo textarea { resize: vertical; min-height: 160px; }
.alem-ct-campo input::placeholder, .alem-ct-campo textarea::placeholder { color: var(--alem-desabilitado); }
.alem-ct-campo input:focus, .alem-ct-campo textarea:focus { outline: none; border-color: var(--alem-ciano); box-shadow: 0 0 0 3px rgba(54,174,176,.35); }
.alem-ct-campo [aria-invalid="true"] { border-color: var(--ct-erro-borda); background: var(--ct-erro-fundo); }
.alem-ct-erro { display: flex; align-items: flex-start; gap: 8px; margin: 0; font: 600 14px/1.4 var(--alem-f-interface); color: var(--ct-erro-texto); }
.alem-ct-erro[hidden] { display: none; }
.alem-ct-erro svg { flex: none; margin-top: 2px; }
.alem-ct-assuntos .alem-ct-erro { margin-top: 12px; }
.alem-ct-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.alem-ct-check { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; font: 400 15px/1.5 var(--alem-f-interface); color: var(--alem-texto-suave); }
.alem-ct-check input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--alem-verde); }
.alem-ct-check a { color: var(--alem-verde); text-underline-offset: 3px; }
.alem-ct-check .alem-brand-name, .alem-ct-check .alem-brand-name em { color: inherit; }
.alem-ct-check:has(input:checked) { color: var(--alem-tinta); }
.alem-ct-acao { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.alem-ct-enviar { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 48px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--alem-botao-fundo); color: var(--alem-botao-texto); font: 700 12px/1 var(--alem-f-interface); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: box-shadow .24s var(--alem-curva); }
.alem-ct-enviar:hover:not(:disabled) { box-shadow: var(--alem-brilho-hover); }
.alem-ct-enviar:focus-visible { outline: 2px solid var(--alem-ciano); outline-offset: 3px; }
.alem-ct-enviar:disabled { cursor: progress; opacity: .85; }
.alem-ct-enviar.ocupado::before { content: ""; width: 14px; height: 14px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: alem-ct-gira .8s linear infinite; }
@keyframes alem-ct-gira { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .alem-ct-enviar.ocupado::before { animation-duration: 2.4s; } }
.alem-ct-prazo { font: 500 11px/1.4 var(--alem-f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--alem-texto2); }
.alem-ct-falha { display: flex; gap: 12px; align-items: flex-start; padding: 14px 18px; border-left: 4px solid var(--ct-erro-borda); border-radius: 4px; background: var(--ct-erro-fundo); color: var(--ct-erro-texto); }
.alem-ct-falha[hidden] { display: none; }
.alem-ct-falha svg { flex: none; margin-top: 2px; }
.alem-ct-falha p { margin: 0; font: 400 15px/1.5 var(--alem-f-interface); }
.alem-ct-falha a { color: inherit; }
.alem-ct-falha-js { color: var(--ct-erro-texto); font: 600 14px/1.4 var(--alem-f-interface); }
.alem-ct-ok { display: grid; gap: 12px; justify-items: start; padding: 32px; border-radius: var(--alem-raio-jornal); background: var(--alem-campo); box-shadow: 0 0 0 1px var(--alem-linha); }
.alem-ct-ok[hidden] { display: none; }
.alem-ct-ok:focus { outline: none; }
.alem-ct-ok-ic { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--alem-verde-claro); color: var(--alem-verde); }
.alem-ct-ok h2 { margin: 0; font: 620 34px/1.15 var(--alem-f-titulo); }
.alem-ct-ok p { margin: 0; font: 400 18px/1.5 var(--alem-f-leitura); color: var(--alem-texto-suave); }
.alem-ct-outra { height: 44px; padding: 0 22px; border: 1.5px solid var(--alem-tinta); border-radius: 999px; background: transparent; color: var(--alem-tinta); font: 700 11.5px/1 var(--alem-f-interface); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }

/* lateral */
.alem-ct-lateral { display: grid; gap: 28px; }
.alem-ct-bloco { display: grid; gap: 12px; padding-top: 20px; border-top: 3px solid var(--alem-tinta); }
.alem-ct-bloco h2 { margin: 0; font: 620 26px/1.15 var(--alem-f-titulo); }
.alem-ct-bloco p { margin: 0; font: 400 15px/1.5 var(--alem-f-interface); color: var(--alem-texto-suave); }
.alem-ct-canal { display: grid; gap: 4px; padding: 12px 0; border-top: 1px solid var(--alem-linha); }
.alem-ct-canal b { font: 700 15px/1.3 var(--alem-f-interface); }
.alem-ct-canal-e { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.alem-ct-canal-e a { font: 500 14px/1.4 var(--alem-f-mono); color: var(--alem-verde); text-underline-offset: 3px; overflow-wrap: anywhere; }
.alem-ct-copiar { height: 30px; padding: 0 12px; border: 1.5px solid var(--alem-tinta); border-radius: 999px; background: transparent; color: var(--alem-tinta); font: 700 10px/1 var(--alem-f-interface); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.alem-ct-copiar.ok { background: var(--alem-tinta); color: var(--alem-papel); }
.alem-ct-link { font: 500 11px/1 var(--alem-f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--alem-verde); text-decoration: none; }
.alem-ct-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.alem-ct .alem-brand-name, .alem-ct .alem-brand-name em { color: inherit; }
