/* Estilos dos blocos da ABS. Usam as variáveis do tema, com cores de reserva caso o tema mude. */

.abs-wa .wp-block-button__link { display: inline-flex; align-items: center; gap: 0.5rem; white-space: nowrap; }
.abs-wa--small .wp-block-button__link { padding: 0.55rem 1rem; font-size: 0.925rem; }

.abs-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.abs-contact li { display: grid; gap: 0.1rem; }
.abs-contact__label { font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.75; }

/* Formulário */
.abs-form { display: grid; gap: 1.25rem; }
.abs-form__field { display: grid; gap: 0.35rem; }
.abs-form label { font-weight: 600; }
.abs-form__hint { margin: 0; font-size: 0.875rem; color: var(--wp--preset--color--ink-soft, #4b5768); }
.abs-form input[type="text"],
.abs-form input[type="email"],
.abs-form textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	color: inherit;
	background: var(--wp--preset--color--base, #fff);
	border: 1.5px solid var(--wp--preset--color--line, #dde2e9);
	border-radius: 8px;
	padding: 0.75rem 0.9rem;
	min-height: 48px;
}
.abs-form textarea { resize: vertical; min-height: 9rem; }
.abs-form input:focus-visible,
.abs-form textarea:focus-visible { border-color: var(--wp--preset--color--accent-ink, #a65a00); outline: 2px solid var(--wp--preset--color--accent-ink, #a65a00); outline-offset: 1px; }
.abs-form .has-error input,
.abs-form .has-error textarea { border-color: #b42318; }
.abs-form__error { margin: 0; color: #b42318; font-size: 0.9rem; font-weight: 600; }
.abs-form__check { grid-template-columns: auto 1fr; align-items: start; column-gap: 0.65rem; }
.abs-form__check input { width: 1.25rem; height: 1.25rem; margin-top: 0.2rem; accent-color: var(--wp--preset--color--primary, #0b1f44); }
.abs-form__check label { font-weight: 400; font-size: 0.95rem; }
.abs-form__check .abs-form__error { grid-column: 2; }
.abs-form__notice { border-radius: 8px; padding: 0.9rem 1rem; font-weight: 600; }
.abs-form__notice.is-success { background: #e7f4ec; color: #14532d; border: 1px solid #a7d7b8; }
.abs-form__notice.is-error { background: #fdecea; color: #8a1c13; border: 1px solid #f3b4ad; }
.abs-form__notice a { margin-left: 0.4rem; color: inherit; }
.abs-form button { cursor: pointer; border: 0; }

/* Honeypot: fora da tela, mas não display:none (alguns robôs ignoram campos ocultos). */
.abs-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Modo prévia: faixa fina no topo (azul com texto claro) */
.abs-previa {
	background: var(--wp--preset--color--primary, #0b1f44);
	color: #dbe4f3;
	text-align: center;
	font-size: 0.82rem;
	line-height: 1.3;
	padding: 7px 16px;
}
/* Avisos que só aparecem no modo prévia (pendências para o Roberto) */
.abs-so-previa { display: none; }
.abs-modo-previa .abs-so-previa { display: block; font-size: 0.76rem; color: var(--wp--preset--color--accent-ink, #a65a00); }

/* Cases */
.abs-cases__list { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.abs-cases__item { padding: 1.5rem; }
.abs-cases__item h3 { margin: 0 0 0.5rem; }
.abs-cases__item h3 a { text-decoration: none; }

/* Contatos com ícone (rodapé) e em duas colunas (seção de contato) */
.abs-contact--icones li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; }
.abs-contact--icones .abs-ico { width: 16px; height: 16px; margin-top: 4px; }
.abs-contact--icones small { display: block; font-size: 0.78rem; opacity: 0.8; }
.abs-contact--direto li { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.abs-contact--direto .abs-contact__label { min-width: 86px; font-size: 0.95rem; letter-spacing: 0; text-transform: none; opacity: 1; color: var(--wp--preset--color--ink-soft, #4b5768); }

/* Redes sociais */
.abs-redes { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.abs-redes a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; }
.abs-redes svg { width: 18px; height: 18px; }

/* Link do Banco Central em forma de texto */
.abs-bcb--texto { margin: 0; }
