/* Alertas de imóveis por email: o formulário "Avise-me de imóveis como estes" (front/partials/alert-form)
   e as páginas de confirmar e cancelar (front/alerta). Assenta nas variáveis de kinvest.css. */

.ka-alert { --ka-err: #a8200d; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 24px 48px; align-items: start; margin: 36px 0 10px; padding: 32px; background: var(--kv-neutral); color: var(--kv-grey); }
body.kv .ka-alert h2 { margin: 0 0 10px; color: #000; font-family: var(--kv-title); font-size: clamp(20px, 2.2vw, 24px); font-weight: 600; letter-spacing: -.01em; line-height: 1.25; text-transform: none; }
.ka-alert p { margin: 0 0 12px; line-height: 1.55; }
/* Os critérios em texto, com o traço amarelo de destaque */
.ka-alert-summary { padding-left: 12px; border-left: 3px solid var(--kv-yellow); color: #000; font-weight: 600; }

.ka-alert-form { display: grid; gap: 14px; }
.ka-alert-f { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
body.kv .ka-alert-f label { margin: 0; color: #000; font-family: var(--kv-title); font-size: 14px; font-weight: 600; }
body.kv .ka-alert-f input { width: 100%; min-height: 50px; margin: 0; padding: 12px 14px; border: 1px solid var(--kv-line); border-radius: 0; background: #fff; color: #000; font: 400 16px/1.4 var(--kv-body); box-shadow: none; }
body.kv .ka-alert-f input:focus { border-color: #000; outline: 2px solid #000; outline-offset: 0; }
body.kv .ka-alert-f input[aria-invalid="true"] { border-color: var(--ka-err); box-shadow: inset 4px 0 0 var(--ka-err); }

body.kv .ka-alert-check { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 15px; font-weight: 400; line-height: 1.5; cursor: pointer; }
.ka-alert-check input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #000; }
.ka-alert-check a { color: inherit; text-decoration: underline; }
.ka-alert .cf-turnstile { min-height: 65px; }

.ka-alert-err { margin: 0; color: var(--ka-err); font-size: 14px; font-weight: 600; }
.ka-alert-errors { padding: 12px 16px; border: 1px solid var(--ka-err); border-left-width: 5px; background: #fff; color: #000; }
.ka-alert-errors p { margin: 0 0 4px; font-weight: 600; }
.ka-alert-errors ul { margin: 0; padding-left: 18px; }
body.kv .ka-alert-errors li { display: list-item; list-style: disc; font-size: 15px; }
.ka-alert-done { padding: 18px 20px; border-left: 5px solid #000; background: #fff; color: #000; }
.ka-alert-done:focus, .ka-alert-errors:focus { outline: 2px solid #000; outline-offset: 2px; }
.ka-alert-done p:last-child { margin: 0; color: var(--kv-grey); }

/* Na pesquisa sem resultados: coluna estreita, tudo em pilha */
.ka-alert--box { grid-template-columns: minmax(0, 1fr); gap: 18px; margin: 0; padding: 28px; }
.ka-alert--box .ka-alert-foot .kv-btn { width: 100%; }

/* Páginas de confirmar e cancelar */
.ka-page { max-width: 640px; margin: 0 auto; padding: 40px 0 70px; color: var(--kv-grey); line-height: 1.6; }
body.kv .ka-page h1 { margin: 0 0 16px; color: #000; font-family: var(--kv-title); font-size: clamp(26px, 3.4vw, 36px); font-weight: 700; line-height: 1.2; text-transform: none; }
.ka-page p { margin: 0 0 14px; }
.ka-page .ka-alert-summary { margin: 20px 0; }
.ka-page form { margin: 26px 0 18px; }
.ka-page .ka-muted { color: #555; font-size: 14px; }
.ka-page a:not(.kv-btn) { color: #000; text-decoration: underline; text-underline-offset: 3px; }
.ka-page .kv-acts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

@media (max-width: 991.98px) {
    .ka-alert { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
@media (max-width: 575.98px) {
    .ka-alert { margin-inline: -4px; padding: 22px 18px; }
    .ka-alert-foot .kv-btn { width: 100%; }
}

/* Na ficha do imóvel, depois dos semelhantes */
body.kv .ka-ficha { padding: 20px 0 56px; }
