/* ==========================================================================
   Tema Calderon — Advocacia Calderon
   Mobile-first. Público 55+: corpo 19px (mín. 18px pela especificação), alto contraste,
   alvos de toque ≥ 48px, sem animação desnecessária.
   ========================================================================== */

/* ---------- Fontes (self-hosted: sem chamada ao Google, melhor LCP e LGPD) ---------- */
@font-face { font-family: "Atkinson Hyperlegible"; src: url(../fonts/atkinson-400.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible"; src: url(../fonts/atkinson-400-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible"; src: url(../fonts/atkinson-700.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Literata"; src: url(../fonts/literata-600.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }

/* ---------- Tokens ---------- */
/* Paleta do manual de identidade visual (cores amostradas do próprio manual, set/2026).
   Contraste medido no fundo em que cada cor é usada; o verde fica só no WhatsApp. */
:root {
	--marinho: #041425;          /* Azul marinho profundo: menu, abertura, CTA, títulos (18,5:1 no branco) */
	--marfim: #dfd3c4;           /* Marfim: texto sobre o marinho (12,6:1), fundo de ícones, linhas */
	--champagne: #a3824f;        /* Champagne metalizado (o dourado da logo): filetes, ícones e foco — 3,2 a 5,4:1 no branco, marfim claro e marinho */
	--champagne-claro: #cbac81;  /* brilho do metalizado: destaque em texto sobre o marinho (8,6:1) */
	--chumbo: #4f4539;           /* Cinza chumbo suave: texto secundário (9,4:1 no branco) */

	/* derivadas das cores do manual (mesmo matiz) */
	--marinho-2: #0b2a4a;        /* hover */
	--marinho-escuro: #030e19;   /* rodapé */
	--marfim-claro: #f5f1eb;     /* fundo alternado */
	--champagne-texto: #7a5c2e;  /* texto pequeno em fundo claro (6,2:1 no branco; o champagne da logo dá 3,6:1) */

	--tinta: #18212c;            /* texto principal (16:1 no branco) */
	--suave: var(--chumbo);
	--papel: #ffffff;
	--areia: var(--marfim-claro);
	--linha: var(--marfim);
	--link: #0b3263;             /* marinho mais aberto, com sublinhado champagne (12,7:1) */
	--verde: #16733a;            /* WhatsApp (5,9:1 com texto branco) */
	--verde-escuro: #0f5a2c;
	--foco: var(--champagne);
	--erro: #a4161a;

	--f-corpo: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;
	--f-titulo: "Literata", Georgia, "Times New Roman", serif;

	--raio: 10px;
	--sombra: 0 1px 2px rgba(4, 20, 37, .08), 0 6px 20px rgba(4, 20, 37, .08);
	--largura: 1180px;
	--estreito: 780px;
	--topo-h: 68px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--topo-h) + 16px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
	margin: 0;
	font-family: var(--f-corpo);
	font-size: 1.1875rem;       /* 19px */
	line-height: 1.65;
	color: var(--tinta);
	background: var(--papel);
	-webkit-font-smoothing: antialiased;
	padding-bottom: 76px;       /* espaço da barra de WhatsApp no celular */
}
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
h1, h2, h3 { font-family: var(--f-titulo); font-weight: 600; line-height: 1.22; color: var(--marinho); margin: 0 0 .6em; letter-spacing: -.005em; }
h1 { font-size: clamp(1.9rem, 1.3rem + 2.6vw, 2.9rem); }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2.05rem); }
h3 { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.45rem); }
p, ul, ol { margin: 0 0 1.1em; }
a { color: var(--link); text-decoration-color: var(--champagne); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { text-decoration-color: currentColor; text-decoration-thickness: .14em; }
::selection { background: var(--champagne-claro); color: var(--marinho); }
:focus-visible { outline: 3px solid var(--foco); outline-offset: 3px; border-radius: 4px; }
strong { font-weight: 700; }
.ic { width: 1.25em; height: 1.25em; flex: none; vertical-align: -.22em; }

.container { width: 100%; max-width: var(--largura); margin: 0 auto; padding: 0 16px; }
.estreito { max-width: var(--estreito); }
.centro { text-align: center; }
.pular { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: var(--marinho); color: #fff; padding: 12px 18px; font-weight: 700; }
.pular:focus { left: 8px; }
main:focus { outline: none; }

/* ---------- Botões ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .55em;
	min-height: 52px; padding: .7em 1.25em;
	border: 2px solid transparent; border-radius: 999px;
	font: 700 1.0625rem/1.2 var(--f-corpo); text-decoration: none; text-align: center;
	cursor: pointer; transition: background-color .15s, color .15s, border-color .15s;
}
.btn-grande { min-height: 60px; font-size: 1.15rem; padding: .8em 1.6em; }
.btn-bloco { display: flex; width: 100%; }
.btn-wa { background: var(--verde); color: #fff; }
.btn-wa:hover { background: var(--verde-escuro); color: #fff; }
.btn-primario { background: var(--marinho); color: #fff; }
.btn-primario:hover { background: var(--marinho-2); color: #fff; }
.btn-contorno { background: transparent; color: var(--marinho); border-color: var(--marinho); }
.btn-contorno:hover { background: var(--marinho); color: #fff; }
.btn-contorno-claro, .cta .btn-contorno { background: transparent; color: var(--marfim-claro); border-color: var(--champagne-claro); }
.btn-contorno-claro:hover, .cta .btn-contorno:hover { background: var(--champagne-claro); color: var(--marinho); }
.btn .wa-txt { display: flex; flex-direction: column; line-height: 1.2; text-align: left; }
.btn .wa-s { font-weight: 400; font-size: .86em; opacity: .95; }
.btn .wa-s:empty { display: none; }
.link-seta { display: inline-flex; align-items: center; gap: .4em; font-weight: 700; }
.link-botao { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }

/* ---------- Topo ---------- */
.topo { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--champagne); }
.admin-bar .topo { top: 46px; }
@media (min-width: 783px) { .admin-bar .topo { top: 32px; } }
.topo-linha { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: var(--topo-h); }
.marca { display: flex; align-items: center; gap: 16px; text-decoration: none; color: var(--marinho); min-width: 0; }
.marca picture { min-width: 0; }
/* Logo horizontal (inc/marca.php): encolhe junto com o espaço livre ao lado do botão Menu. */
.marca-logo { width: auto; height: auto; max-width: 100%; max-height: 46px; }
.marca-area { display: none; }
.topo-acoes { display: flex; align-items: center; gap: 10px; flex: none; }
.topo-tel { display: none; align-items: center; gap: 8px; font-weight: 700; color: var(--marinho); text-decoration: none; font-size: 1.1rem; }
.topo-wa { display: none; }
.menu-botao {
	display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 14px;
	border: 2px solid var(--marinho); border-radius: 999px; background: #fff; color: var(--marinho);
	font: 700 1rem var(--f-corpo); cursor: pointer;
}
.menu-botao-icone { display: grid; gap: 4px; width: 20px; }
.menu-botao-icone span { display: block; height: 2.5px; background: currentColor; border-radius: 2px; transition: transform .2s, opacity .2s; }
.menu-botao[aria-expanded="true"] .menu-botao-icone span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.menu-botao[aria-expanded="true"] .menu-botao-icone span:nth-child(2) { opacity: 0; }
.menu-botao[aria-expanded="true"] .menu-botao-icone span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Menu no celular: lista vertical, itens altos e fonte grande (especificação, seção 2). */
.menu-principal { display: none; border-top: 1px solid var(--linha); background: #fff; max-height: calc(100vh - var(--topo-h)); overflow-y: auto; }
.menu-principal.aberto { display: block; }
.menu-principal .menu { list-style: none; margin: 0; padding: 8px 0; }
.menu-principal .menu li { border-bottom: 1px solid var(--areia); }
.menu-principal .menu a {
	display: flex; align-items: center; min-height: 58px; padding: 6px 4px;
	font-size: 1.25rem; font-weight: 700; color: var(--marinho); text-decoration: none;
}
.menu-principal .menu a[aria-current="page"], .menu-principal .current-menu-item > a, .menu-principal .current-page-ancestor > a { color: var(--champagne-texto); text-decoration: underline; text-underline-offset: .25em; }
.menu-contato { padding: 12px 0 20px; }

@media (min-width: 560px) {
	.topo-tel { display: inline-flex; }
}
@media (min-width: 900px) {
	.marca-area { display: block; padding-left: 16px; border-left: 1px solid var(--champagne-texto); font-size: .95rem; line-height: 1.3; color: var(--suave); white-space: nowrap; }
}
@media (min-width: 1100px) {
	:root { --topo-h: 84px; }
	.topo-wa { display: inline-flex; }
	.menu-botao { display: none; }
	.menu-principal { display: block; max-height: none; overflow: visible; background: var(--marinho); border: 0; }
	.menu-principal .menu { display: flex; justify-content: space-between; padding: 0; }
	.menu-principal .menu li { border: 0; }
	.menu-principal .menu a { min-height: 54px; padding: 0 6px; font-size: 1.05rem; color: var(--marfim-claro); }
	.menu-principal .menu a:hover { text-decoration: underline; text-decoration-color: var(--champagne-claro); text-underline-offset: .3em; }
	.menu-principal .menu a[aria-current="page"], .menu-principal .current-menu-item > a, .menu-principal .current-page-ancestor > a { color: var(--marfim-claro); text-decoration: underline; text-decoration-color: var(--champagne-claro); text-decoration-thickness: 3px; }
	.menu-contato { display: none; }
	.marca-logo { max-height: 60px; }
}

/* ---------- Hero (bloco 2) ---------- */
.hero { position: relative; background: radial-gradient(120% 100% at 85% 0%, #0b2240 0%, var(--marinho) 62%); color: var(--marfim-claro); overflow: hidden; isolation: isolate; }
.hero::before { /* textura geométrica discreta — nada de martelo, balança ou código de leis */
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .1;
	background-image: linear-gradient(135deg, var(--champagne-claro) 1px, transparent 1px), linear-gradient(45deg, var(--champagne-claro) 1px, transparent 1px);
	background-size: 44px 44px;
}
.hero-com-foto::before { display: none; }
.hero-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hero-com-foto::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(4, 20, 37, .92) 0%, rgba(4, 20, 37, .78) 55%, rgba(4, 20, 37, .45) 100%); }
.hero-conteudo { padding-top: 48px; padding-bottom: 52px; }
.hero h1 { color: var(--marfim-claro); max-width: 17ch; }
.sobretitulo { font-size: .95rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--champagne-claro); margin-bottom: .8em; }
/* Filete champagne antes do sobretítulo, como os filetes de "ADVOCACIA" na logo. Só onde o texto
   cabe numa linha: no celular ele já ocupa a largura toda e o filete o faria quebrar. */
@media (min-width: 640px) {
	.sobretitulo { display: flex; align-items: center; gap: 14px; }
	.sobretitulo::before { content: ""; flex: none; width: 36px; height: 1px; background: var(--champagne); }
}
.hero-lead { font-size: 1.22rem; max-width: 38em; color: var(--marfim); }
.hero-botoes { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }
@media (min-width: 640px) { .hero-botoes { flex-direction: row; flex-wrap: wrap; } }
@media (min-width: 900px) { .hero-conteudo { padding-top: 88px; padding-bottom: 96px; } }

/* Faixa fina (bloco 3) */
.faixa-15 { background: var(--areia); border-bottom: 1px solid var(--linha); }
.faixa-15 p { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding-top: 14px; padding-bottom: 14px; font-size: 1.05rem; color: var(--tinta); }
.faixa-15 .ic { color: var(--champagne-texto); margin-top: .2em; }

/* ---------- Seções ---------- */
.secao { padding: 52px 0; }
.secao-areia { background: var(--areia); }
.secao-lead { color: var(--suave); font-size: 1.1rem; }
@media (min-width: 900px) { .secao { padding: 76px 0; } }
.duas-colunas { display: grid; gap: 28px; }
@media (min-width: 900px) { .duas-colunas { grid-template-columns: 1fr 1fr; gap: 40px; } .alinhado { align-items: center; } }

/* Triagem (bloco 4): blocos grandes, empilhados no celular */
.triagem-lista { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 12px; }
@media (min-width: 700px) { .triagem-lista { grid-template-columns: 1fr 1fr; gap: 16px; } }
@media (min-width: 1100px) { .triagem-lista { grid-template-columns: repeat(3, 1fr); } }
.triagem-item {
	display: flex; align-items: center; gap: 16px; height: 100%; min-height: 84px; padding: 16px 18px;
	background: #fff; border: 2px solid var(--linha); border-radius: var(--raio);
	color: var(--tinta); text-decoration: none; font-size: 1.15rem; font-weight: 700; line-height: 1.35;
	transition: border-color .15s, box-shadow .15s;
}
.triagem-item:hover { border-color: var(--marinho); box-shadow: var(--sombra); }
.triagem-ic { display: grid; place-items: center; width: 52px; height: 52px; flex: none; border-radius: 50%; background: var(--marfim); color: var(--marinho); }
.triagem-ic .ic { width: 28px; height: 28px; }
.triagem-txt { flex: 1; }
.triagem-seta { color: var(--champagne-texto); }

/* Destaques (blocos 5 e 6) */
.destaque { background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); padding: 28px 22px; box-shadow: var(--sombra); }
.destaque h2 { font-size: clamp(1.35rem, 1.15rem + .9vw, 1.75rem); }
.destaque-ic { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--marinho); color: var(--champagne-claro); margin-bottom: 14px; }
.destaque-ic .ic { width: 28px; height: 28px; }
.destaque-linha { display: flex; gap: 18px; align-items: flex-start; margin: 28px 0; }
.destaque-linha h2 { margin-top: .2em; }

/* Passos (bloco 7) */
.passos { list-style: none; counter-reset: passo; padding: 0; margin: 28px 0; display: grid; gap: 18px; }
@media (min-width: 900px) { .passos { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.passos li { counter-increment: passo; position: relative; padding: 26px 22px 22px; border-top: 4px solid var(--champagne); background: var(--areia); border-radius: 0 0 var(--raio) var(--raio); }
.passos li::before { content: counter(passo); display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 12px; border-radius: 50%; background: var(--marinho); color: var(--champagne-claro); font: 600 1.35rem/1 var(--f-titulo); }
.passos p { margin: 0; }
.secao-areia .passos li { background: #fff; }

/* Advogado e equipe (bloco 8, /equipe/) */
.advogado { display: grid; gap: 24px; align-items: start; margin-top: 12px; }
@media (min-width: 760px) { .advogado { grid-template-columns: 260px 1fr; gap: 40px; } }
.advogado-foto img { border-radius: var(--raio); width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.avatar-ini { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--marinho); color: var(--champagne-claro); font: 600 1.4rem/1 var(--f-titulo); }
.avatar-grande { width: 100%; max-width: 260px; height: auto; aspect-ratio: 4 / 5; border-radius: var(--raio); font-size: 4rem; background: linear-gradient(160deg, var(--marinho) 0%, var(--marinho-2) 100%); }
.advogado-nome { margin-bottom: .35em; }
.advogado-dados { list-style: none; padding: 0; margin: 0 0 1.1em; color: var(--suave); }
.equipe-apoio { margin: 36px 0 28px; padding: 24px 22px; background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); }
.secao .equipe-apoio:only-child { margin-top: 0; }
.equipe-apoio ul { list-style: none; padding: 0; margin: 0; }
.equipe-apoio li { padding: 10px 0; border-bottom: 1px solid var(--areia); }
.equipe-apoio li:last-child { border: 0; }

/* Cidades (bloco 9) */
.cidades { list-style: none; padding: 0; margin: 20px 0; columns: 2; column-gap: 24px; }
@media (min-width: 700px) { .cidades { columns: 3; } }
@media (min-width: 1000px) { .cidades { columns: 4; } }
.cidades li { break-inside: avoid; padding: 6px 0; }
.cidades span { color: var(--suave); }
.nota-video { display: flex; gap: 10px; align-items: center; font-weight: 700; color: var(--marinho); }

/* Mapa sob demanda (bloco 10) */
.mapa { position: relative; min-height: 320px; border-radius: var(--raio); overflow: hidden; border: 1px solid var(--linha); background: var(--marfim-claro); }
.mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mapa-fachada { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 320px; padding: 24px; text-align: center;
	background-image: radial-gradient(circle at 30% 30%, rgba(255,255,255,.7) 0, transparent 40%), repeating-linear-gradient(0deg, transparent 0 38px, rgba(4,20,37,.06) 38px 40px), repeating-linear-gradient(90deg, transparent 0 38px, rgba(4,20,37,.06) 38px 40px); }
.mapa-fachada > .ic { width: 44px; height: 44px; color: var(--champagne-texto); }
.mapa-end { font-weight: 700; margin: 0; }
.mapa-aviso { font-size: .9rem; color: var(--suave); margin: 0; }
.end-grande { font-size: 1.2rem; font-weight: 700; }

/* FAQ (bloco 11 e páginas) */
.faq, .conteudo .wp-block-details, .conteudo details { margin: 0; }
details.wp-block-details, .conteudo details {
	border: 1px solid var(--linha); border-radius: var(--raio); background: #fff; margin-bottom: 12px;
}
details > summary {
	list-style: none; cursor: pointer; position: relative;
	padding: 18px 56px 18px 20px; min-height: 60px;
	font-weight: 700; font-size: 1.12rem; color: var(--marinho); line-height: 1.4;
}
details > summary::-webkit-details-marker { display: none; }
details > summary::after {
	content: ""; position: absolute; right: 20px; top: 50%; width: 12px; height: 12px; margin-top: -8px;
	border-right: 3px solid var(--marinho); border-bottom: 3px solid var(--marinho); transform: rotate(45deg); transition: transform .2s;
}
details[open] > summary::after { transform: rotate(-135deg); margin-top: -2px; }
details > :not(summary) { padding: 0 20px; }
details > :last-child { padding-bottom: 18px; margin-bottom: 0; }
details[open] > summary { border-bottom: 1px solid var(--areia); margin-bottom: 14px; }

/* Cards */
.grade-cards { display: grid; gap: 20px; margin: 24px 0; }
@media (min-width: 700px) { .grade-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .grade-cards { grid-template-columns: repeat(3, 1fr); } }
.card { background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.card-img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.card-corpo { padding: 18px 20px 20px; }
.card-cat { font-size: .9rem; font-weight: 700; color: var(--champagne-texto); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .4em; }
.card-titulo { font-size: 1.25rem; margin-bottom: .4em; }
.card-titulo a { color: var(--marinho); text-decoration: none; }
.card-titulo a:hover { text-decoration: underline; }
.card-resumo { color: var(--suave); }
.card-meta { font-size: .95rem; color: var(--suave); margin: 0; }

.subpaginas { margin: 32px 0 40px; }
.grade-sub { display: grid; gap: 14px; }
@media (min-width: 700px) { .grade-sub { grid-template-columns: repeat(2, 1fr); } }
.card-pagina { display: flex; flex-direction: column; gap: 6px; padding: 20px; text-decoration: none; color: var(--tinta); border: 2px solid var(--linha); transition: border-color .15s, box-shadow .15s; }
.card-pagina:hover { border-color: var(--marinho); box-shadow: var(--sombra); }
.card-pagina .card-titulo { font-family: var(--f-titulo); font-weight: 600; font-size: 1.25rem; color: var(--marinho); margin: 0; }
.card-pagina .card-resumo { font-size: 1.02rem; }
.card-pagina .card-img { display: block; margin: -20px -20px 6px; }
.card-pagina .card-img img { display: block; width: 100%; height: auto; }
.card-mais { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; font-weight: 700; color: var(--link); }

/* ---------- Páginas internas ---------- */
.pagina-topo { background: var(--areia); border-bottom: 1px solid var(--linha); padding: 22px 0 28px; }
.pagina-topo h1 { margin: .35em 0 .3em; max-width: 26ch; }
.pagina-intro { font-size: 1.15rem; color: var(--suave); max-width: 40em; }
.assinatura, .artigo-meta { color: var(--suave); font-size: 1rem; margin: 0; }
.trilha ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 0; padding: 0; margin: 0; font-size: 1rem; }
.trilha li { display: inline-flex; align-items: center; color: var(--suave); }
.trilha li + li::before { content: "›"; margin: 0 10px; color: var(--suave); }
.trilha a { color: var(--link); }

.conteudo { padding-top: 36px; padding-bottom: 24px; }
.conteudo h2 { margin-top: 1.6em; }
.conteudo h3 { margin-top: 1.3em; }
.conteudo > :first-child { margin-top: 0; }
.conteudo ul, .conteudo ol { padding-left: 1.4em; }
.conteudo li { margin-bottom: .45em; }
.conteudo li::marker { color: var(--champagne-texto); font-weight: 700; }
.conteudo ol > li::marker { font-family: var(--f-titulo); }
.conteudo .is-style-checklist, .conteudo ul.checklist { list-style: none; padding-left: 0; }
.conteudo .is-style-checklist li, .conteudo ul.checklist li { position: relative; padding-left: 2.1em; }
.conteudo .is-style-checklist li::before, .conteudo ul.checklist li::before {
	content: ""; position: absolute; left: 0; top: .25em; width: 1.3em; height: 1.3em; border-radius: 5px; border: 2px solid var(--champagne);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23041425' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 80% no-repeat;
}
.conteudo .is-style-nota, .conteudo p.nota { background: var(--marfim-claro); border-left: 5px solid var(--champagne); padding: 16px 18px; border-radius: 0 var(--raio) var(--raio) 0; }
.conteudo blockquote { margin: 1.5em 0; padding-left: 18px; border-left: 4px solid var(--champagne); font-style: italic; }
.conteudo table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: 1.05rem; display: block; overflow-x: auto; }
.conteudo th, .conteudo td { border: 1px solid var(--linha); padding: 10px 12px; text-align: left; }
.conteudo th { background: var(--areia); }
.conteudo img { border-radius: var(--raio); }
.pagina-foto { margin: 1.6em 0 1.8em; }
.pagina-foto img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; background: var(--areia); }
.pagina-foto figcaption, .cidade-foto figcaption { margin-top: 8px; font-size: .9rem; color: var(--suave); }
.pagina-foto figcaption a, .cidade-foto figcaption a { color: var(--suave); }

.leia-tambem { margin: 36px 0 12px; }
.areas-lista { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 28px; }
.areas-lista a, .chip { display: inline-flex; align-items: center; min-height: 48px; padding: 8px 18px; border: 2px solid var(--marinho); border-radius: 999px; font-weight: 700; text-decoration: none; color: var(--marinho); background: #fff; }
.areas-lista a:hover, .chip:hover { background: var(--marinho); color: #fff; }
.filtros { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 8px; }
.vazio { padding: 28px 0; }

/* Cidade */
.cidade-foto { margin: 24px auto 0; }
.cidade-foto img { border-radius: var(--raio); width: 100%; max-height: 460px; object-fit: cover; }
.cidade-fatos { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 12px; }
.cidade-fatos li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; background: var(--areia); border-radius: var(--raio); }
.cidade-fatos .ic { color: var(--champagne-texto); margin-top: .2em; }
.cidade-end { margin: 20px 0 36px; }
.cidade-end img { margin: 16px 0; border-radius: var(--raio); }
.areas { margin: 28px 0; }
.depoimento { margin: 28px 0; padding: 24px; background: var(--areia); border-radius: var(--raio); }
.depoimento blockquote { margin: 0; font-size: 1.15rem; }
.depoimento figcaption { margin-top: 10px; font-weight: 700; }

/* Contato */
.contato-grade { display: grid; gap: 32px; }
@media (min-width: 900px) { .contato-grade { grid-template-columns: 1fr 1fr; gap: 48px; } }
.contato-canais { display: grid; gap: 14px; align-content: start; }
.contato-dados { list-style: none; padding: 0; margin: 10px 0 0; }
.contato-dados li { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--areia); }
.contato-dados .ic { color: var(--champagne-texto); margin-top: .2em; }

/* Mapa do site */
.mapa-site ul ul { margin-top: .4em; }
.colunas { columns: 2; }

/* ---------- Blog ---------- */
.artigo-img { margin: 28px 0 0; }
.artigo-img img { border-radius: var(--raio); width: 100%; }
.sumario { margin: 28px 0 0; }
.sumario details { background: var(--areia); border-color: var(--linha); }
.sumario ol { margin: 0; padding: 0 20px 18px 44px !important; }
.sumario li { margin-bottom: .35em; }
.box-autor { display: flex; gap: 18px; align-items: flex-start; margin: 36px 0 24px; padding: 22px; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--areia); }
.box-autor-foto img { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; }
.box-autor p { margin: 0 0 .25em; }
.box-autor-rotulo { font-size: .9rem; text-transform: uppercase; letter-spacing: .06em; color: var(--suave); }
.box-autor-nome { font: 600 1.25rem/1.3 var(--f-titulo); }
.box-autor-cargo, .box-autor-rev { color: var(--suave); }
.box-autor-rev { margin-top: .6em !important; }
.compartilhar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 24px 0; }
.compartilhar-rotulo { width: 100%; margin: 0; font-weight: 700; }
.paginacao .nav-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 40px; }
.paginacao .page-numbers { display: inline-grid; place-items: center; min-width: 48px; min-height: 48px; padding: 0 12px; border: 2px solid var(--linha); border-radius: var(--raio); text-decoration: none; font-weight: 700; }
.paginacao .current { background: var(--marinho); color: #fff; border-color: var(--marinho); }

/* Busca */
.busca { margin: 24px 0; }
.busca label { display: block; font-weight: 700; margin-bottom: 6px; }
.busca-linha { display: flex; gap: 10px; flex-wrap: wrap; }
.busca input[type="search"] { flex: 1 1 240px; }

/* ---------- Formulário ---------- */
input[type="text"], input[type="tel"], input[type="email"], input[type="search"], textarea {
	width: 100%; min-height: 54px; padding: 12px 14px;
	border: 2px solid #857a6e; border-radius: 8px; background: #fff; color: var(--tinta); /* chumbo aberto: 4,2:1 no branco */
	font: 400 1.125rem/1.4 var(--f-corpo);
}
textarea { min-height: 130px; resize: vertical; }
input:focus, textarea:focus { border-color: var(--marinho); outline: 3px solid var(--foco); outline-offset: 1px; }
.form-contato { display: grid; gap: 16px; }
.campo label { display: block; font-weight: 700; margin-bottom: 6px; }
.campo small { display: block; color: var(--suave); font-size: .98rem; margin-top: 6px; }
.campo-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.campo-check { display: flex; gap: 12px; align-items: flex-start; }
.campo-check input { width: 28px; height: 28px; margin: 2px 0 0; flex: none; accent-color: var(--marinho); }
.campo-check label { font-weight: 400; font-size: 1rem; margin: 0; }
.form-msg { padding: 14px 16px; border-radius: 8px; font-weight: 700; margin: 0; }
.form-ok { background: #e3f3e8; color: #0d4d25; border: 2px solid var(--verde); }
.form-erro { background: #fbe9e9; color: var(--erro); border: 2px solid var(--erro); }

/* ---------- CTA ---------- */
.cta { background: var(--marinho); color: var(--marfim-claro); padding: 52px 0; }
.cta h2, .cta h3 { color: var(--marfim-claro); }
.cta a:not(.btn) { color: var(--marfim-claro); }
.cta-grade { display: grid; gap: 32px; }
@media (min-width: 960px) { .cta-grade { grid-template-columns: 1fr 1fr; gap: 56px; } .cta { padding: 76px 0; } }
.cta-texto p { color: var(--marfim); }
.cta-horario { display: flex; gap: 10px; align-items: flex-start; font-size: 1.05rem; }
.cta-horario .ic { color: var(--champagne-claro); margin-top: .2em; }
.cta-botoes { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
@media (min-width: 560px) { .cta-botoes { flex-direction: row; flex-wrap: wrap; } }
.cta-form { background: #fff; color: var(--tinta); border-radius: var(--raio); padding: 24px 20px; }
.cta-form-titulo { color: var(--marinho) !important; font-size: 1.35rem; }
.cta-form a { color: var(--link) !important; }
.contato-grade .cta-form { border: 1px solid var(--linha); box-shadow: var(--sombra); }

/* ---------- Rodapé (bloco 13) ---------- */
.rodape { background: var(--marinho-escuro); color: var(--marfim); padding: 44px 0 28px; font-size: 1.05rem; border-top: 1px solid var(--champagne); }
.rodape a { color: var(--marfim-claro); }
.rodape-15 { display: flex; gap: 10px; align-items: flex-start; padding-bottom: 24px; margin-bottom: 28px; border-bottom: 1px solid rgba(203, 172, 129, .3); font-weight: 700; color: var(--marfim-claro); }
.rodape-15 .ic { color: var(--champagne-claro); margin-top: .2em; }
.rodape-grade { display: grid; gap: 28px; }
@media (min-width: 800px) { .rodape-grade { grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; } }
.rodape-nap p { margin: 0 0 .45em; }
.rodape-nap .rodape-marca { margin: 0 0 1.2em; }
.rodape-logo { width: 240px; max-width: 100%; height: auto; }
.rodape-titulo { font-weight: 700; color: var(--champagne-claro); text-transform: uppercase; letter-spacing: .06em; font-size: .95rem; margin-bottom: .6em; }
.rodape-links ul { list-style: none; padding: 0; margin: 0; }
.rodape-links li a { display: inline-block; padding: 7px 0; }
.rodape-legal { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 32px; padding-top: 22px; border-top: 1px solid rgba(203, 172, 129, .3); }
.rodape-legal .link-botao { color: var(--marfim-claro); }
.rodape-aviso { font-size: .95rem; color: #b3a898; margin-top: 18px; } /* marfim apagado: 8,3:1 no fundo do rodapé */
.rodape-copy { font-size: .95rem; color: #b3a898; margin: 0; }

/* ---------- WhatsApp flutuante (três estados) ---------- */
.wa-flutuante { position: fixed; z-index: 60; left: 0; right: 0; bottom: 0; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); border-top: 1px solid var(--linha); box-shadow: 0 -4px 16px rgba(0,0,0,.08); }
.wa-flutuante-btn { width: 100%; min-height: 58px; border-radius: 12px; font-size: 1.08rem; }
@media (min-width: 1100px) {
	body { padding-bottom: 0; }
	.wa-flutuante { left: auto; right: 24px; bottom: 24px; padding: 0; background: none; border: 0; box-shadow: none; }
	.wa-flutuante-btn { width: auto; max-width: 380px; border-radius: 999px; box-shadow: 0 8px 24px rgba(0,0,0,.22); padding: .75em 1.4em; }
}

/* ---------- Aviso de cookies ---------- */
.cookies { position: fixed; z-index: 70; left: 10px; right: 10px; bottom: 86px; }
.cookies[hidden] { display: none; }
.cookies-caixa { max-width: 560px; margin: 0 auto; background: #fff; border: 2px solid var(--marinho); border-radius: var(--raio); padding: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.2); font-size: 1rem; }
.cookies-caixa p { margin-bottom: 12px; }
.cookies-botoes { display: flex; flex-wrap: wrap; gap: 10px; }
@media (min-width: 1100px) { .cookies { left: 24px; right: auto; bottom: 24px; width: 520px; } }

/* ---------- Impressão ---------- */
@media print {
	.topo, .menu-principal, .wa-flutuante, .cookies, .cta, .rodape-links, .compartilhar { display: none !important; }
	body { padding: 0; font-size: 12pt; }
	details { border: 0; } details > :not(summary) { display: block; }
}
