/* =====================================================================
   RTDPJ Uberlândia — kit de design «OCR Cartorial» com o azul do logo (direção cravada
   pelo Oficial em 29/09/2026). Tokens e componentes seguem
   ~/RTD-Design-site/ocr-cartorial-design-kit (tokens.css / components.css); a única troca
   é de cor: verde-noite → azul-noite do logo, ação verde → azul do cartório. O dourado fica.
   Um único CSS, sem framework. Ordem: tokens · base · cabeçalho · botões · herói e consulta ·
   seções e cartões · painel de leitura (páginas) · formulários (CF7) · rodapé · impressão.
   ===================================================================== */

:root {
	color-scheme: light;

	/* Cores base (kit) */
	--ink: #18202b;
	--muted: #5f6a7a;          /* 5,0:1 no branco · 4,6:1 no papel */
	--paper: #eef1f4;
	--panel: #ffffff;
	--surface: #f7f9fb;
	--line: #d8dde4;
	--line-soft: #e8ebef;
	--field-border: #aeb6c2;

	/* Marca — o azul-noite no lugar do verde-noite */
	--night: #14274a;
	--night-2: #1b3560;
	--night-3: #1f3a6a;
	--night-line: #34497a;
	--gold: #c89a4b;
	--gold-light: #d8b574;
	--on-night: #ffffff;
	--on-night-muted: #b7c4d8;
	--on-night-nav: #c3cede;

	/* Ação — o azul do cartório no lugar do verde */
	--accent: #0f3f7f;         /* 8,6:1 com branco */
	--accent-hover: #0c356c;
	--accent-soft: #dbe5f2;
	--accent-tint: #f3f6fb;

	/* Estados (kit) */
	--warning: #d78921;
	--warning-text: #8b5a16;
	--warning-bg: #fff8eb;
	--danger: #a33b31;
	--danger-text: #822c24;
	--danger-bg: #fff4f2;
	--success-text: #0a5d4d;
	--success-bg: #dceee8;

	/* Tipografia (kit) */
	--font-sans: Inter, ui-sans-serif, system-ui, sans-serif;
	--font-serif: Georgia, "Times New Roman", serif;
	--font-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
	--text-xs: 0.75rem; --text-sm: 0.875rem; --text-md: 1rem; --text-lg: 1.125rem;
	--text-xl: 1.5rem; --text-2xl: 2rem; --text-3xl: 2.75rem;

	/* Forma e espaço (kit) */
	--radius-xs: 3px; --radius-sm: 5px; --radius-md: 7px;
	--header-rule: 3px;
	--focus-ring: 2px solid var(--accent);
	--space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
	--space-5: 20px; --space-6: 28px; --space-7: 40px; --space-8: 64px;
	--indicator-left: inset 4px 0 var(--accent);
	--indicator-gold: inset 4px 0 var(--gold);
}

/* ---------- Base ---------- */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scrollbar-color: var(--field-border) var(--paper); }
::-webkit-scrollbar { width: 12px; }
::-webkit-scrollbar-track { background: var(--paper); }
::-webkit-scrollbar-thumb { background: var(--field-border); border: 3px solid var(--paper); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: var(--muted); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-sans); font-size: var(--text-md); line-height: 1.6; font-variant-numeric: lining-nums tabular-nums; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2 { font-family: var(--font-serif); font-weight: 400; line-height: 1.2; color: var(--ink); }
h1 { font-size: var(--text-3xl); margin-bottom: var(--space-4); }
h2 { font-size: var(--text-xl); margin-bottom: var(--space-3); }
h3 { font-size: var(--text-lg); font-weight: 700; margin-bottom: var(--space-2); }
a { color: var(--accent); text-underline-offset: 0.15em; }
a:hover { color: var(--accent-hover); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
button, input, textarea, select { font: inherit; }
input, textarea, select { caret-color: var(--accent); accent-color: var(--accent); }
:root { --ease: cubic-bezier(0.2, 0.8, 0.2, 1); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }
img { max-width: 100%; height: auto; }
address { font-style: normal; }
::selection { background: var(--accent-soft); color: var(--ink); }
.rt-container { width: min(1120px, 100%); margin: 0 auto; padding: 0 var(--space-4); }
.rt-inteiro { white-space: nowrap; }

.rt-pular { position: absolute; left: var(--space-4); top: -4rem; z-index: 100; background: var(--gold); color: var(--night); padding: var(--space-2) var(--space-4); border-radius: var(--radius-sm); font-weight: 700; text-decoration: none; }
.rt-pular:focus { top: var(--space-2); }

/* Rótulo acima de títulos (kit: .eyebrow) */
.rt-rotulo { margin: 0 0 var(--space-1); color: var(--accent); font-size: var(--text-xs); font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }

/* ---------- Cabeçalho (kit: .site-header) ---------- */
.rt-cabecalho { background: var(--night); color: var(--on-night); border-bottom: var(--header-rule) solid var(--gold); }
.rt-cabecalho__linha { display: flex; align-items: center; gap: var(--space-5); min-height: 68px; }
.rt-marca { display: flex; align-items: center; gap: 11px; min-width: 0; color: inherit; text-decoration: none; }
.rt-marca__logo { width: clamp(14rem, 24vw, 19rem); }
.rt-marca__simbolo, .rt-marca__texto { display: none; }
.rt-nav { display: flex; margin-left: auto; }
.rt-nav a { display: flex; align-items: center; min-height: 68px; padding: 0 var(--space-4); border-bottom: var(--header-rule) solid transparent; margin-bottom: calc(-1 * var(--header-rule)); color: var(--on-night-nav); text-decoration: none; font-size: var(--text-sm); font-weight: 500; transition: background-color 180ms var(--ease), color 180ms var(--ease), border-color 180ms var(--ease); }
.rt-nav a:hover { background: var(--night-2); color: var(--on-night); }
.rt-nav a[aria-current="page"] { border-bottom-color: var(--gold-light); background: var(--night-2); color: var(--on-night); }
.rt-menu-botao { display: none; }
@media (max-width: 900px) {
	.rt-cabecalho__linha { flex-wrap: wrap; gap: 0 var(--space-3); padding-top: var(--space-2); padding-bottom: var(--space-2); min-height: 0; }
	.rt-marca__logo { display: none; }
	.rt-marca__simbolo { display: block; width: 3.25rem; }
	.rt-marca__texto { display: block; line-height: 1.15; }
	.rt-marca__texto strong { display: block; font-size: var(--text-md); }
	.rt-marca__texto span { display: block; color: var(--on-night-muted); font-size: var(--text-xs); }
	.rt-menu-botao { display: inline-flex; align-items: center; gap: var(--space-2); margin-left: auto; min-height: 44px; padding: 0 var(--space-3); background: transparent; color: var(--on-night); border: 1px solid var(--night-line); border-radius: var(--radius-sm); cursor: pointer; font-size: var(--text-sm); font-weight: 700; }
	.rt-menu-botao__fechar, .rt-menu-botao[aria-expanded="true"] .rt-menu-botao__abrir { display: none; }
	.rt-menu-botao[aria-expanded="true"] .rt-menu-botao__fechar { display: inline-flex; }
	.rt-menu-botao svg { color: var(--gold-light); }
	.rt-nav { display: none; width: 100%; margin: var(--space-2) 0 0; flex-direction: column; border-top: 1px solid var(--night-line); }
	.rt-nav.is-aberto { display: flex; }
	.rt-nav a { min-height: 48px; margin-bottom: 0; border-bottom: 1px solid var(--night-line); padding: 0 var(--space-2); }
	.rt-nav a[aria-current="page"] { box-shadow: var(--indicator-gold); border-bottom-color: var(--night-line); }
}

/* ---------- Botões (kit: .btn) ---------- */
.rt-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 44px; padding: 10px 18px; border: 1px solid var(--accent); border-radius: var(--radius-sm); font-weight: 700; text-decoration: none; cursor: pointer; line-height: 1.2; transition: background-color 180ms var(--ease), color 180ms var(--ease), transform 180ms var(--ease); }
.rt-btn:active { transform: translateY(1px); }
.rt-btn svg { flex: 0 0 auto; }
.rt-btn--primario { background: var(--accent); color: #fff; }
.rt-btn--primario:hover { background: var(--accent-hover); color: #fff; }
.rt-btn--secundario { background: var(--panel); color: var(--accent); }
.rt-btn--secundario:hover { background: var(--accent-tint); color: var(--accent-hover); }
.rt-acoes { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }

/* ---------- Herói e o cartão da consulta ---------- */
.rt-heroi { padding: var(--space-6) 0 var(--space-7); background: var(--panel); border-bottom: 1px solid var(--line); }
.rt-heroi__grade { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, 1fr); gap: var(--space-7); align-items: center; }
.rt-heroi h1 { max-width: 18ch; font-size: var(--text-2xl); margin-bottom: var(--space-3); }
@media (min-width: 1400px) { .rt-heroi h1 { font-size: var(--text-3xl); max-width: 16ch; } .rt-heroi { padding-top: var(--space-5); } }
.rt-heroi__apoio { color: var(--muted); font-size: var(--text-md); max-width: 36em; margin: 0; }

.rt-consulta { display: grid; gap: var(--space-2); padding: var(--space-4) var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--indicator-gold); }
.rt-consulta h2 { margin: 0; }
.rt-consulta__texto { margin: 0; color: var(--muted); font-size: var(--text-sm); }
.rt-campo { display: grid; gap: 6px; font-size: var(--text-sm); font-weight: 700; }
.rt-campo__entrada { width: 100%; padding: 11px 12px; border: 1px solid var(--field-border); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font-weight: 400; }
.rt-campo__entrada--controle { font-family: var(--font-mono); font-size: var(--text-xl); letter-spacing: 0.2em; padding: 8px 12px; }
.rt-campo__entrada--controle::placeholder { color: var(--muted); letter-spacing: 0.2em; }
.rt-campo__entrada:invalid:not(:placeholder-shown) { border-color: var(--danger); }
.rt-campo__ajuda { margin: 0; color: var(--muted); font-size: var(--text-sm); }
.rt-campo__ajuda.is-erro { color: var(--danger-text); }
/* As oito casas: instrumento — 8 dígitos, o último é o DV. */
.rt-casas { list-style: none; margin: -6px 0 0; padding: 0; display: grid; grid-template-columns: repeat(8, 1fr); gap: 4px; }
.rt-casas li { height: 18px; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--radius-xs) var(--radius-xs); font-family: var(--font-mono); font-size: var(--text-xs); line-height: 1; color: var(--muted); text-align: center; padding-top: 4px; }
.rt-casas__dv { border-color: var(--gold) !important; color: var(--warning-text) !important; font-weight: 700; }
.rt-consulta__botao { justify-self: start; }

/* ---------- Seções e cartões (kit: .section, .card) ---------- */
.rt-secao { padding: var(--space-7) 0; }
.rt-secao:first-of-type, #servicos { padding-top: var(--space-6); }
.rt-secao--faixa { background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.rt-secao__cabeca { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-5); padding-bottom: var(--space-3); margin-bottom: var(--space-4); border-bottom: 1px solid var(--line); }
.rt-secao__cabeca h2 { margin: 0; }
.rt-secao__nota { margin: var(--space-5) 0 0; color: var(--muted); font-size: var(--text-sm); }
.rt-cartoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-4); }
.rt-cartao-servico { display: grid; grid-template-rows: auto auto 1fr auto; gap: var(--space-2); align-content: stretch; padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--panel); color: var(--ink); text-decoration: none; transition: border-color 180ms var(--ease), background-color 180ms var(--ease); }
.rt-cartao-servico__acao { display: block; margin-top: var(--space-1); align-self: end; color: var(--accent); font-size: var(--text-sm); font-weight: 700; }
.rt-cartao-servico__acao svg { display: inline-block; vertical-align: -3px; margin-left: 2px; }
.rt-cartao-servico p { align-self: start; }
.rt-cartao-servico:hover { border-color: var(--field-border); background: var(--accent-tint); color: var(--ink); }
.rt-cartao-servico.is-destaque { box-shadow: var(--indicator-left); }
.rt-cartao-servico__icone { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--radius-sm); background: var(--accent-soft); color: var(--accent); }
.rt-cartao-servico h3 { margin: var(--space-1) 0 0; }
.rt-cartao-servico p { margin: 0; color: var(--muted); font-size: var(--text-sm); }

/* Os três caminhos de «Como registrar»: canais alternativos (sem ordem), cada um com o ícone do canal. */
.rt-caminhos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-4); }
.rt-caminhos li { display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; column-gap: var(--space-3); row-gap: var(--space-1); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--panel); }
.rt-caminhos__icone { grid-row: 1 / 3; display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--radius-sm); background: var(--accent-soft); color: var(--accent); }
.rt-caminhos strong { font-size: var(--text-lg); }
.rt-caminhos li > span:last-child { grid-column: 2; color: var(--muted); font-size: var(--text-sm); }

/* Atendimento: endereço + cartão de horário (kit: .hours) */
.rt-atendimento { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr); gap: var(--space-7); align-items: start; }
.rt-atendimento__endereco { font-size: var(--text-lg); }
.rt-horario { display: grid; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--indicator-left); }
.rt-horario__titulo { margin: 0; }
.rt-horario dl { display: grid; grid-template-columns: auto 1fr; gap: var(--space-2) var(--space-4); margin: 0; font-size: var(--text-sm); }
.rt-horario dt { color: var(--muted); }
.rt-horario dd { margin: 0; font-weight: 700; }
.rt-aviso { display: flex; gap: var(--space-2); padding: var(--space-3) var(--space-4); border-left: var(--header-rule) solid var(--accent); background: var(--accent-tint); font-size: var(--text-sm); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.rt-aviso svg { flex: 0 0 auto; color: var(--accent); }

@media (max-width: 700px) {
	.rt-heroi { padding: var(--space-7) 0; }
	.rt-heroi__grade, .rt-atendimento { grid-template-columns: 1fr; gap: var(--space-5); }
	.rt-heroi h1 { font-size: var(--text-2xl); }
	.rt-secao { padding: var(--space-7) 0; }
}

/* ---------- Painel de leitura: páginas internas (título + cartão branco) ---------- */
.rt-principal { padding-bottom: var(--space-8); }
.rt-pagina__cabeca { width: min(880px, 100%); margin: 0 auto; padding: var(--space-7) var(--space-4) var(--space-5); }
.rt-principal:has(.rt-cartao--largo) .rt-pagina__cabeca, .rt-principal:has(.rt-cartao .wpcf7) .rt-pagina__cabeca, .rt-principal:has(.rt-cartao table) .rt-pagina__cabeca { width: min(1120px, 100%); }
.rt-pagina__cabeca.is-layout-constrained > * { margin-left: 0 !important; margin-right: auto !important; max-width: none; }
.rt-pagina__titulo { margin: 0; max-width: 26ch; }
.rt-pagina__data { margin: var(--space-2) 0 0; color: var(--muted); font-size: var(--text-sm); }
.rt-cartao { width: min(880px, 100%); margin: 0 auto; padding: var(--space-6) var(--space-5) var(--space-7); background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-md); }
.rt-cartao--largo, .rt-cartao:has(.wpcf7), .rt-cartao:has(table), .rt-cartao:has(.wp-block-columns) { width: min(1120px, 100%); }
@media (min-width: 701px) { .rt-cartao { padding: var(--space-7) var(--space-8); } }
.rt-cartao--home { margin-top: var(--space-2); }
.rt-cartao.is-layout-constrained > * { margin-left: 0 !important; margin-right: auto !important; max-width: none; }
.rt-cartao .is-layout-constrained > * { margin-left: 0 !important; margin-right: auto !important; max-width: 36em; }
.rt-cartao .is-layout-constrained > .alignfull, .rt-cartao .is-layout-constrained > .wp-block-columns, .rt-cartao .is-layout-constrained > .wp-block-embed, .rt-cartao .is-layout-constrained > figure, .rt-cartao .is-layout-constrained > .wpcf7 { max-width: none; }
.rt-cartao .entry-content > :first-child, .rt-cartao > :first-child > :first-child { margin-top: 0; }
.rt-cartao h2 { margin-top: var(--space-6); }
.rt-cartao h3 { margin-top: var(--space-5); }
.rt-cartao h2 + p, .rt-cartao h3 + p, .rt-cartao h2 + ul, .rt-cartao h3 + ul, .rt-cartao h2 + ol, .rt-cartao h3 + ol { margin-top: 0; }
.rt-cartao p { margin-bottom: var(--space-4); }
.rt-cartao ul, .rt-cartao ol { padding-left: 1.4rem; margin: 0 0 var(--space-4); }
.rt-cartao li + li { margin-top: var(--space-1); }
.rt-cartao li::marker { color: var(--accent); }
.rt-cartao hr { border: 0; border-top: 1px solid var(--line); margin: var(--space-6) 0; }
.rt-cartao blockquote { margin: var(--space-5) 0; padding: var(--space-3) var(--space-4); border-left: var(--header-rule) solid var(--accent); background: var(--accent-tint); }
.rt-cartao figure { margin: var(--space-5) 0; }
.rt-cartao .wp-block-embed__wrapper { position: relative; aspect-ratio: 16 / 9; max-width: 56rem; }
.rt-cartao .wp-block-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.rt-cartao--largo p, .rt-cartao--largo table, .rt-cartao--largo figure { max-width: none; }
/* Lista de documentos: marcador quadrado (o selo do kit). */
.rt-cartao ul.is-style-documentos { list-style: none; padding-left: 0; }
.rt-cartao ul.is-style-documentos li { position: relative; padding-left: 1.5rem; }
.rt-cartao ul.is-style-documentos li::before { content: ""; position: absolute; left: 0.15rem; top: 0.55em; width: 8px; height: 8px; border-radius: var(--radius-xs); background: var(--accent); }
/* Tabelas (emolumentos) */
.rt-cartao table { width: 100%; border-collapse: collapse; margin: var(--space-4) 0; font-size: var(--text-sm); }
.rt-cartao th, .rt-cartao td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.rt-cartao th { font-weight: 800; font-size: var(--text-xs); text-transform: uppercase; color: var(--muted); border-bottom: 2px solid var(--line); }
.rt-cartao td:last-child, .rt-cartao th:last-child { text-align: right; }
.rt-cartao tbody tr:hover { background: var(--surface); }
/* Botões de bloco */
.rt-cartao .wp-block-buttons { gap: var(--space-3); margin: var(--space-4) 0; }
.rt-cartao .wp-block-button__link { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border: 1px solid var(--accent); border-radius: var(--radius-sm); background: var(--accent); color: #fff; font-weight: 700; text-decoration: none; }
.rt-cartao .wp-block-button__link:hover { background: var(--accent-hover); }
.rt-cartao .is-style-secundario .wp-block-button__link { background: var(--panel); color: var(--accent); }
.rt-cartao .is-style-secundario .wp-block-button__link:hover { background: var(--accent-tint); }
/* Grupos de estilo */
.rt-cartao .is-style-faixa { background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: var(--space-5) var(--space-5); margin: var(--space-6) calc(-1 * var(--space-5)); max-width: none !important; }
.is-style-painel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-md); padding: var(--space-5); }
/* Listas de resultados */
.rt-lista-posts { padding-left: 0; max-width: 36em; }
.rt-lista-posts > li, .rt-lista-posts > .wp-block-post { list-style: none; padding: var(--space-4) 0; border-bottom: 1px solid var(--line); }
.rt-lista-posts h2 { margin: 0 0 var(--space-1); font-size: var(--text-lg); }
.wp-block-query-pagination { margin-top: var(--space-5); display: flex; gap: var(--space-5); }

/* ---------- Formulários: Contact Form 7 e busca (kit: .field) ---------- */
.rt-cartao .wpcf7 { max-width: 36em; }
.rt-cartao .wpcf7 form { display: grid; gap: var(--space-4); }
.rt-cartao .wpcf7 p { margin: 0; }
.rt-cartao .wpcf7 label { display: block; font-size: var(--text-sm); font-weight: 700; }
.rt-cartao .wpcf7 br { display: none; }
.rt-cartao input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]), .rt-cartao textarea, .rt-cartao select { display: block; width: 100%; margin-top: 6px; padding: 11px 12px; border: 1px solid var(--field-border); border-radius: var(--radius-sm); background: #fff; color: var(--ink); font-weight: 400; }
.rt-cartao input::placeholder, .rt-cartao textarea::placeholder { color: var(--muted); }
.rt-cartao textarea { min-height: 8rem; resize: vertical; }
.rt-cartao .wpcf7-form-control-wrap:has(.wpcf7-radio), .rt-cartao .wpcf7-form-control-wrap:has(.wpcf7-checkbox) { display: block; margin-top: 6px; }
.rt-cartao .wpcf7-radio, .rt-cartao .wpcf7-checkbox { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); }
.rt-cartao .wpcf7-list-item { display: inline-flex; margin: 0; }
.rt-cartao .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 6px; font-weight: 400; font-size: var(--text-md); }
.rt-cartao input[type="radio"], .rt-cartao input[type="checkbox"] { width: 1.05rem; height: 1.05rem; margin: 0; accent-color: var(--accent); }
.rt-cartao input[type="submit"], .rt-cartao button[type="submit"], .rt-cartao .wp-block-search__button { cursor: pointer; justify-self: start; min-height: 44px; padding: 10px 18px; background: var(--accent); color: #fff; border: 1px solid var(--accent); border-radius: var(--radius-sm); font-weight: 700; }
.rt-cartao input[type="submit"]:hover, .rt-cartao .wp-block-search__button:hover { background: var(--accent-hover); }
.rt-cartao .wpcf7-spinner { margin-left: var(--space-3); }
.rt-cartao .wpcf7-not-valid { border-color: var(--danger) !important; }
.rt-cartao .wpcf7-not-valid-tip { display: block; margin-top: 4px; font-size: var(--text-sm); color: var(--danger-text); }
.rt-cartao .wpcf7-response-output { margin: var(--space-2) 0 0; padding: var(--space-3) var(--space-4); border-left: var(--header-rule) solid var(--accent); background: var(--accent-tint); font-size: var(--text-sm); }
.rt-cartao .wpcf7 form.sent .wpcf7-response-output { border-left-color: var(--success-text); background: var(--success-bg); color: var(--success-text); }
.rt-cartao .wpcf7 form.invalid .wpcf7-response-output, .rt-cartao .wpcf7 form.failed .wpcf7-response-output { border-left-color: var(--danger); background: var(--danger-bg); color: var(--danger-text); }
.rt-busca { max-width: 32rem; margin-top: var(--space-4); }
.rt-busca .wp-block-search__inside-wrapper { display: flex; gap: var(--space-2); border: 0; padding: 0; }
.rt-busca input { flex: 1; padding: 11px 12px; border: 1px solid var(--field-border); border-radius: var(--radius-sm); background: #fff; color: var(--ink); }
.rt-busca .wp-block-search__button { min-height: 44px; padding: 10px 18px; background: var(--accent); color: #fff; border: 1px solid var(--accent); border-radius: var(--radius-sm); font-weight: 700; cursor: pointer; }

/* ---------- Rodapé (kit: .site-footer) ---------- */
.rt-rodape { margin-top: var(--space-7); padding: var(--space-7) 0 var(--space-5); background: var(--night); color: var(--on-night-muted); font-size: var(--text-sm); border-top: var(--header-rule) solid var(--gold); }
.rt-rodape a { color: var(--gold-light); }
.rt-rodape a:hover { color: var(--on-night); }
.rt-rodape__grade { display: grid; grid-template-columns: 1fr 1fr 1.2fr minmax(19rem, 1.1fr); gap: var(--space-6) var(--space-6); }
.rt-rodape__coluna--marca img { width: 6.5rem; }
.rt-rodape__nome { margin: var(--space-3) 0 0; max-width: 26ch; color: var(--on-night); font-weight: 700; line-height: 1.35; }
.rt-rodape__titulo { margin: 0 0 var(--space-3); font-family: var(--font-sans); font-size: var(--text-xs); font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--gold-light); }
.rt-rodape p { margin: 0 0 var(--space-3); color: var(--on-night); }
.rt-rodape address { color: var(--on-night); }
.rt-rodape__cargo { color: var(--on-night-muted); }
.rt-rodape__lista { list-style: none; margin: 0; padding: 0; }
.rt-rodape__lista li + li { margin-top: var(--space-2); }
.rt-rodape__lista a { color: var(--on-night); text-decoration: none; border-bottom: 1px solid var(--night-line); white-space: nowrap; }
.rt-rodape__lista a:hover { color: var(--gold-light); border-bottom-color: var(--gold); }
.rt-rodape__fecho { margin: var(--space-6) auto 0; padding-top: var(--space-4); border-top: 1px solid var(--night-line); font-size: var(--text-xs); }
@media (max-width: 900px) { .rt-rodape__grade { grid-template-columns: 1fr 1fr; } .rt-rodape__lista a { white-space: normal; } }
@media (max-width: 560px) { .rt-rodape__grade { grid-template-columns: 1fr; } }

/* ---------- Impressão ---------- */
@media print {
	body { background: #fff; }
	.rt-cabecalho, .rt-rodape, .rt-menu-botao, .rt-casas { display: none; }
	.rt-cartao, .rt-heroi, .rt-consulta { border: 0; box-shadow: none; }
}
