/* ABS Consultoria · estilos que o theme.json não cobre. Cores sempre pelas variáveis do tema.
   Referência visual da Início: docs/v0.2/visual-inicio.html.
   Regra da marca: o laranja #E3820A (accent) é fundo de botão, barra e lente; nunca texto sobre branco.
   Para texto e links em laranja, use accent-ink (#A65A00); sobre o azul, #F5A33B. */

:root {
	--abs-radius: 10px;
	--abs-line: var(--wp--preset--color--line);
	--abs-heading: var(--wp--preset--font-family--heading);
	--abs-laranja-no-azul: #f5a33b;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }

/* Pular para o conteúdo */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
	padding: 0.75rem 1rem;
	z-index: 100000;
}

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-ink);
	outline-offset: 3px;
}

/* ---------- Botões ---------- */
.wp-block-button__link { transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--primary);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: transparent;
	color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}
/* Botões sem ícone: o nome já diz para onde vai. */
.abs-wa .wp-block-button__link svg { display: none; }

/* Link de texto (segunda ação, ao lado ou abaixo do botão) */
.abs-link { margin: 0; font-size: 0.95rem; font-weight: 600; }
.abs-link a { color: var(--wp--preset--color--primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: var(--wp--preset--color--accent); transition: text-underline-offset 0.2s ease; }
.abs-link a:hover { color: var(--wp--preset--color--primary); text-underline-offset: 4px; }

/* ---------- Cabeçalho ---------- */
.abs-header {
	border-bottom: 1px solid var(--abs-line);
	position: sticky;
	top: 0;
	z-index: 50;
	/* Fundo sólido: backdrop-filter aqui prenderia o menu mobile (position: fixed) dentro do cabeçalho */
	background: var(--wp--preset--color--base);
}
.admin-bar .abs-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .abs-header { top: 0; position: relative; } }

/* Logo do site (bloco nativo): 56 px de altura no desktop, para "DE CUSTOS E PRECIFICAÇÃO" ficar legível. */
.abs-logo { margin: 0; flex: none; line-height: 0; }
.abs-logo a { display: inline-flex; align-items: center; text-decoration: none; }
.abs-logo img.custom-logo { display: block; height: 52px; width: auto; max-width: none; }
/* Até 781 px: só o símbolo (36 px) e "ABS" em Manrope 800 (marcação acrescentada em functions.php). */
.abs-logo-compact {
	display: none;
	align-items: center;
	gap: 0.55rem;
	color: var(--wp--preset--color--primary);
	font: 700 1.3rem/1 var(--abs-heading);
	letter-spacing: -0.01em;
}
.abs-logo-compact img { display: block; width: 32px; height: 32px; }
@media (max-width: 781px) {
	.abs-logo img.custom-logo { display: none; }
	.abs-logo-compact { display: inline-flex; }
}

.abs-header .wp-block-navigation a { color: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--sans); font-weight: 500; }
.abs-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent-ink); }
.abs-header .wp-block-navigation .current-menu-item > a,
.abs-header .wp-block-navigation [aria-current="page"] {
	color: var(--wp--preset--color--primary);
	box-shadow: inset 0 -1px 0 var(--wp--preset--color--accent);
}
.abs-header .wp-block-navigation__container { flex-wrap: nowrap; gap: 28px; }
.abs-header .wp-block-navigation-item__content { white-space: nowrap; }
.abs-header__cta .wp-block-button__link { padding: 9px 16px; font-size: 0.88rem; }
@media (max-width: 1000px) { .abs-header__right { gap: 1rem !important; } .abs-header .wp-block-navigation__container { gap: 1rem; } }
/* No celular o botão do menu fica na ponta direita, depois do WhatsApp */
@media (max-width: 781px) { .abs-header__cta { display: none; } }

/* Menu mobile aberto: links grandes, alinhados à esquerda */
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem max(1.25rem, env(safe-area-inset-left)) 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; padding-top: 3rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 0.25rem; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--abs-line); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--abs-heading);
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--wp--preset--color--primary);
	padding: 0.85rem 0 !important;
	display: block;
	width: 100%;
	box-shadow: none !important;
}

/* ---------- Texto ---------- */
.abs-eyebrow {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.72rem !important;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-ink);
	margin-bottom: 0.25rem !important;
}
.abs-lead { font-size: 1.12rem; color: var(--wp--preset--color--ink-soft); max-width: 58ch; }
/* Em seções "constrained" o WordPress centraliza blocos estreitos; o lead fica alinhado à esquerda com o título. */
.is-layout-constrained > .abs-lead,
.is-layout-constrained > .abs-h2-estreito { margin-left: max(0px, calc((100% - 1160px) / 2)) !important; margin-right: auto !important; }
.abs-h2-estreito { max-width: 760px; }
:where(h1, h2) em { font-style: normal; color: inherit; }

/* ---------- Herói com a lente (Início) ---------- */
.abs-hero-lente { overflow-x: clip; }
.abs-hero-lente__copy > * + * { margin-block-start: 24px; }
.abs-hero-lente__copy .abs-ctas { margin-block-start: 36px; gap: 14px 28px; }
.abs-ctas { gap: 12px; }
.abs-ctas .wp-block-buttons { margin: 0; }
/* Cabeçalho das páginas internas: branco, com um fio embaixo */
.abs-hero { border-bottom: 1px solid var(--abs-line); }

/* ---------- A dor, em três colunas com fio ---------- */
.abs-dor {
	list-style: none;
	counter-reset: abs-dor;
	padding: 0;
	margin: var(--wp--preset--spacing--50) 0 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--abs-line);
}
.abs-dor li { display: grid; align-content: start; gap: 10px; padding: 28px 32px 8px 0; color: var(--wp--preset--color--ink-soft); font-size: 0.97rem; }
.abs-dor li + li { border-left: 1px solid var(--abs-line); padding-left: 32px; }
.abs-dor strong { display: block; color: var(--wp--preset--color--primary); font: 600 1.2rem/1.3 var(--abs-heading); letter-spacing: -0.01em; }
@media (max-width: 800px) {
	.abs-dor { grid-template-columns: minmax(0, 1fr); }
	.abs-dor li + li { border-left: 0; border-top: 1px solid var(--abs-line); padding-left: 0; }
}

/* ---------- Serviços (Início): lista editorial com fios ---------- */
.abs-sec-head { margin-bottom: 0 !important; }
.abs-sec-head .abs-lead { margin: 0; }
.abs-svc-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 6vw, 5.5rem); margin-top: var(--wp--preset--spacing--50) !important; border-top: 1px solid var(--abs-line); }
.abs-svc-item { padding-block: 28px 30px; border-bottom: 1px solid var(--abs-line); }
.abs-svc-lista > .abs-svc-item { margin: 0; }
.abs-svc-item > * { margin: 0; }
.abs-svc-item > * + * { margin-block-start: 10px; }
.abs-svc-item h3 { font-size: 1.2rem; }
.abs-svc-item p { color: var(--wp--preset--color--ink-soft); font-size: 0.98rem; max-width: 46ch; }
#servicos > .abs-link { margin-top: 32px !important; }
@media (max-width: 760px) { .abs-svc-lista { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Como trabalhamos: linha do tempo em quatro etapas ---------- */
.abs-etapas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin-top: var(--wp--preset--spacing--50) !important; position: relative; }
.abs-etapas::before { content: ""; position: absolute; left: 0; right: 0; top: 5px; height: 1px; background: var(--abs-line); }
.abs-etapa { position: relative; padding-top: 32px; }
.abs-etapa::before { content: ""; position: absolute; left: 0; top: 0; width: 11px; height: 11px; border-radius: 50%; background: var(--wp--preset--color--surface); border: 1.5px solid var(--wp--preset--color--primary); }
.abs-etapa:first-child::before { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.abs-etapas > .abs-etapa { margin: 0; }
.abs-etapa > * { margin: 0; }
.abs-etapa > * + * { margin-block-start: 10px; }
.abs-etapa h3 { font-size: 1.12rem; }
.abs-etapa p { color: var(--wp--preset--color--ink-soft); font-size: 0.96rem; }
@media (max-width: 860px) {
	.abs-etapas { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-left: 28px; }
	.abs-etapas::before { left: 5px; right: auto; top: 6px; bottom: 6px; width: 1px; height: auto; }
	.abs-etapa { padding-top: 0; }
	.abs-etapa::before { left: -28px; top: 6px; }
}

/* ---------- Cartões ---------- */
.abs-card {
	border: 1px solid var(--abs-line);
	border-radius: var(--abs-radius);
	background: var(--wp--preset--color--base);
	height: 100%;
	min-width: 0;
	transition: border-color 0.2s ease;
}
.abs-card:hover { border-color: color-mix(in srgb, var(--wp--preset--color--primary) 35%, var(--abs-line)); }
.abs-card h3 { margin-top: 0; }
.abs-card p { color: var(--wp--preset--color--ink-soft); margin-bottom: 0; }
.abs-servicos-destaque > .abs-card { height: auto; }
.abs-servicos-destaque.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 760px) { .abs-servicos-destaque.is-layout-grid { grid-template-columns: minmax(0, 1fr) !important; } }
.abs-svc .abs-mini { margin-bottom: 0.6rem; }
.abs-svc > p:not(.abs-num) { font-size: 0.97rem; }
.abs-num { color: var(--wp--preset--color--accent-ink) !important; font: 800 0.78rem/1.2 var(--abs-heading); letter-spacing: 0.1em; }

/* Número do serviço (página Serviços) */
.abs-card__num {
	color: var(--wp--preset--color--accent-ink);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8rem !important;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 0.6rem !important;
	font-variant-numeric: tabular-nums;
}

/* Lista de serviços completa (página Serviços) */
.abs-service { border-top: 1px solid var(--abs-line); padding-block: 1.75rem; }
.abs-service:last-child { border-bottom: 1px solid var(--abs-line); }
.abs-service h2, .abs-service h3 { margin: 0; }
.abs-service p { margin: 0; color: var(--wp--preset--color--ink-soft); }
.abs-service .wp-block-column > .abs-card__num + * { margin-block-start: 0.6rem; }

/* ---------- Quem cuida dos seus números ---------- */
.abs-retrato { margin: 0; }
.abs-retrato img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; border-radius: var(--abs-radius); }
.abs-consultor .wp-block-column > * + * { margin-block-start: 22px; }
.abs-segmentos { padding-top: 18px; border-top: 1px solid var(--abs-line); color: var(--wp--preset--color--ink-soft); font-size: 0.9rem; line-height: 1.8; }

.abs-statement { color: var(--wp--preset--color--ink); font: 400 1.15rem/1.6 var(--wp--preset--font-family--sans); font-size: clamp(1.05rem, 1.6vw, 1.2rem); max-width: 52ch; }

/* Foto do consultor: aguardando foto autorizada (página Sobre) */
.abs-photo-pending {
	aspect-ratio: 4 / 5;
	max-width: 100%;
	border: 1px dashed var(--abs-line);
	border-radius: var(--abs-radius);
	display: grid;
	place-items: center;
	text-align: center;
	color: var(--wp--preset--color--ink-soft);
	background: var(--wp--preset--color--surface);
	padding: 1.5rem;
	font-size: 0.9rem;
}
.abs-portrait img { border-radius: var(--abs-radius); aspect-ratio: 4 / 5; object-fit: cover; }

/* ---------- Valores ---------- */
.abs-value { border-left: 3px solid var(--wp--preset--color--accent); padding-left: 1.25rem; }
.abs-value h3 { margin-top: 0; }

/* ---------- Faixas azuis ---------- */
.abs-band-dark { color: var(--wp--preset--color--on-primary); }
.abs-band-dark :where(h1, h2, h3, p, li) { color: var(--wp--preset--color--on-primary); }
.abs-band-dark .abs-eyebrow { color: var(--abs-laranja-no-azul); }
.abs-band-dark :where(a, button):focus-visible { outline-color: var(--wp--preset--color--accent); }
.abs-band-dark .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wp--preset--color--on-primary); border-color: #2c3f63; }
.abs-band-dark .wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--wp--preset--color--on-primary); }
.abs-band-dark a:not(.wp-block-button__link) { color: var(--wp--preset--color--on-primary); }

/* ---------- Contato (Início) ---------- */
#contato > .wp-block-columns .wp-block-column > * + * { margin-block-start: 18px; }
.abs-form-card { border: 1px solid var(--abs-line); border-radius: var(--abs-radius); background: var(--wp--preset--color--base); }
.abs-form-card .abs-form { gap: 16px; }

/* ---------- Chamada final (padrão "Chamada para contato", disponível para outras páginas) ---------- */
.abs-cta__box { border: 1px solid var(--abs-line); border-radius: 18px; }
.abs-cta .abs-ctas { justify-content: flex-start; }
@media (min-width: 782px) { .abs-cta .abs-ctas { justify-content: flex-end; } }

/* ---------- Rodapé ----------
   Claro, com fio em cima: o último bloco escuro saiu da página. */
.abs-footer { color: var(--wp--preset--color--ink-soft); font-size: 0.93rem; border-top: 1px solid var(--abs-line); }
.abs-footer a { color: var(--wp--preset--color--ink); text-decoration: none; transition: color 0.2s; }
.abs-footer a:hover, .abs-footer a:focus-visible { color: var(--wp--preset--color--primary); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--wp--preset--color--accent); }
.abs-footer :where(p) { color: var(--wp--preset--color--ink-soft); }

/* Colunas */
.abs-footer__main { margin-block: 0 !important; padding-block: 64px 48px; }
@media (min-width: 782px) {
	.abs-footer__main { display: grid !important; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 48px !important; }
}
.abs-footer__marca > * + * { margin-block-start: 20px; }
.abs-footer__marca > .abs-redes { margin-top: 24px !important; }
.abs-footer__logo { margin: 0; line-height: 0; }
.abs-footer__logo img { display: block; height: 44px; width: auto; }
.abs-footer__marca p { max-width: 34ch; font-size: 0.9rem; line-height: 1.65; }
.abs-footer__titulo { margin: 0 0 18px !important; color: var(--wp--preset--color--ink-soft) !important; font: 600 0.7rem/1.3 var(--wp--preset--font-family--sans) !important; letter-spacing: 0.16em !important; text-transform: uppercase; }
.abs-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.abs-footer__main li { font-size: 0.92rem; }

/* Redes: só contorno, monocromáticas */
.abs-footer .abs-redes { display: flex; gap: 8px; }
.abs-footer .abs-redes a { width: 36px; height: 36px; border-radius: 8px; background: transparent; border: 1px solid var(--abs-line); color: var(--wp--preset--color--ink-soft); transition: border-color 0.2s, color 0.2s; }
.abs-footer .abs-redes a:hover, .abs-footer .abs-redes a:focus-visible { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); text-decoration: none; }
.abs-footer .abs-redes svg { width: 16px; height: 16px; }

/* Contatos: ícones em cinza, rótulo pequeno embaixo */
.abs-footer .abs-contact--icones { gap: 16px; }
.abs-footer .abs-contact--icones .abs-ico { color: var(--wp--preset--color--ink-soft); }
.abs-footer .abs-contact--icones small { margin-top: 2px; color: var(--wp--preset--color--ink-soft); opacity: 1; font-size: 0.75rem; }

/* Linha legal */
.abs-footer__legal { gap: 12px 24px; padding-block: 24px 32px; border-top: 1px solid var(--abs-line); font-size: 0.8rem; }
.abs-footer__legal p { margin: 0; color: var(--wp--preset--color--ink-soft); }
.abs-footer__links { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.abs-footer__links a { color: var(--wp--preset--color--ink-soft); }
.abs-topo { display: inline-flex; align-items: center; gap: 8px; }
.abs-topo span { display: none; }

@media (max-width: 781px) {
	.abs-footer__main { flex-wrap: wrap !important; padding-block: 48px 40px; row-gap: 36px !important; }
	.abs-footer__main > .abs-footer__marca { flex-basis: 100% !important; }
	.abs-footer__main > .wp-block-column:not(.abs-footer__marca) { flex: 1 1 40% !important; }
}

/* ---------- Política ---------- */
.abs-policy h2 { font-size: 1.5rem; margin-top: 2.5rem; }
.abs-policy table { width: 100%; border-collapse: collapse; font-size: 0.95rem; table-layout: fixed; }
.abs-policy th, .abs-policy td { border: 1px solid var(--abs-line); padding: 0.6rem 0.75rem; text-align: left; vertical-align: top; overflow-wrap: anywhere; hyphens: auto; }
.abs-policy .wp-block-table { overflow-x: visible; }
@media (max-width: 480px) { .abs-policy th, .abs-policy td { padding: 0.5rem; font-size: 0.875rem; } }

/* Avisos visíveis só no rascunho (quem está logado) */
.abs-draft-note {
	border: 1px dashed var(--wp--preset--color--accent-ink);
	background: var(--wp--preset--color--accent-soft);
	border-radius: 8px;
	padding: 0.75rem 1rem;
	font-size: 0.9rem;
}

/* Cabeçalho, conteúdo e rodapé encostados (as seções já têm o próprio espaçamento) */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* =====================================================================
   v0.5 · Marca com leveza
   Azul-marinho chapado só no topo (Início e páginas internas) e no rodapé.
   Sem quadriculado, sem brilhos, sem cartões flutuando: seções claras com fios,
   ícones pequenos em azul e foto do Roberto no topo da Início.
   Laranja: fundo de botão e detalhe sobre o azul (#F5A33B); nunca texto sobre branco.
   ===================================================================== */
:root {
	--abs-navy: var(--wp--preset--color--primary);
	--abs-orange: var(--wp--preset--color--accent);
	--abs-r: 10px;
	--abs-dark-bg: linear-gradient(180deg, #0d2350 0%, #0b1f44 100%);
}

/* ---------- Ícones (traço azul, pequenos, sem fundo) ---------- */
:root {
	--abs-i-feeling: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F44' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.6 9.4a2.5 2.5 0 1 1 3.4 2.4c-.6.3-1 .8-1 1.5v.6'/%3E%3Cpath d='M12 17.2v.1'/%3E%3C/svg%3E");
	--abs-i-queda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F44' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6.5 9 12.5l4-4 8 8'/%3E%3Cpath d='M21 11.5v5h-5'/%3E%3C/svg%3E");
	--abs-i-orcamento: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F44' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='3' width='15' height='18' rx='2.2'/%3E%3Cpath d='M8 7.5h8M8 11h8M8 14.5h3.5'/%3E%3Cpath d='m14 14.5 3 3m0-3-3 3'/%3E%3C/svg%3E");
	--abs-i-camadas: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F44' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 3 7.5 12 12l9-4.5L12 3Z'/%3E%3Cpath d='m3 12 9 4.5 9-4.5'/%3E%3Cpath d='m3 16.5 9 4.5 9-4.5'/%3E%3C/svg%3E");
	--abs-i-preco: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F44' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12.2V4.5a1 1 0 0 1 1-1h7.7l8.3 8.3a1 1 0 0 1 0 1.4l-7.3 7.3a1 1 0 0 1-1.4 0L3.5 12.2Z'/%3E%3Ccircle cx='8.2' cy='8.2' r='1.4'/%3E%3C/svg%3E");
	--abs-i-barras: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F44' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20.5h18'/%3E%3Crect x='5' y='11' width='3' height='7' rx='.8'/%3E%3Crect x='10.5' y='6' width='3' height='12' rx='.8'/%3E%3Crect x='16' y='13.5' width='3' height='4.5' rx='.8'/%3E%3C/svg%3E");
	--abs-i-equilibrio: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F44' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 19.5 21 6'/%3E%3Cpath d='M3 9.5c5.5.5 11 3.5 18 10'/%3E%3Ccircle cx='11.6' cy='13' r='1.6'/%3E%3C/svg%3E");
}

/* ---------- Botões ---------- */
.wp-block-button__link { border-radius: 8px; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }

/* Cabeçalho: botão cheio, discreto */
.abs-header__cta .wp-block-button__link,
.abs-header__cta.is-style-outline .wp-block-button__link { background: var(--abs-navy); color: #fff; border-color: var(--abs-navy); padding: 10px 18px; }
.abs-header__cta .wp-block-button__link:hover,
.abs-header__cta.is-style-outline .wp-block-button__link:hover { background: #1a3366; border-color: #1a3366; color: #fff; }

/* ---------- Topos azuis (Início e páginas internas) ---------- */
.abs-hero-lente,
.abs-hero,
.abs-dark { background: var(--abs-dark-bg); color: rgba(255, 255, 255, .78); border-bottom: 0; }
:is(.abs-hero-lente, .abs-hero, .abs-dark) :is(h1, h2, h3) { color: #fff; }
:is(.abs-hero-lente, .abs-hero, .abs-dark) :is(p, li) { color: rgba(255, 255, 255, .76); }
:is(.abs-hero-lente, .abs-hero, .abs-dark) .abs-eyebrow { color: var(--abs-laranja-no-azul); }
:is(.abs-hero-lente, .abs-hero, .abs-dark) .abs-lead { color: rgba(255, 255, 255, .76); }
:is(.abs-hero-lente, .abs-hero, .abs-dark) :is(h1, h2) em { color: var(--abs-laranja-no-azul); font-style: normal; }
:where(.abs-hero-lente, .abs-hero, .abs-dark) :where(a, button):focus-visible { outline-color: var(--abs-laranja-no-azul); }
/* Botão principal sobre o azul: laranja com texto azul (contraste 5,8:1) */
:is(.abs-hero-lente, .abs-hero, .abs-dark) .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--abs-orange); border-color: var(--abs-orange); color: var(--abs-navy); }
:is(.abs-hero-lente, .abs-hero, .abs-dark) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #f19a2c; border-color: #f19a2c; color: var(--abs-navy); }
:is(.abs-hero-lente, .abs-dark) .abs-link a { color: #fff; text-decoration-color: var(--abs-orange); }
:is(.abs-hero-lente, .abs-dark) .abs-link a:hover { color: #fff; }

/* ---------- Topo da Início: texto + foto do Roberto apoiada na base ---------- */
.abs-hero-lente { padding-top: clamp(3rem, 7vw, 5.5rem) !important; padding-bottom: 0 !important; }
.abs-hero-lente > .wp-block-columns { margin-block: 0; }
.abs-hero-lente__copy { padding-bottom: clamp(3.5rem, 7vw, 5.5rem); }
.abs-hero-lente h1 { font-size: clamp(2.4rem, 4.6vw, 3.7rem); font-weight: 600; line-height: 1.06; letter-spacing: -0.03em; }
.abs-hero-lente h1 em { display: block; }
.abs-hero-lente__copy > .abs-eyebrow + h1 { margin-block-start: 18px; }
.abs-hero-lente__copy .abs-lead { font-size: clamp(1.05rem, 1.4vw, 1.18rem); max-width: 44ch; }
.abs-hero-lente .wp-block-button__link { padding: 15px 24px; font-size: 1rem; }
.abs-hero-foto { align-self: flex-end !important; }
.abs-hero-foto .abs-retrato { max-width: 440px; margin: 0 0 0 auto; }
.abs-hero-foto .abs-retrato img { border-radius: var(--abs-r) var(--abs-r) 0 0; object-position: 50% 18%; }

/* ---------- Seções claras ---------- */
.abs-eyebrow { display: flex; align-items: center; gap: 10px; }
.abs-eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: currentColor; opacity: .9; }
h2.wp-block-heading { letter-spacing: -0.03em; }

/* Ícone pequeno no alto de cada item (dor e serviços) */
.abs-sec-dor .abs-dor li::before,
.abs-svc-item::before { content: ""; display: block; width: 28px; height: 28px; background: var(--abs-ico, var(--abs-i-camadas)) center / contain no-repeat; }
.abs-sec-dor .abs-dor li::before { margin-bottom: 6px; }
.abs-svc-item::before { margin-bottom: 16px; }
.abs-sec-dor .abs-dor li:nth-child(1) { --abs-ico: var(--abs-i-feeling); }
.abs-sec-dor .abs-dor li:nth-child(2) { --abs-ico: var(--abs-i-queda); }
.abs-sec-dor .abs-dor li:nth-child(3) { --abs-ico: var(--abs-i-orcamento); }
.abs-svc-item:nth-child(1) { --abs-ico: var(--abs-i-camadas); }
.abs-svc-item:nth-child(2) { --abs-ico: var(--abs-i-preco); }
.abs-svc-item:nth-child(3) { --abs-ico: var(--abs-i-barras); }
.abs-svc-item:nth-child(4) { --abs-ico: var(--abs-i-equilibrio); }

/* Como trabalhamos: quatro colunas com fio, número pequeno e um traço laranja */
.abs-sec-etapas .abs-etapas { counter-reset: abs-etapa; gap: clamp(24px, 3vw, 40px); padding-left: 0; }
.abs-sec-etapas .abs-etapas::before { display: none; }
.abs-sec-etapas .abs-etapa { counter-increment: abs-etapa; padding-top: 22px; border-top: 1px solid var(--abs-line); }
.abs-sec-etapas .abs-etapa::before {
	content: counter(abs-etapa, decimal-leading-zero);
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin-bottom: 14px;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--abs-navy);
	font: 600 0.78rem/1 var(--wp--preset--font-family--sans);
	letter-spacing: 0.14em;
	font-variant-numeric: tabular-nums;
}
.abs-sec-etapas .abs-etapa::after { content: ""; position: absolute; left: 0; top: -1px; width: 28px; height: 2px; background: var(--abs-orange); }
@media (max-width: 1000px) { .abs-sec-etapas .abs-etapas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .abs-sec-etapas .abs-etapas { grid-template-columns: minmax(0, 1fr); } }

/* Quem cuida: só texto, segmentos em linha com separador */
.abs-consultor .wp-block-column > * + * { margin-block-start: 22px; }
.abs-segmentos { display: flex; flex-wrap: wrap; gap: 6px 22px; list-style: none; margin: 0; padding: 18px 0 0 !important; border-top: 1px solid var(--abs-line); color: var(--wp--preset--color--ink-soft); font-size: 0.92rem; line-height: 1.7; }
.abs-segmentos li { display: inline-flex; align-items: center; gap: 9px; }
.abs-segmentos li::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--abs-orange); }

/* Contato: texto à esquerda e formulário num cartão com fio */
.abs-form-card { border: 1px solid var(--abs-line); border-radius: var(--abs-r); background: var(--wp--preset--color--base); box-shadow: none; }

/* ---------- Páginas internas ---------- */
.abs-hero { padding-top: clamp(4rem, 9vw, 6rem) !important; padding-bottom: clamp(3.5rem, 7vw, 5rem) !important; }
.abs-hero h1 { font-size: clamp(2.2rem, 4.2vw, 3.3rem); font-weight: 600; letter-spacing: -0.03em; max-width: 20ch; }
.is-layout-constrained > .abs-hero h1, .abs-hero.is-layout-constrained > h1 { margin-left: max(0px, calc((100% - 1160px) / 2)) !important; margin-right: auto !important; }
.abs-hero .abs-lead { max-width: 60ch; }
.abs-card { border-radius: var(--abs-r); }

/* Serviços (página): 11 itens em duas colunas, com fio */
.wp-block-group:has(> .abs-service) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 5vw, 4.5rem); width: 100%; max-width: 1160px; margin-inline: auto !important; }
.wp-block-group:has(> .abs-service) > .abs-service { flex-wrap: wrap !important; gap: 10px; margin: 0 !important; padding-block: 28px 30px; border-top: 1px solid var(--abs-line); border-bottom: 0; }
.wp-block-group:has(> .abs-service) > .abs-service:nth-last-child(-n+2) { border-bottom: 1px solid var(--abs-line); }
.abs-service > .wp-block-column { flex-basis: 100% !important; min-width: 0; }
.abs-service h2 { font-size: 1.2rem !important; }
@media (max-width: 860px) {
	.wp-block-group:has(> .abs-service) { grid-template-columns: minmax(0, 1fr); }
	.wp-block-group:has(> .abs-service) > .abs-service:nth-last-child(2) { border-bottom: 0; }
}

/* Sobre: missão, visão e valores com fio e traço laranja */
.abs-value { position: relative; height: 100%; padding: 22px 0 0; border: 0; border-top: 1px solid var(--abs-line); }
.abs-value::before { content: ""; position: absolute; left: 0; top: -1px; width: 28px; height: 2px; background: var(--abs-orange); }

/* ---------- Rodapé azul com logo branco ---------- */
.abs-footer { background: var(--abs-dark-bg); color: rgba(255, 255, 255, .7); border-top: 0; }
.abs-footer p { color: rgba(255, 255, 255, .68); }
.abs-footer a { color: rgba(255, 255, 255, .86); }
.abs-footer a:hover, .abs-footer a:focus-visible { color: #fff; text-decoration-color: var(--abs-orange); }
.abs-footer :where(a, button):focus-visible { outline-color: var(--abs-laranja-no-azul); }
.abs-footer__titulo { color: var(--abs-laranja-no-azul) !important; }
.abs-footer__main { padding-block: clamp(56px, 8vw, 80px) 48px; }
.abs-footer .abs-logo-branco { margin: 0; }
.abs-footer .abs-logo-branco img { width: 180px !important; height: auto !important; }
.abs-footer .abs-redes a { border-color: rgba(255, 255, 255, .2); color: #fff; }
.abs-footer .abs-redes a:hover, .abs-footer .abs-redes a:focus-visible { border-color: var(--abs-orange); color: #fff; }
.abs-footer .abs-contact--icones .abs-ico { color: var(--abs-laranja-no-azul); }
.abs-footer .abs-contact--icones small { color: rgba(255, 255, 255, .55); }
.abs-footer__legal { border-top-color: rgba(255, 255, 255, .12); }
.abs-footer__legal p, .abs-footer__links a { color: rgba(255, 255, 255, .55); }
.abs-footer__links a:hover { color: #fff; }

/* ---------- Celular ---------- */
@media (max-width: 781px) {
	.abs-hero-lente h1 { font-size: clamp(2.15rem, 9vw, 2.6rem); }
	.abs-hero-lente .wp-block-columns { row-gap: 40px !important; }
	.abs-hero-lente__copy { padding-bottom: 0; }
	.abs-hero-foto .abs-retrato { max-width: 320px; margin-inline: auto; }
}

/* =====================================================================
   v0.6 · Topo com escritório, ícones 3D, formulário e botões refinados
   ===================================================================== */

/* ---------- Topo da Início: banner do Roberto no escritório ----------
   Medidas tiradas da referência (descomplicandosite.com/drcarlosfernandes): topo de 750 px,
   banner 2006x784 em "cover" centralizado, pessoa a 71% da largura, título de ~48 px,
   textos entrando de baixo para cima. */
.abs-hero-escritorio {
	min-height: 750px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	background:
		linear-gradient(90deg, rgba(8, 22, 50, .9) 0%, rgba(8, 22, 50, .6) 32%, rgba(8, 22, 50, 0) 55%),
		url("../img/topo-roberto.webp") 50% 50% / cover no-repeat,
		#0b1f44;
}
.abs-hero-escritorio > .wp-block-columns { width: 100%; }
.abs-hero-escritorio .abs-hero-lente__copy { padding-bottom: 0; }
.abs-hero-escritorio h1 { font-size: clamp(2.3rem, 3.6vw, 3.15rem) !important; line-height: 1.08 !important; }
.abs-hero-escritorio .abs-hero-lente__copy .abs-lead { font-size: 1.12rem; max-width: 40ch; }
@keyframes abs-sobe { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
	.abs-hero-escritorio .abs-hero-lente__copy > * { animation: abs-sobe .8s cubic-bezier(.2, .7, .2, 1) both; }
	.abs-hero-escritorio .abs-hero-lente__copy > :nth-child(2) { animation-delay: .12s; }
	.abs-hero-escritorio .abs-hero-lente__copy > :nth-child(3) { animation-delay: .24s; }
	.abs-hero-escritorio .abs-hero-lente__copy > :nth-child(4) { animation-delay: .36s; }
}
@media (max-width: 1024px) and (min-width: 782px) { .abs-hero-escritorio { min-height: 620px; } }
@media (max-width: 781px) {
	.abs-hero-escritorio {
		min-height: 0;
		justify-content: flex-start;
		padding-top: 48px !important;
		padding-bottom: 330px !important;
		background:
			linear-gradient(180deg, #0b1f44 0%, #0b1f44 calc(100% - 350px), rgba(11, 31, 68, 0) calc(100% - 260px)),
			url("../img/topo-roberto-1200.webp") 80% 100% / auto 350px no-repeat,
			#0b1f44;
	}
}

/* ---------- Quem cuida: Roberto recortado sobre um bloco azul ---------- */
.abs-retrato-recorte { position: relative; margin: 0 auto; max-width: 420px; isolation: isolate; }
.abs-retrato-recorte::before { content: ""; position: absolute; z-index: -1; left: 6%; right: 6%; top: 22%; bottom: 0; border-radius: 14px; background: var(--abs-dark-bg); }
.abs-retrato-recorte img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: contain; object-position: 50% 0; }
@media (max-width: 781px) { .abs-retrato-recorte { max-width: 300px; } }

/* ---------- Quem cuida: foto limpa, sem moldura ---------- */
.abs-retrato-col .abs-retrato { max-width: 440px; }
.abs-retrato img { border-radius: var(--abs-r); }
@media (max-width: 781px) { .abs-retrato-col .abs-retrato { max-width: 360px; margin-inline: auto; } }

/* ---------- Ícones 3D (mesmo padrão da Lua), no lugar dos traços ---------- */
.abs-sec-dor .abs-dor li::before,
.abs-svc-item::before { width: 76px; height: 76px; margin-left: -8px; background: var(--abs-ico) center / contain no-repeat; filter: drop-shadow(0 12px 16px rgba(11, 31, 68, .14)); }
.abs-sec-dor .abs-dor li::before { margin-bottom: 8px; }
.abs-svc-item::before { margin-bottom: 14px; }
.abs-sec-dor .abs-dor li:nth-child(1) { --abs-ico: url("../img/icones/preco-duvida.webp"); }
.abs-sec-dor .abs-dor li:nth-child(2) { --abs-ico: url("../img/icones/margem-queda.webp"); }
.abs-sec-dor .abs-dor li:nth-child(3) { --abs-ico: url("../img/icones/orcamento-alerta.webp"); }
.abs-svc-item:nth-child(1) { --abs-ico: url("../img/icones/custeio-camadas.webp"); }
.abs-svc-item:nth-child(2) { --abs-ico: url("../img/icones/preco-venda.webp"); }
.abs-svc-item:nth-child(3) { --abs-ico: url("../img/icones/rentabilidade.webp"); }
.abs-svc-item:nth-child(4) { --abs-ico: url("../img/icones/equilibrio.webp"); }

/* ---------- Botões mais leves ---------- */
.wp-block-button__link { font-weight: 500 !important; font-size: 0.94rem !important; letter-spacing: 0; padding: 11px 20px !important; border-radius: 8px !important; }
.abs-hero-lente .wp-block-button__link { padding: 13px 22px !important; font-size: 0.97rem !important; }
.abs-header__cta .wp-block-button__link,
.abs-header__cta.is-style-outline .wp-block-button__link { padding: 9px 16px !important; font-size: 0.9rem !important; }
/* WhatsApp no contato: contorno, não bloco cheio */
.abs-contato-texto .abs-wa .wp-block-button__link,
.abs-card .abs-wa .wp-block-button__link { background: transparent; color: var(--abs-navy); border: 1px solid color-mix(in srgb, var(--abs-navy) 35%, transparent); }
.abs-contato-texto .abs-wa .wp-block-button__link:hover,
.abs-card .abs-wa .wp-block-button__link:hover { background: var(--abs-navy); color: #fff; border-color: var(--abs-navy); }

/* ---------- Formulário ---------- */
.abs-form-card { padding: clamp(24px, 3.4vw, 40px) !important; border-color: #e3e6ec; }
.abs-form { gap: 20px; }
.abs-form__field { gap: 7px; }
.abs-form label { font-weight: 500; font-size: 0.9rem; color: var(--wp--preset--color--ink); }
.abs-form__hint { order: 3; font-size: 0.8rem; color: #6b7686; }
.abs-form__field > .abs-form__error { order: 4; }
.abs-form input[type="text"],
.abs-form input[type="email"],
.abs-form textarea {
	min-height: 46px;
	padding: 11px 14px;
	border: 1px solid #d6dbe3;
	border-radius: 8px;
	background: #fff;
	font-size: 0.97rem;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.abs-form textarea { min-height: 8.5rem; }
.abs-form input:hover, .abs-form textarea:hover { border-color: #b9c1cd; }
.abs-form input[type="text"]:focus-visible,
.abs-form input[type="email"]:focus-visible,
.abs-form textarea:focus-visible { border-color: var(--abs-navy); outline: 0; box-shadow: 0 0 0 3px rgba(11, 31, 68, .14); }
.abs-form__check { padding-top: 4px; }
.abs-form__check input { width: 18px; height: 18px; margin-top: 3px; }
.abs-form__check label { font-size: 0.86rem; color: var(--wp--preset--color--ink-soft); }
.abs-form button[type="submit"], .abs-form .wp-block-button__link { width: 100%; justify-content: center; min-height: 46px; }

/* ---------- Como trabalhamos: cartões de etapa (padrão da referência drcarlosfernandes, refinado) ----------
   Cartão branco com borda fina e cantos de 22 px, selo "Etapa 01" com ponto, ícone 3D, título e texto.
   No mouse: sobe 6 px, ganha sombra suave e uma barra azul no topo. Entram de baixo ao rolar a página. */
.abs-sec-etapas .abs-etapas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding-left: 0; margin-top: clamp(2.5rem, 4vw, 3.25rem) !important; }
.abs-sec-etapas .abs-etapa {
	position: relative;
	overflow: hidden;
	padding: 136px 26px 34px;
	border: 1px solid #e4e7ec;
	border-radius: 22px;
	background: #fff var(--abs-etapa-ico) 22px 56px / 64px no-repeat;
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, border-color .35s ease;
}
.abs-sec-etapas .abs-etapa::before {
	content: "Etapa " counter(abs-etapa, decimal-leading-zero);
	position: absolute;
	top: 24px;
	left: 26px;
	margin: 0;
	padding-left: 18px;
	width: auto;
	height: auto;
	border: 0;
	border-radius: 0;
	background: radial-gradient(circle at 6px 50%, var(--abs-navy) 0 3px, rgba(11, 31, 68, .14) 3.5px 6px, transparent 6.5px) no-repeat;
	color: var(--abs-navy);
	font: 600 0.8rem/1.4 var(--wp--preset--font-family--sans);
	letter-spacing: 0.02em;
}
.abs-sec-etapas .abs-etapa::after { content: ""; position: absolute; left: 0; right: 0; top: 0; width: auto; height: 3px; background: var(--abs-navy); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.abs-sec-etapas .abs-etapa:hover { transform: translateY(-6px); box-shadow: 0 26px 44px -30px rgba(11, 31, 68, .4); border-color: #d6dbe3; }
.abs-sec-etapas .abs-etapa:hover::after { transform: scaleX(1); }
.abs-sec-etapas .abs-etapa h3 { font-size: 1.16rem; }
.abs-sec-etapas .abs-etapa p { font-size: 0.94rem; }
.abs-sec-etapas .abs-etapa:nth-child(1) { --abs-etapa-ico: url("../img/icones/etapa-diagnostico.webp"); }
.abs-sec-etapas .abs-etapa:nth-child(2) { --abs-etapa-ico: url("../img/icones/etapa-levantamento.webp"); }
.abs-sec-etapas .abs-etapa:nth-child(3) { --abs-etapa-ico: url("../img/icones/etapa-preco.webp"); }
.abs-sec-etapas .abs-etapa:nth-child(4) { --abs-etapa-ico: url("../img/icones/etapa-acompanhamento.webp"); }
/* Entrada usa "translate" (e não "transform") para não travar o efeito do mouse. */
@keyframes abs-entra { from { opacity: 0; translate: 0 28px; } to { opacity: 1; translate: 0 0; } }
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.abs-sec-etapas .abs-etapa { animation: abs-entra linear both; animation-timeline: view(); animation-range: entry 0% entry 70%; }
	}
}
@media (prefers-reduced-motion: reduce) { .abs-sec-etapas .abs-etapa, .abs-sec-etapas .abs-etapa::after { transition: none; } .abs-sec-etapas .abs-etapa:hover { transform: none; } }
@media (max-width: 1000px) { .abs-sec-etapas .abs-etapas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .abs-sec-etapas .abs-etapas { grid-template-columns: minmax(0, 1fr); gap: 14px; } }

/* ---------- Cabeçalho azul (como a referência): logo branco, menu branco e redes em círculos ---------- */
.abs-header { background: #0b1f44; border-bottom: 1px solid rgba(255, 255, 255, .08); box-shadow: none; padding-block: 12px !important; }
.abs-header__logo { margin: 0; line-height: 0; flex: none; }
.abs-header__logo img { display: block; width: 160px !important; height: auto !important; }
.abs-header .wp-block-navigation a { color: rgba(255, 255, 255, .86); font-size: 0.94rem; transition: color .2s ease; }
.abs-header .wp-block-navigation a:hover { color: #fff; }
.abs-header .wp-block-navigation .current-menu-item > a,
.abs-header .wp-block-navigation [aria-current="page"] { color: #fff; box-shadow: inset 0 -2px 0 var(--abs-orange); }
.abs-header :where(a, button):focus-visible { outline-color: var(--abs-laranja-no-azul); }
.abs-header__right { gap: 2rem !important; }
.abs-header .abs-redes { display: flex; gap: 10px; margin: 0; }
.abs-header .abs-redes a { width: 38px; height: 38px; border-radius: 50%; background: #fff; color: var(--abs-navy); transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.abs-header .abs-redes a:hover, .abs-header .abs-redes a:focus-visible { background: var(--abs-orange); color: var(--abs-navy); transform: translateY(-2px); }
.abs-header .abs-redes svg { width: 17px; height: 17px; }
/* Botão do menu e menu aberto no celular, no mesmo azul */
.abs-header .wp-block-navigation__responsive-container-open,
.abs-header .wp-block-navigation__responsive-container-close { color: #fff; }
.abs-header .wp-block-navigation__responsive-container.is-menu-open { background: #0b1f44 !important; color: #fff; }
.abs-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { border-bottom-color: rgba(255, 255, 255, .12); }
.abs-header .wp-block-navigation__responsive-container.is-menu-open a { color: #fff; }
@media (max-width: 781px) {
	.abs-header { padding-block: 10px !important; }
	.abs-header__logo img { width: 128px !important; }
	.abs-header__right { gap: 14px !important; }
	.abs-header .abs-redes { gap: 8px; }
	.abs-header .abs-redes a { width: 34px; height: 34px; }
	.abs-header .abs-redes svg { width: 15px; height: 15px; }
}
/* O núcleo do menu usa "color: inherit" com seletor duplicado; a cor vem do próprio menu. */
.abs-header .wp-block-navigation { color: rgba(255, 255, 255, .86); }
.abs-header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content { color: inherit; }
.abs-header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
.abs-header .wp-block-navigation [aria-current="page"].wp-block-navigation-item__content { color: #fff; }
@media (max-width: 781px) { .abs-header__right > .abs-redes { order: -1; } }

/* ---------- Botões do topo em pílula (padrão do botão da referência drcarlosfernandes) ----------
   Medido na referência: cantos de 30 px, 50 px de altura, degradê em diagonal (148°), texto forte e
   ícone depois do texto. Na ABS: laranja da marca com texto azul (contraste 5,8:1) e WhatsApp à direita;
   "Ver serviços" vira pílula de contorno ao lado. */
.abs-hero-escritorio .abs-ctas { gap: 14px; }
.abs-hero-escritorio .abs-wa .wp-block-button__link {
	display: inline-flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 10px;
	min-height: 54px;
	padding: 0 30px !important;
	border: 0;
	border-radius: 999px !important;
	background: linear-gradient(148deg, #f7b04f 0%, #e3820a 70%);
	color: var(--abs-navy);
	font-weight: 600 !important;
	font-size: 1rem !important;
	box-shadow: none;
	transition: transform .3s cubic-bezier(.2, .7, .2, 1), background .3s ease;
}
.abs-hero-escritorio .abs-wa .wp-block-button__link svg { display: block; width: 19px; height: 19px; flex: none; }
.abs-hero-escritorio .abs-wa .wp-block-button__link:hover { background: linear-gradient(148deg, #f7b04f 0%, #e3820a 70%); color: var(--abs-navy); transform: translateY(-2px); box-shadow: none; }
.abs-hero-escritorio .abs-link { margin: 0; }
.abs-hero-escritorio .abs-link a {
	display: inline-flex;
	align-items: center;
	min-height: 54px;
	padding: 0 28px;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 999px;
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
	text-decoration: none;
	transition: border-color .3s ease, background-color .3s ease, transform .3s cubic-bezier(.2, .7, .2, 1);
}
.abs-hero-escritorio .abs-link a:hover { border-color: #fff; background: rgba(255, 255, 255, .08); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .abs-hero-escritorio :is(.abs-wa .wp-block-button__link, .abs-link a):hover { transform: none; } }
@media (max-width: 560px) {
	.abs-hero-escritorio .abs-ctas { flex-direction: column; align-items: stretch !important; }
	.abs-hero-escritorio .abs-ctas > * { width: 100%; max-width: 100%; margin: 0; box-sizing: border-box; }
	.abs-hero-escritorio .abs-wa .wp-block-button__link, .abs-hero-escritorio .abs-link a { box-sizing: border-box; width: 100%; justify-content: center; }
}

/* ---------- Contato da Início: quem responde, canais em cartões e formulário com título ---------- */
#contato > .wp-block-columns { align-items: flex-start; }
.abs-contato-texto > .abs-contato-pessoa { margin-top: 30px !important; gap: 14px; }
.abs-contato-pessoa__foto { margin: 0; flex: none; }
.abs-contato-pessoa__foto img { display: block; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; box-shadow: 0 0 0 3px #fff, 0 0 0 4px #e4e7ec; }
.abs-contato-pessoa__texto { margin: 0; font-size: 0.9rem; line-height: 1.5; color: var(--wp--preset--color--ink-soft); }
.abs-contato-pessoa__texto strong { display: block; color: var(--abs-navy); font: 600 1rem/1.35 var(--abs-heading); }
.abs-contato-texto .abs-contact--icones { display: grid; gap: 12px; margin-top: 26px !important; }
.abs-contato-texto .abs-contact--icones li {
	position: relative;
	grid-template-columns: 44px minmax(0, 1fr) 16px;
	align-items: center;
	gap: 14px;
	padding: 14px 18px 14px 14px;
	border: 1px solid #e4e7ec;
	border-radius: 16px;
	background: #fff;
	transition: border-color .3s ease, transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s ease;
}
.abs-contato-texto .abs-contact--icones li::after { content: ""; width: 16px; height: 16px; background: currentColor; color: #9aa3b2; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat; transition: color .3s ease, transform .3s ease; }
.abs-contato-texto .abs-contact--icones .abs-ico { box-sizing: border-box; width: 44px; height: 44px; margin: 0; padding: 12px; border-radius: 50%; background: var(--abs-navy); color: #fff; }
.abs-contato-texto .abs-contact--icones a { color: var(--abs-navy); font-weight: 600; text-decoration: none; }
.abs-contato-texto .abs-contact--icones a::before { content: ""; position: absolute; inset: 0; border-radius: 16px; }
.abs-contato-texto .abs-contact--icones small { margin-top: 1px; font-size: 0.78rem; color: #6b7686; opacity: 1; }
.abs-contato-texto .abs-contact--icones li:hover { border-color: #c9d0da; transform: translateY(-2px); box-shadow: 0 16px 30px -24px rgba(11, 31, 68, .45); }
.abs-contato-texto .abs-contact--icones li:hover::after { color: var(--abs-navy); transform: translate(2px, -2px); }
.abs-contato-texto .abs-contact--icones li:focus-within { border-color: var(--abs-navy); }
.abs-form-card { border-radius: 24px !important; padding: clamp(24px, 3.4vw, 40px) !important; }
.abs-form-card__titulo { margin: 0 0 22px !important; padding-bottom: 18px; border-bottom: 1px solid #eceef2; font-size: 1.25rem !important; }
@media (prefers-reduced-motion: reduce) { .abs-contato-texto .abs-contact--icones li:hover { transform: none; } }
@media (min-width: 782px) { #contato .abs-contato-texto { position: sticky; top: 110px; } }

/* ---------- Formulário da Início mais compacto ----------
   Nome e contato lado a lado, campos de 42 px, mensagem mais baixa, espaços e dicas menores. */
.abs-form-card { padding: clamp(22px, 2.6vw, 32px) !important; }
.abs-form-card__titulo { margin: 0 0 18px !important; padding-bottom: 14px; font-size: 1.1rem !important; }
.abs-form-card .abs-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.abs-form-card .abs-form > * { grid-column: 1 / -1; }
.abs-form-card .abs-form > .abs-form__field:has([name="abs_nome"]),
.abs-form-card .abs-form > .abs-form__field:has([name="abs_contato"]) { grid-column: auto; align-content: start; }
.abs-form-card .abs-form__field { gap: 6px; }
.abs-form-card .abs-form label { font-size: 0.84rem; }
.abs-form-card .abs-form__hint { font-size: 0.75rem; line-height: 1.4; }
.abs-form-card .abs-form input[type="text"],
.abs-form-card .abs-form input[type="email"],
.abs-form-card .abs-form textarea { min-height: 42px; padding: 9px 12px; font-size: 0.94rem; border-radius: 10px; }
.abs-form-card .abs-form textarea { min-height: 0; height: 7.5rem; }
.abs-form-card .abs-form__check { padding-top: 0; }
.abs-form-card .abs-form__check label { font-size: 0.8rem; line-height: 1.5; }
.abs-form-card .abs-form__check input { width: 16px; height: 16px; margin-top: 2px; }
.abs-form-card .abs-form button[type="submit"] { min-height: 44px; border-radius: 999px !important; }
@media (max-width: 600px) {
	.abs-form-card .abs-form { grid-template-columns: minmax(0, 1fr); }
	.abs-form-card .abs-form > .abs-form__field:has([name="abs_nome"]),
	.abs-form-card .abs-form > .abs-form__field:has([name="abs_contato"]) { grid-column: 1 / -1; }
}

/* ---------- Formulário da Início no padrão da referência (contadorclaudio, "Consulta de Caso") ----------
   Medido no Chrome: cartão branco de cantos 20 px, título grande, campos sem rótulo à vista (o nome
   fica dentro do campo), borda fina clara, uma coluna, botão de envio compacto à esquerda.
   Os rótulos e as dicas continuam no HTML para leitores de tela. */
.abs-form-card .abs-form { grid-template-columns: minmax(0, 1fr); gap: 12px; }
.abs-form-card .abs-form > .abs-form__field:has([name="abs_nome"]),
.abs-form-card .abs-form > .abs-form__field:has([name="abs_contato"]) { grid-column: 1 / -1; }
.abs-form-card .abs-form__field:not(.abs-form__check) > label,
.abs-form-card .abs-form__hint { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.abs-form-card .abs-form__field { gap: 4px; }
.abs-form-card__titulo { margin: 0 0 20px !important; padding-bottom: 0; border-bottom: 0; font-size: clamp(1.45rem, 2vw, 1.7rem) !important; }
.abs-form-card .abs-form input[type="text"],
.abs-form-card .abs-form input[type="email"],
.abs-form-card .abs-form textarea { min-height: 48px; padding: 12px 16px; border: 1px solid #e3e6eb; border-radius: 12px; background: #fbfbfc; font-size: 0.95rem; }
.abs-form-card .abs-form :is(input, textarea)::placeholder { color: #8a93a3; opacity: 1; }
.abs-form-card .abs-form :is(input[type="text"], input[type="email"], textarea):focus-visible { background: #fff; }
.abs-form-card .abs-form textarea { height: 9rem; }
.abs-form-card .abs-form__check { margin-top: 4px; }
.abs-form-card .abs-form > .wp-block-button { justify-self: start; margin-top: 4px; }
.abs-form-card .abs-form button[type="submit"] { width: auto; min-height: 46px; padding: 0 30px !important; }

/* ---------- Diagnóstico de margem ---------- */
/* Link da Início para o diagnóstico, logo abaixo dos sinais */
.abs-sec-dor .abs-dor-cta { margin-top: 32px !important; }
/* Topo: botões em pílula como no topo da Início */
.abs-hero-diagnostico .abs-ctas { gap: 14px; margin-top: 30px !important; }
.abs-hero-diagnostico .abs-wa .wp-block-button__link { display: inline-flex; flex-direction: row-reverse; align-items: center; gap: 10px; min-height: 54px; padding: 0 30px !important; border: 0; border-radius: 999px !important; background: linear-gradient(148deg, #f7b04f 0%, #e3820a 70%); color: var(--abs-navy); font-weight: 600 !important; font-size: 1rem !important; transition: transform .3s cubic-bezier(.2, .7, .2, 1); }
.abs-hero-diagnostico .abs-wa .wp-block-button__link svg { display: block; width: 19px; height: 19px; }
.abs-hero-diagnostico .abs-wa .wp-block-button__link:hover { transform: translateY(-2px); color: var(--abs-navy); }
.abs-hero-diagnostico .abs-link a { display: inline-flex; align-items: center; min-height: 54px; padding: 0 28px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; color: #fff; font-weight: 500; font-size: 1rem; text-decoration: none; transition: border-color .3s ease, background-color .3s ease; }
.abs-hero-diagnostico .abs-link a:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }
.abs-hero-diagnostico h1 { max-width: 18ch; }
.abs-hero-diagnostico h1 em { display: block; }
@media (max-width: 560px) { .abs-hero-diagnostico .abs-ctas { flex-direction: column; align-items: stretch !important; } .abs-hero-diagnostico .abs-ctas > * { width: 100%; margin: 0; } .abs-hero-diagnostico :is(.abs-wa .wp-block-button__link, .abs-link a) { box-sizing: border-box; width: 100%; justify-content: center; } }
/* A causa: lista com marcadores de verificação */
.abs-sec-causa .wp-block-column > * + * { margin-block-start: 20px; }
.abs-lista-check { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--abs-line); }
.abs-lista-check li { position: relative; padding: 20px 0 20px 40px; border-bottom: 1px solid var(--abs-line); color: var(--wp--preset--color--ink-soft); font-size: 0.98rem; }
.abs-lista-check li::before { content: ""; position: absolute; left: 0; top: 21px; width: 24px; height: 24px; border-radius: 50%; background: var(--abs-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5A33B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat; }
.abs-lista-check strong { color: var(--abs-navy); }
/* O que você leva: três cartões numerados, no mesmo padrão das etapas */
.abs-entregas { counter-reset: abs-entrega; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: clamp(2.5rem, 4vw, 3.25rem) !important; }
.abs-entregas > .abs-entrega { margin: 0; }
.abs-entrega { counter-increment: abs-entrega; position: relative; overflow: hidden; padding: 30px 28px 34px; border: 1px solid #e4e7ec; border-radius: 22px; background: #fff; transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease; }
.abs-entrega::before { content: counter(abs-entrega, decimal-leading-zero); display: block; margin-bottom: 18px; color: var(--abs-orange); font: 300 2.4rem/1 var(--abs-heading); letter-spacing: -0.04em; }
.abs-entrega::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--abs-navy); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.abs-entrega:hover { transform: translateY(-6px); box-shadow: 0 26px 44px -30px rgba(11, 31, 68, .4); }
.abs-entrega:hover::after { transform: scaleX(1); }
.abs-entrega > * { margin: 0; }
.abs-entrega > * + * { margin-block-start: 10px; }
.abs-entrega h3 { font-size: 1.18rem; }
.abs-entrega p { color: var(--wp--preset--color--ink-soft); font-size: 0.95rem; }
@media (max-width: 860px) { .abs-entregas { grid-template-columns: minmax(0, 1fr); gap: 14px; } }
@media (prefers-reduced-motion: reduce) { .abs-entrega, .abs-entrega::after { transition: none; } .abs-entrega:hover { transform: none; } }
/* Topo do diagnóstico: Roberto recortado à direita, apoiado na base (como nas referências) */
@media (min-width: 900px) {
	.abs-hero-diagnostico { min-height: 560px; padding-top: 104px !important; padding-bottom: 96px !important; box-sizing: border-box; background: url("../img/roberto-em-pe.webp") calc(50% + 400px) 100% / auto 92% no-repeat, var(--abs-dark-bg) !important; }
}

/* ---------- Menos ícones, mais fotos (fotos geradas no ChatGPT) ---------- */
/* Foto grande ao lado do texto ("Onde a margem se perde" e "Você se reconhece?") */
.abs-foto-secao { margin: 0; }
.abs-foto-secao img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3.4; object-fit: cover; border-radius: 22px; }
.abs-dor-cols .wp-block-column > * + * { margin-block-start: 18px; }
/* Os sinais viram uma lista empilhada com fio, sem ícone */
.abs-sec-dor .abs-dor-cols .abs-dor { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 26px !important; }
.abs-sec-dor .abs-dor li::before { display: none; }
.abs-sec-dor .abs-dor-cols .abs-dor li,
.abs-sec-dor .abs-dor-cols .abs-dor li + li { padding: 18px 0; border-left: 0; border-top: 0; border-bottom: 1px solid var(--abs-line); gap: 6px; }
.abs-sec-dor .abs-dor-cols .abs-dor strong { font-size: 1.12rem; }
.abs-sec-dor .abs-dor-cols .abs-dor-cta { margin-top: 26px !important; }
@media (max-width: 781px) { .abs-foto-secao img { aspect-ratio: 16 / 11; } }
/* Serviços da Início: cartões com foto no alto, no lugar do ícone */
.abs-svc-lista { border-top: 0; gap: 22px; column-gap: 22px; }
.abs-svc-item { padding: 0 0 26px; border: 1px solid #e4e7ec; border-radius: 22px; background: #fff; overflow: hidden; transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease; }
.abs-svc-item::before { display: none; }
.abs-svc-item > :not(.abs-svc-foto) { padding-inline: 26px; }
.abs-svc-item > .abs-svc-foto + * { margin-block-start: 22px; }
.abs-svc-foto { margin: 0; overflow: hidden; }
.abs-svc-foto img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.abs-svc-item:hover { transform: translateY(-6px); box-shadow: 0 26px 44px -30px rgba(11, 31, 68, .4); }
.abs-svc-item:hover .abs-svc-foto img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .abs-svc-item, .abs-svc-foto img { transition: none; } .abs-svc-item:hover, .abs-svc-item:hover .abs-svc-foto img { transform: none; } }

/* ---------- Faixa de fotos acima do rodapé (referência drcarlosfernandes) ----------
   Fotos lado a lado, da largura da tela, andando devagar para a esquerda; para com o mouse em cima
   e fica parada para quem prefere menos movimento. Decorativa (aria-hidden). */
.abs-faixa-fotos { overflow: hidden; height: clamp(200px, 26vw, 380px); background: #0b1f44; border-bottom: 2px solid var(--abs-orange); }
.abs-faixa-fotos__trilho { display: flex; width: max-content; height: 100%; animation: abs-faixa 80s linear infinite; }
.abs-faixa-fotos img { display: block; height: 100%; width: auto; aspect-ratio: 3 / 2; object-fit: cover; flex: none; }
.abs-faixa-fotos:hover .abs-faixa-fotos__trilho { animation-play-state: paused; }
@keyframes abs-faixa { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .abs-faixa-fotos__trilho { animation: none; } }

/* ---------- Contato: cartões sem setinhas, espaços mais justos e cor de cada rede ---------- */
.abs-contato-texto .abs-contact--icones { gap: 10px; margin-top: 22px !important; }
.abs-contato-texto .abs-contact--icones li { grid-template-columns: 44px minmax(0, 1fr); gap: 14px; padding: 13px 18px 13px 13px; }
.abs-contato-texto .abs-contact--icones li::after { display: none; }
.abs-contato-texto > .abs-contato-pessoa { margin-top: 26px !important; }
.abs-contato-texto .abs-contact--icones a { font-size: 1.02rem; }
/* WhatsApp: círculo verde com o símbolo do WhatsApp (no lugar do telefone) */
.abs-contato-texto .abs-contact--icones li:has(a[href*="wa.me"]) .abs-ico { background: #25d366 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2Zm0 18.2a8.2 8.2 0 0 1-4.2-1.2l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2Zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.7.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.2-.4.2-.4.7-1.3.1-.2 0-.3 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.6a2.7 2.7 0 0 0 1.8-1.3 2.2 2.2 0 0 0 .2-1.3c-.1-.1-.3-.2-.5-.3Z'/%3E%3C/svg%3E") center / 22px no-repeat; color: transparent; }
.abs-contato-texto .abs-contact--icones li:has(a[href*="wa.me"]) .abs-ico * { opacity: 0; }
/* LinkedIn: círculo no azul do LinkedIn */
.abs-contato-texto .abs-contact--icones li:has(a[href*="linkedin"]) .abs-ico { background: #0a66c2; color: #fff; }

/* ---------- Rodapé: contato só com ícones (WhatsApp e LinkedIn em círculos) ---------- */
.abs-footer .abs-redes { display: flex; gap: 12px; margin-top: 18px !important; }
.abs-footer .abs-redes a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .04); color: #fff; transition: background-color .25s ease, border-color .25s ease, transform .25s ease; }
.abs-footer .abs-redes a:hover, .abs-footer .abs-redes a:focus-visible { background: var(--abs-orange); border-color: var(--abs-orange); color: var(--abs-navy); transform: translateY(-2px); }
.abs-footer .abs-redes svg { width: 19px; height: 19px; }
@media (prefers-reduced-motion: reduce) { .abs-footer .abs-redes a:hover { transform: none; } }

/* ---------- Como trabalhamos: faixa azul com cartões brancos (como a seção "Para quem é" da referência) ---------- */
.abs-sec-etapas {
	background-color: #0b1f44 !important;
	background-image: linear-gradient(180deg, rgba(11, 31, 68, .93) 0%, rgba(8, 22, 50, .96) 100%), url("../img/fotos/escritorio-fundo.webp");
	background-size: cover;
	background-position: center;
}
.abs-sec-etapas :is(h2, h2.wp-block-heading) { color: #fff; }
.abs-sec-etapas .abs-eyebrow { color: var(--abs-laranja-no-azul); }
.abs-sec-etapas .abs-lead { color: rgba(255, 255, 255, .76); }
.abs-sec-etapas .abs-etapa { border-color: transparent; box-shadow: 0 24px 50px -36px rgba(0, 0, 0, .6); }
.abs-sec-etapas .abs-etapa:hover { box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .7); border-color: transparent; }
.abs-sec-etapas .abs-etapa::after { background: var(--abs-orange); }
.abs-sec-etapas :where(a, button):focus-visible { outline-color: var(--abs-laranja-no-azul); }

/* ---------- Etapas com ícones de traço no padrão da referência (drcarlosfernandes) ----------
   Ícone de linha azul-marinho, 56 px, com um detalhe laranja; no lugar dos ícones 3D e das ilustrações. */
.abs-sec-etapas .abs-etapa { padding: 140px 26px 32px; background: #fff var(--abs-etapa-ico) 24px 60px / 56px no-repeat; }
.abs-sec-etapas .abs-etapa:nth-child(1) { --abs-etapa-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230B1F44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='8' width='24' height='32' rx='3'/%3E%3Cpath d='M16 8V5h10v3'/%3E%3Cpath d='M15 17h12M15 23h8M15 29h5'/%3E%3Ccircle cx='32' cy='31' r='6'/%3E%3Cpath d='m36.5 35.5 5 5' stroke='%23E3820A'/%3E%3C/svg%3E"); }
.abs-sec-etapas .abs-etapa:nth-child(2) { --abs-etapa-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230B1F44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 12h18l6 6v22H8z'/%3E%3Cpath d='M26 12v6h6'/%3E%3Cpath d='M13 22h12M13 27h12M13 32h7'/%3E%3Crect x='28' y='25' width='13' height='17' rx='2'/%3E%3Cpath d='M31 29h7' stroke='%23E3820A'/%3E%3Cpath d='M31.5 34h.01M34.5 34h.01M37.5 34h.01M31.5 38h.01M34.5 38h.01M37.5 38h.01'/%3E%3C/svg%3E"); }
.abs-sec-etapas .abs-etapa:nth-child(3) { --abs-etapa-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230B1F44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 23V9a2 2 0 0 1 2-2h14l17 17-16 16L7 23z'/%3E%3Ccircle cx='15' cy='15' r='3'/%3E%3Ccircle cx='29' cy='29' r='4.5' stroke='%23E3820A'/%3E%3Cpath d='M29 22.5v2M29 33.5v2M22.5 29h2M33.5 29h2' stroke='%23E3820A'/%3E%3C/svg%3E"); }
.abs-sec-etapas .abs-etapa:nth-child(4) { --abs-etapa-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230B1F44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='8' width='38' height='26' rx='3'/%3E%3Cpath d='M18 40h12M24 34v6'/%3E%3Cpath d='m11 27 7-7 5 4 9-9' /%3E%3Cpath d='M27 15h5v5'/%3E%3Ccircle cx='37' cy='30' r='0.01'/%3E%3Cpath d='m33 28 2.5 2.5L41 25' stroke='%23E3820A'/%3E%3C/svg%3E"); }

/* ---------- Sobretítulos sem o traço antes (pedido do Armando) ---------- */
.abs-eyebrow::before { display: none !important; }
.abs-eyebrow { gap: 0; }

/* ---------- Página Contato ---------- */
/* Topo: Roberto ao telefone, recortado à direita (como no Diagnóstico) */
@media (min-width: 900px) {
	.abs-hero-contato { min-height: 520px; padding-top: 104px !important; padding-bottom: 96px !important; box-sizing: border-box; background: url("../img/roberto-contato.webp") calc(50% + 400px) 100% / auto 94% no-repeat, var(--abs-dark-bg) !important; }
}
/* Cotações do Banco Central: caixa leve abaixo dos canais */
.abs-contato-cambio { margin-top: 28px !important; padding-top: 22px; border-top: 1px solid var(--abs-line); }
.abs-contato-cambio > * + * { margin-block-start: 10px; }
.abs-contato-cambio__titulo { margin: 0; font-size: 0.9rem; line-height: 1.5; color: var(--wp--preset--color--ink-soft); }
.abs-contato-cambio__titulo strong { display: block; color: var(--abs-navy); font: 600 1rem/1.4 var(--abs-heading); }
.abs-contato-cambio a { font-weight: 600; font-size: 0.92rem; color: var(--abs-navy); text-decoration-color: var(--abs-orange); text-underline-offset: 5px; }
.abs-contato-cambio .abs-bcb a, .abs-contato-cambio a.abs-bcb { display: inline-flex; align-items: center; gap: 6px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; color: var(--abs-navy); font-weight: 600; font-size: 0.92rem; text-decoration: underline; text-decoration-color: var(--abs-orange); text-underline-offset: 5px; }
.abs-contato-cambio .abs-bcb .wp-block-button__link { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; color: var(--abs-navy) !important; font-size: 0.92rem !important; font-weight: 600 !important; text-decoration: underline; text-decoration-color: var(--abs-orange); text-underline-offset: 5px; box-shadow: none !important; }
.abs-contato-cambio .abs-bcb .wp-block-button__link:hover { color: var(--abs-navy) !important; text-decoration-thickness: 2px; transform: none; }

/* ---------- Quem cuida: segmentos em grade, com título e marca de verificação ---------- */
.abs-consultor .abs-segmentos-titulo { margin-top: 26px !important; padding-top: 22px; border-top: 1px solid var(--abs-line); color: #6b7686; font-size: 0.74rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.abs-consultor .abs-segmentos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; max-width: 560px; margin-top: 14px !important; padding: 0 !important; border-top: 0; font-size: 0.95rem; line-height: 1.4; color: var(--abs-navy); }
.abs-consultor .abs-segmentos li { display: flex; align-items: center; gap: 10px; font-weight: 500; }
.abs-consultor .abs-segmentos li::before { content: ""; flex: none; width: 20px; height: 20px; border-radius: 50%; background: var(--abs-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5A33B' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 12px no-repeat; }
.abs-consultor .abs-segmentos + .abs-so-previa + .abs-link,
.abs-consultor .abs-segmentos ~ .abs-link { margin-top: 28px !important; }
@media (max-width: 560px) { .abs-consultor .abs-segmentos { grid-template-columns: minmax(0, 1fr); } }


/* =====================================================================
   Páginas Serviços e Sobre no padrão novo + faixa de fechamento
   ===================================================================== */
/* Topos internos com foto à direita, sumindo no azul */
.abs-hero-servicos, .abs-hero-sobre { min-height: 460px; box-sizing: border-box; padding-top: 104px !important; padding-bottom: 96px !important; }
.abs-hero-servicos { background: linear-gradient(90deg, #0b1f44 0%, #0b1f44 42%, rgba(11, 31, 68, .55) 62%, rgba(11, 31, 68, .15) 100%), url("../img/fotos/servico-custeio.webp") right center / 58% auto no-repeat, #0b1f44 !important; }
.abs-hero-sobre { background: linear-gradient(90deg, #0b1f44 0%, #0b1f44 42%, rgba(11, 31, 68, .55) 62%, rgba(11, 31, 68, .15) 100%), url("../img/fotos/ambiente-reuniao.webp") right center / 58% auto no-repeat, #0b1f44 !important; }
@media (max-width: 900px) {
	.abs-hero-servicos, .abs-hero-sobre { min-height: 0; padding-top: 64px !important; padding-bottom: 64px !important; }
	.abs-hero-servicos { background: linear-gradient(180deg, rgba(11, 31, 68, .9), rgba(11, 31, 68, .94)), url("../img/fotos/servico-custeio.webp") center / cover no-repeat !important; }
	.abs-hero-sobre { background: linear-gradient(180deg, rgba(11, 31, 68, .9), rgba(11, 31, 68, .94)), url("../img/fotos/ambiente-reuniao.webp") center / cover no-repeat !important; }
}

/* Serviços: 11 cartões numerados em grade */
.abs-servicos-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: clamp(2.25rem, 4vw, 3rem) !important; }
.abs-servicos-grade > .abs-servico-card { margin: 0; }
.abs-servico-card { position: relative; overflow: hidden; padding: 28px 26px 30px; border: 1px solid #e4e7ec; border-radius: 22px; background: #fff; transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease; }
.abs-servico-card > * { margin: 0; }
.abs-servico-card > * + * { margin-block-start: 10px; }
.abs-servico-card__num { color: var(--abs-orange); font: 300 2.2rem/1 var(--abs-heading) !important; letter-spacing: -0.04em; margin-bottom: 8px !important; }
.abs-servico-card h3 { font-size: 1.12rem; }
.abs-servico-card p:not(.abs-servico-card__num) { color: var(--wp--preset--color--ink-soft); font-size: 0.93rem; line-height: 1.6; }
.abs-servico-card::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--abs-navy); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.abs-servico-card:hover { transform: translateY(-6px); box-shadow: 0 26px 44px -30px rgba(11, 31, 68, .4); }
.abs-servico-card:hover::after { transform: scaleX(1); }
@media (max-width: 1000px) { .abs-servicos-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .abs-servicos-grade { grid-template-columns: minmax(0, 1fr); gap: 14px; } }
@media (prefers-reduced-motion: reduce) { .abs-servico-card, .abs-servico-card::after { transition: none; } .abs-servico-card:hover { transform: none; } }

/* Faixa de fechamento (Serviços e Sobre) */
.abs-sec-cta { background-color: #0b1f44 !important; background-image: linear-gradient(90deg, rgba(11, 31, 68, .97) 0%, rgba(11, 31, 68, .9) 55%, rgba(11, 31, 68, .78) 100%), url("../img/fotos/escritorio-fundo.webp"); background-size: cover; background-position: center; }
.abs-sec-cta :is(h2, h2.wp-block-heading) { color: #fff; }
.abs-sec-cta .abs-eyebrow { color: var(--abs-laranja-no-azul); }
.abs-sec-cta .abs-lead { color: rgba(255, 255, 255, .76); }
.abs-sec-cta .abs-ctas { gap: 14px; }
.abs-sec-cta .abs-cta-primario { margin: 0; }
.abs-sec-cta .abs-cta-primario a { display: inline-flex; align-items: center; min-height: 54px; padding: 0 30px; border-radius: 999px; background: linear-gradient(148deg, #f7b04f 0%, #e3820a 70%); color: var(--abs-navy); font-weight: 600; font-size: 1rem; text-decoration: none; transition: transform .3s cubic-bezier(.2, .7, .2, 1); }
.abs-sec-cta .abs-cta-primario a:hover { transform: translateY(-2px); color: var(--abs-navy); }
.abs-sec-cta .abs-wa .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 28px !important; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px !important; background: transparent; color: #fff; font-weight: 500 !important; font-size: 1rem !important; transition: border-color .3s ease, background-color .3s ease; }
.abs-sec-cta .abs-wa .wp-block-button__link svg { display: block; width: 19px; height: 19px; }
.abs-sec-cta .abs-wa .wp-block-button__link:hover { border-color: #fff; background: rgba(255, 255, 255, .08); color: #fff; transform: none; box-shadow: none; }
.abs-sec-cta :where(a, button):focus-visible { outline-color: var(--abs-laranja-no-azul); }
@media (max-width: 781px) { .abs-sec-cta .abs-ctas { justify-content: flex-start !important; } }
@media (max-width: 560px) { .abs-sec-cta .abs-ctas { flex-direction: column; align-items: stretch !important; } .abs-sec-cta .abs-ctas > * { width: 100%; margin: 0; } .abs-sec-cta :is(.abs-cta-primario a, .abs-wa .wp-block-button__link) { box-sizing: border-box; width: 100%; justify-content: center; } }

/* Sobre: trajetória do Roberto */
.abs-sobre-roberto .abs-retrato img { border-radius: 22px; }
.abs-sobre-roberto .wp-block-column > * + * { margin-block-start: 18px; }
.abs-sobre-lista { list-style: none; padding: 0 !important; display: grid; gap: 10px; }
.abs-sobre-lista li { position: relative; padding-left: 32px; color: var(--wp--preset--color--ink); font-size: 0.97rem; line-height: 1.55; }
.abs-sobre-lista li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--abs-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5A33B' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 12px no-repeat; }
.abs-sobre-formacao { padding: 16px 20px; border-left: 3px solid var(--abs-orange); border-radius: 0 12px 12px 0; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--ink-soft); font-size: 0.92rem; line-height: 1.6; }
.abs-sobre-roberto .abs-contact--icones li { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 14px; max-width: 360px; padding: 12px 18px 12px 12px; border: 1px solid #e4e7ec; border-radius: 16px; background: #fff; }
.abs-sobre-roberto .abs-contact--icones .abs-ico { box-sizing: border-box; width: 44px; height: 44px; margin: 0; padding: 12px; border-radius: 50%; background: #0a66c2; color: #fff; }
.abs-sobre-roberto .abs-contact--icones a { color: var(--abs-navy); font-weight: 600; text-decoration: none; }
.abs-sobre-roberto .abs-contact--icones a::before { content: ""; position: absolute; inset: 0; border-radius: 16px; }
.abs-sobre-roberto .abs-contact--icones small { font-size: 0.78rem; color: #6b7686; opacity: 1; }

/* Sobre: missão, visão e valores em cartões com ícone de traço */
.abs-sobre-valores .abs-mv-card,
.abs-sobre-valores .abs-value { position: relative; padding: 96px 28px 30px !important; border: 1px solid #e4e7ec !important; border-radius: 22px; background: #fff var(--abs-mv-ico) 26px 30px / 44px no-repeat; height: 100%; box-sizing: border-box; }
.abs-sobre-valores .abs-value::before { display: none; }
.abs-sobre-valores .abs-mv-card > .abs-eyebrow { margin-top: 0 !important; }
.abs-sobre-valores .abs-mv-card p:not(.abs-eyebrow) { font-size: 1.05rem !important; color: var(--wp--preset--color--ink); }
.abs-sobre-valores .wp-block-columns + .abs-eyebrow { margin-top: clamp(2.5rem, 4vw, 3.25rem) !important; }
.abs-sobre-valores .abs-value h3 { font-size: 1.15rem; }
.abs-sobre-valores .abs-value p { color: var(--wp--preset--color--ink-soft); font-size: 0.95rem; }
.abs-sobre-valores .abs-mv-card:nth-child(1) { --abs-mv-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230B1F44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='22' cy='26' r='16'/%3E%3Ccircle cx='22' cy='26' r='9'/%3E%3Ccircle cx='22' cy='26' r='2.5' stroke='%23E3820A'/%3E%3Cpath d='m24 24 16-16M34 8h6v6' stroke='%23E3820A'/%3E%3C/svg%3E"); }
.abs-sobre-valores .abs-mv-card:nth-child(2) { --abs-mv-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230B1F44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 24s7-13 20-13 20 13 20 13-7 13-20 13S4 24 4 24z'/%3E%3Ccircle cx='24' cy='24' r='6' stroke='%23E3820A'/%3E%3C/svg%3E"); }
.abs-sobre-valores .wp-block-column:nth-child(1) > .abs-value { --abs-mv-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230B1F44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 40S7 30 7 18a8.5 8.5 0 0 1 17-2 8.5 8.5 0 0 1 17 2c0 12-17 22-17 22z'/%3E%3Cpath d='M17 19a4 4 0 0 1 4-4' stroke='%23E3820A'/%3E%3C/svg%3E"); }
.abs-sobre-valores .wp-block-column:nth-child(2) > .abs-value { --abs-mv-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230B1F44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 5 9 11v11c0 9.5 6.5 17.5 15 21 8.5-3.5 15-11.5 15-21V11z'/%3E%3Cpath d='m17 24 5 5 9-10' stroke='%23E3820A'/%3E%3C/svg%3E"); }
.abs-sobre-valores .wp-block-column:nth-child(3) > .abs-value { --abs-mv-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230B1F44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m24 6 5.5 11.2 12.3 1.8-8.9 8.7 2.1 12.3L24 34.2 13 40l2.1-12.3-8.9-8.7 12.3-1.8z'/%3E%3Ccircle cx='24' cy='24' r='2' stroke='%23E3820A'/%3E%3C/svg%3E"); }
/* 12º cartão de Serviços: chamada em azul */
.abs-servico-card--cta { display: flex; flex-direction: column; justify-content: center; background: #0b1f44 url("../img/fotos/escritorio-fundo.webp") center / cover; background-blend-mode: soft-light; border-color: transparent; }
.abs-servico-card--cta h3 { color: #fff; font-size: 1.2rem; }
.abs-servico-card--cta p:not(.abs-link) { color: rgba(255, 255, 255, .76) !important; }
.abs-servico-card--cta .abs-link { margin-top: 16px !important; }
.abs-servico-card--cta .abs-link a { color: #fff; text-decoration-color: var(--abs-orange); }
.abs-servico-card--cta::after { background: var(--abs-orange); }
/* Sobre: missão e visão com a mesma altura */
.abs-sobre-valores .wp-block-columns { align-items: stretch !important; }
.abs-sobre-valores .abs-mv-card { align-self: stretch; }
.abs-sobre-valores .abs-mv-card { height: auto !important; }

/* Números dos serviços: laranja escuro da marca (contraste suficiente sobre branco) */
.abs-servico-card__num { color: var(--wp--preset--color--accent-ink) !important; }

/* ---------- Foco: contorno só para quem navega pelo teclado (não aparece no clique do mouse) ---------- */
:where(a, button, [role="button"], input[type="submit"]):focus:not(:focus-visible) { outline: none !important; box-shadow: none; }

/* ---------- Menu do cabeçalho mais leve ---------- */
.abs-header .wp-block-navigation { color: rgba(255, 255, 255, .78); }
.abs-header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content { font-weight: 400; font-size: 0.93rem; letter-spacing: 0.005em; padding-block: 6px; }
.abs-header .wp-block-navigation .current-menu-item > a,
.abs-header .wp-block-navigation [aria-current="page"] { box-shadow: none !important; position: relative; color: #fff; }
.abs-header .wp-block-navigation [aria-current="page"]::after { content: ""; position: absolute; left: 50%; bottom: -6px; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: var(--abs-orange); }
.abs-header .wp-block-navigation .wp-block-navigation-item__content:focus-visible { outline: 2px solid var(--abs-laranja-no-azul); outline-offset: 4px; border-radius: 4px; }
.abs-header .wp-block-navigation__responsive-container.is-menu-open [aria-current="page"]::after { display: none; }

/* Menu aberto no celular: o núcleo força texto preto no painel; aqui o texto fica branco sobre o azul */
.abs-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open { color: #fff !important; }
.abs-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content.wp-block-navigation-item__content { color: #fff; font-size: 1.15rem; font-weight: 500; padding-block: 14px; }
.abs-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { color: var(--abs-laranja-no-azul); }

/* Entre 600 e 781 px o núcleo mostra o menu inteiro em linha (aperta e empilha os ícones);
   aqui o botão do menu aparece até 781 px, como no celular. */
@media (min-width: 600px) and (max-width: 781px) {
	.abs-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.abs-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.abs-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
}
/* Topos com foto recortada (Diagnóstico e Contato): o texto não encosta no Roberto em telas médias */
@media (min-width: 900px) and (max-width: 1180px) {
	.abs-hero-diagnostico .abs-lead, .abs-hero-contato .abs-lead { max-width: 44ch; }
	.abs-hero-diagnostico, .abs-hero-contato { background-position: calc(50% + 330px) 100%, 0 0 !important; }
}

/* =====================================================================
   Cotação do dólar e do euro (PTAX do Banco Central) na página Contato:
   tabela simples, como a de um banco, com a bandeira de cada moeda.
   ===================================================================== */
.abs-cotacoes { margin-top: 14px !important; }
.abs-cotacoes__tabela { width: 100%; margin: 0; border-collapse: collapse; border: 1px solid #e4e7ec; border-radius: 16px; border-spacing: 0; background: #fff; overflow: hidden; font-variant-numeric: tabular-nums; }
.abs-cotacoes__tabela th, .abs-cotacoes__tabela td { padding: 13px 16px; border: 0; text-align: right; white-space: nowrap; vertical-align: middle; }
.abs-cotacoes__tabela th:first-child { text-align: left; }
.abs-cotacoes__tabela thead th { padding-top: 11px; padding-bottom: 9px; border-bottom: 1px solid #e4e7ec; color: #5d6878; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.abs-cotacoes__tabela tbody tr + tr > * { border-top: 1px solid #eef0f3; }
.abs-cotacoes__tabela td { color: #3d4757; font-size: 0.95rem; }
.abs-cotacoes__tabela td.abs-cotacoes__venda { color: var(--abs-navy); font-weight: 600; }
.abs-cotacoes__moeda { display: inline-flex; align-items: center; gap: 12px; color: var(--abs-navy); font-weight: 600; font-size: 0.95rem; text-align: left; }
.abs-cotacoes__moeda small { display: block; margin-top: 2px; color: #6b7686; font-size: 0.72rem; font-weight: 500; letter-spacing: 0.04em; }
.abs-cotacoes__bandeira { display: block; flex: none; width: 30px; height: 20px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(11, 31, 68, .12); object-fit: cover; }
.abs-cotacoes__var { font-size: 0.86rem; font-weight: 600; }
.abs-cotacoes__var--sobe { color: #17663f; }
.abs-cotacoes__var--cai { color: #a8281c; }
.abs-cotacoes__var--igual { color: #5d6878; }
.abs-contato-cambio .abs-cotacoes__nota { margin: 10px 0 0; font-size: 0.8rem; line-height: 1.5; color: #5d6878; }
.abs-contato-cambio .abs-cotacoes__nota a { font-size: inherit; font-weight: 600; }
@media (max-width: 420px) {
	.abs-cotacoes__tabela th, .abs-cotacoes__tabela td { padding: 11px 8px; font-size: 0.86rem; }
	.abs-cotacoes__tabela th:first-child { padding-left: 12px; }
	.abs-cotacoes__tabela th:last-child, .abs-cotacoes__tabela td:last-child { padding-right: 12px; }
	.abs-cotacoes__tabela thead th { font-size: 0.64rem; letter-spacing: 0.02em; }
	.abs-cotacoes__moeda { gap: 8px; font-size: 0.88rem; }
	.abs-cotacoes__bandeira { width: 24px; height: 16px; }
	.abs-cotacoes__var { font-size: 0.8rem; }
}
@media (max-width: 360px) {
	.abs-cotacoes__tabela tr > :nth-child(2) { display: none; }
}
