/*
Theme Name: MGS Tema
Description: Tema do meuguiadesaude.com.br — apresentação apenas. Requer o plugin mgs-diretorio.
Version: 0.2.4
Requires PHP: 8.1
Text Domain: mgs
*/

/* ---------- Tokens ---------- */
:root {
	--fonte-a: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fonte-b-titulo: "Lora", Georgia, serif;
	--fonte-b-texto: "Inter", system-ui, sans-serif;

	/* Paleta oficial (manual da marca): Petróleo #004B50, Turquesa #009E90, Âmbar #D98B0B, Branco, Marfim #FBF7F0.
	   Turquesa e Âmbar não têm contraste para texto pequeno: só ícones, detalhes e fundos. */
	--petroleo: #004B50;
	--turquesa: #009E90;
	--ambar: #D98B0B;
	--marfim: #FBF7F0;

	--fundo: var(--marfim);
	--cartao: #FFFFFF;
	--borda: #E4E2DA;
	--raio: 18px;
	--pad: 28px;

	--texto: #12262A;
	--texto-2: #33474B;
	--texto-3: #50625F;

	--a-primaria: var(--petroleo);
	--a-primaria-escura: #00363A;
	--a-tint: #E0F2EF;
	--a-avatar: #D4ECE8;

	--b-marinho: #00363A;
	--b-apoio: #005F64;
	--b-ouro: var(--ambar);
	--b-fundo: #F3EEE4;

	--botao-alt: 48px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--fundo); color: var(--texto); font: 400 16px/1.6 var(--fonte-a); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--a-primaria); }
a:hover { color: var(--a-primaria-escura); }
:focus-visible { outline: 3px solid var(--b-ouro); outline-offset: 2px; }
h1, h2, h3, h4 { line-height: 1.25; margin: 0 0 .5em; font-weight: 700; }
h1 { font-size: clamp(1.6rem, 4vw, 2.2rem); font-weight: 800; }
h2 { font-size: 1.25rem; }
h3 { font-size: 1.05rem; }
h4 { font-size: .95rem; margin-top: 1.25em; color: var(--texto-2); }
address { font-style: normal; color: var(--texto-2); }
[hidden] { display: none !important; }

.container { width: min(1120px, 100% - 32px); margin-inline: auto; }
.secao { padding-block: 28px 64px; }
.pular { position: absolute; left: -9999px; }
.pular:focus { left: 16px; top: 16px; background: #fff; padding: 8px 12px; z-index: 10; }

.cartao { background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); padding: var(--pad); margin-bottom: 20px; }
.texto p { margin: 0 0 1em; color: var(--texto-2); }
.aviso, .confirmado, .fontes { font-size: .875rem; color: var(--texto-3); }

/* ---------- Topo / rodapé ---------- */
.topo { background: var(--cartao); border-bottom: 1px solid var(--borda); }
.topo__linha { display: flex; justify-content: space-between; align-items: center; min-height: 64px; gap: 16px; }
.topo__linha { min-height: 76px; }
.marca { display: block; flex: none; }
.marca img { height: 52px; width: auto; }
.topo__nav { display: flex; align-items: center; gap: 28px; }
.topo__link { font-weight: 600; text-decoration: none; color: var(--petroleo); }
.topo__link:hover { color: var(--turquesa); }
.topo__botao { min-height: 44px; padding-inline: 18px; border-radius: 10px; }
@media (max-width: 860px) { .topo__link { display: none; } .marca img { height: 44px; } .topo__botao { min-height: 40px; padding-inline: 14px; font-size: .9rem; } }
.rodape { background: var(--b-marinho); color: #D5DCE6; padding: 32px 0 96px; font-size: .9rem; }
.rodape a { color: #fff; }
.rodape__logo { height: 64px; width: auto; margin-bottom: 12px; }
.rodape__aviso { max-width: 70ch; }

/* ---------- Botões (altura mínima 44–52px, contraste AA) ---------- */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: .4em; min-height: var(--botao-alt); padding: 0 20px; border-radius: 12px; border: 2px solid transparent; font: 700 1rem/1 var(--fonte-a); text-decoration: none; cursor: pointer; }
.botao--primario { background: var(--a-primaria); color: #fff; }
.botao--primario:hover { background: var(--a-primaria-escura); color: #fff; }
.botao--secundario { background: var(--cartao); color: var(--a-primaria); border-color: var(--a-primaria); }
.botao--ouro { background: var(--b-ouro); color: var(--b-marinho); }
.botao--ouro:hover { background: #E9A62A; color: var(--b-marinho); }
.botao--texto { min-height: 44px; padding: 0 8px; color: var(--a-primaria); background: none; }
.botao--largo { width: 100%; }
.tel { font-weight: 500; }

/* ---------- Chips ---------- */
.chips { list-style: none; padding: 0; margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.chip { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 12px; border-radius: 999px; background: var(--a-tint); color: var(--texto); font-size: .875rem; font-weight: 500; }
.chip--link { text-decoration: none; min-height: 40px; }
.chip--link:hover { background: var(--a-avatar); }
.chip--ativo { background: var(--a-primaria); color: #fff; }
.chips--mini .chip { min-height: 26px; font-size: .8rem; }
.chips--info .chip { background: var(--fundo); color: var(--texto-2); }

/* ---------- Avatar ---------- */
.avatar { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex: none; }
.avatar--iniciais { display: inline-flex; align-items: center; justify-content: center; background: var(--a-avatar); color: var(--a-primaria); font-weight: 800; font-size: 1.4rem; }
.avatar--grande { width: 112px; height: 112px; font-size: 2rem; }
.avatar--card { width: 64px; height: 64px; font-size: 1.2rem; }
.avatar--b { width: 148px; height: 148px; font-size: 2.6rem; background: var(--b-apoio); color: var(--b-ouro); border: 4px solid var(--b-ouro); }

/* ---------- Migalhas ---------- */
.migalhas ol { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 6px; font-size: .875rem; color: var(--texto-3); }
.migalhas li + li::before { content: "›"; margin-right: 6px; }

/* ---------- Home ---------- */
.hero { background: var(--a-primaria); color: #fff; padding: 48px 0 56px; }
.hero h1 { max-width: 22ch; }
.hero__sub { font-size: 1.1rem; color: var(--a-tint); }
.busca { display: grid; gap: 12px; background: var(--cartao); color: var(--texto); padding: 20px; border-radius: var(--raio); margin-top: 24px; }
.busca label span { display: block; font-size: .85rem; font-weight: 600; margin-bottom: 4px; color: var(--texto-2); }
.busca select { width: 100%; min-height: var(--botao-alt); border: 1px solid var(--borda); border-radius: 12px; padding: 0 12px; font: inherit; background: #fff; }
.busca .botao { align-self: end; }
@media (min-width: 800px) { .busca { grid-template-columns: 2fr 1.4fr 1.4fr auto; } }
.bloco { margin-bottom: 36px; }
.grade-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.grade-links a, .grade-links span { display: flex; align-items: center; min-height: 48px; padding: 8px 16px; background: var(--cartao); border: 1px solid var(--borda); border-radius: 12px; text-decoration: none; font-weight: 600; }
.grade-links span { color: var(--texto-3); font-weight: 500; }
.chamada-prof { background: var(--a-tint); border-color: var(--a-avatar); }

/* ---------- Listagem ---------- */
.listagem__total { color: var(--texto-3); margin-top: -4px; }
.filtros { margin: 16px 0 24px; }
.filtros__rotulo { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-3); margin: 8px 0 6px; }
.lista { display: grid; gap: 16px; margin-bottom: 24px; }
@media (min-width: 800px) { .lista { grid-template-columns: 1fr 1fr; } .lista--3 { grid-template-columns: repeat(3, 1fr); } }
.card { position: relative; background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); padding: 24px; }
.card__topo { display: flex; gap: 16px; align-items: flex-start; }
.card__nome { margin: 0 0 2px; font-size: 1.1rem; }
.card__nome a { color: inherit; text-decoration: none; }
.card__nome a:hover { text-decoration: underline; }
.card__registro, .card__esp, .card__local { margin: 0; font-size: .9rem; color: var(--texto-2); }
.card__esp { font-weight: 600; }
.card__local { margin: 12px 0 8px; }
.card__acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.card--b { background: var(--b-marinho); border-color: var(--b-marinho); color: #fff; }
.card--b .card__registro, .card--b .card__esp, .card--b .card__local { color: #D5DCE6; }
.card--b .card__nome { font-family: var(--fonte-b-titulo); font-weight: 600; }
.card--b .chip { background: var(--b-apoio); color: #fff; }
.card--b .botao--secundario { background: transparent; color: #fff; border-color: #fff; }
.card--b .botao--texto { color: var(--b-ouro); }
.card--b .avatar--iniciais { background: var(--b-apoio); color: var(--b-ouro); }
.selo-anuncio { position: absolute; top: 14px; right: 16px; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--b-ouro); }
.paginacao { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 32px; }
.paginacao a, .paginacao span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--borda); background: var(--cartao); text-decoration: none; font-weight: 600; }
.paginacao [aria-current] { background: var(--a-primaria); color: #fff; border-color: var(--a-primaria); }
details { border-top: 1px solid var(--borda); padding: 12px 0; }
details summary { cursor: pointer; font-weight: 600; min-height: 32px; }
.lista-links { padding-left: 1.2em; margin: 0 0 16px; columns: 2 220px; }
.lista-links li { margin-bottom: 6px; }

/* ---------- Ficha (A, B, mínima) ---------- */
.perfil-topo { display: flex; gap: 24px; align-items: flex-start; flex-wrap: wrap; }
.perfil-topo h1 { margin-bottom: 4px; }
.perfil-topo__registro { margin: 0; color: var(--texto-2); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.perfil-topo__esp { margin: 4px 0 8px; font-weight: 700; color: var(--a-primaria); }
.perfil-topo__chamada { margin: 0 0 12px; font-size: 1.05rem; color: var(--texto-2); max-width: 60ch; }
.selo-conferido { display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: 999px; background: var(--a-tint); color: var(--a-primaria-escura); font-size: .8rem; font-weight: 700; }
.selo-conferido::before { content: "✓"; }
.perfil__grade { display: grid; gap: 20px; }
@media (min-width: 900px) {
	.perfil__grade { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; }
	.perfil__lateral { grid-column: 2; grid-row: 1; position: sticky; top: 16px; }
	.perfil__principal { grid-column: 1; grid-row: 1; }
}
.abas { display: flex; gap: 6px; margin-bottom: 16px; overflow-x: auto; }
.abas [role="tab"] { min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--borda); background: var(--fundo); font: 600 .9rem var(--fonte-a); color: var(--texto-2); cursor: pointer; white-space: nowrap; }
.abas [aria-selected="true"] { background: var(--a-primaria); border-color: var(--a-primaria); color: #fff; }
.local + .local { border-top: 1px solid var(--borda); margin-top: 20px; padding-top: 20px; }
.abas:not([hidden]) ~ .local + .local { border: 0; margin: 0; padding: 0; }
.local__nome { margin-bottom: 4px; }
.local__acoes { display: grid; gap: 8px; margin: 16px 0; }
.local__valor, .local__info { margin: 8px 0 0; color: var(--texto-2); }
.rota { border: 0; padding: 0; }
.rota summary { list-style: none; width: 100%; }
.rota summary::-webkit-details-marker { display: none; }
.rota__opcoes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.rota__opcoes a { display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 12px; background: var(--a-tint); font-weight: 600; text-decoration: none; }
.mapa { aspect-ratio: 16 / 10; border-radius: 12px; background: var(--a-tint); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.mapa iframe { width: 100%; height: 100%; border: 0; }
.mapa__botao { font-weight: 600; padding: 12px; }
.horarios { margin: 0; display: grid; gap: 2px; }
.horarios div { display: flex; justify-content: space-between; font-size: .92rem; }
.horarios dt { color: var(--texto-2); }
.horarios dd { margin: 0; font-weight: 600; }
.redes { list-style: none; padding: 16px 0 0; margin: 16px 0 0; border-top: 1px solid var(--borda); display: flex; gap: 16px; flex-wrap: wrap; }
.galeria { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.galeria img { border-radius: 12px; aspect-ratio: 4 / 3; object-fit: cover; }
.registros, .formacao { padding-left: 1.2em; margin: 0 0 16px; }
.registros li, .formacao li { margin-bottom: 6px; color: var(--texto-2); }
.video { aspect-ratio: 16 / 9; margin-top: 16px; border-radius: 12px; overflow: hidden; }
.video iframe { width: 100%; height: 100%; border: 0; }
.ler-mais { border: 0; padding: 0; }
.ler-mais summary { color: var(--a-primaria); }
.ler-mais[open] summary { display: none; }
.outros { margin-top: 32px; }

/* Ficha B — Prestígio */
.perfil--b { background: var(--b-fundo); font-family: var(--fonte-b-texto); }
.faixa-b { background: var(--b-marinho); color: #fff; padding: 24px 0 40px; }
.faixa-b .migalhas ol { color: #AFC0D6; }
.faixa-b .migalhas a { color: #fff; }
.faixa-b__linha { display: flex; gap: 32px; align-items: center; flex-wrap: wrap; }
.faixa-b__nome { font-family: var(--fonte-b-titulo); font-weight: 600; font-size: clamp(1.9rem, 5vw, 2.8rem); margin-bottom: 4px; }
.faixa-b__esp { margin: 0 0 12px; font-size: 1.1rem; color: var(--b-ouro); font-weight: 600; }
.faixa-b__chamada { max-width: 60ch; color: #D5DCE6; font-size: 1.05rem; }
.faixa-b__info { color: #AFC0D6; font-size: .92rem; }
.chips--b .chip { background: var(--b-apoio); color: #fff; }
.chip--ouro { background: var(--b-ouro) !important; color: var(--b-marinho) !important; }
.ancoras { position: sticky; top: 0; z-index: 5; background: var(--cartao); border-bottom: 1px solid var(--borda); }
.ancoras .container { display: flex; gap: 4px; overflow-x: auto; }
.ancoras a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 14px; white-space: nowrap; font-weight: 600; color: var(--b-apoio); text-decoration: none; }
.perfil--b h2 { font-family: var(--fonte-b-titulo); font-weight: 600; color: var(--b-marinho); }
.perfil--b .abas [aria-selected="true"] { background: var(--b-marinho); border-color: var(--b-marinho); }
.perfil--b .botao--secundario { color: var(--b-apoio); border-color: var(--b-apoio); }
.perfil--b .chip { background: var(--b-fundo); }
.perfil--b .chips--b .chip { background: var(--b-apoio); color: #fff; }
.perfil--b section[id] { scroll-margin-top: 64px; }

/* ---------- Anuncie ---------- */
.periodos > input { position: absolute; opacity: 0; }
.periodos > label { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--borda); border-radius: 999px; background: var(--cartao); cursor: pointer; font-weight: 600; margin: 0 4px 16px 0; }
.periodos > input:checked + label { background: var(--a-primaria); color: #fff; border-color: var(--a-primaria); }
.periodos > input:focus-visible + label { outline: 3px solid var(--b-ouro); }
.planos { display: grid; gap: 16px; }
@media (min-width: 900px) { .planos { grid-template-columns: repeat(3, 1fr); } }
.plano__preco { font-size: 2rem; font-weight: 800; margin: 0 0 12px; }
.plano__preco small { font-size: .9rem; font-weight: 500; color: var(--texto-3); }
.preco--semestral, .preco--anual { display: none; }
#p-semestral:checked ~ .planos .preco--mensal, #p-anual:checked ~ .planos .preco--mensal { display: none; }
#p-semestral:checked ~ .planos .preco--semestral, #p-anual:checked ~ .planos .preco--anual { display: block; }
.plano--destaque { background: var(--b-marinho); color: #fff; border-color: var(--b-marinho); }
.plano--destaque h2 { font-family: var(--fonte-b-titulo); color: var(--b-ouro); }
.plano--destaque .plano__preco small { color: #AFC0D6; }

.vazio { text-align: center; }

/* ---------- Barra fixa no celular ---------- */
.barra-movel { position: fixed; inset: auto 0 0 0; z-index: 20; display: flex; background: var(--cartao); border-top: 1px solid var(--borda); padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); gap: 8px; }
.barra-movel a { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 12px; font-weight: 700; text-decoration: none; background: var(--a-tint); color: var(--a-primaria-escura); }
.barra-movel .barra-movel__wa { background: var(--a-primaria); color: #fff; }
.perfil--b ~ .barra-movel .barra-movel__wa { background: var(--b-ouro); color: var(--b-marinho); }
@media (min-width: 900px) { .barra-movel { display: none; } .rodape { padding-bottom: 32px; } }
.lista-links--local { columns: 1; }

/* ---------- Painel do profissional ---------- */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.painel { display: grid; min-height: 70vh; }
@media (min-width: 900px) { .painel { grid-template-columns: 240px 1fr; } }
.painel__menu { background: #0F1B2D; color: #D5DCE6; padding: 24px 16px; }
.painel__quem { margin: 0 0 16px; font-weight: 700; color: #fff; }
.painel__quem small { display: block; font-weight: 500; color: #AFC0D6; }
.painel__menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
@media (min-width: 900px) { .painel__menu ul { flex-direction: column; } }
.painel__menu a { display: flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 10px; color: #D5DCE6; text-decoration: none; font-weight: 600; }
.painel__menu a[aria-current], .painel__menu a:hover { background: #1D3A66; color: #fff; }
.painel__conteudo { padding: 24px 16px 64px; max-width: 1100px; width: 100%; }
@media (min-width: 900px) { .painel__conteudo { padding: 32px 40px 64px; } }
.painel__topo { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.periodo { display: flex; gap: 6px; }
.periodo a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--borda); background: var(--cartao); text-decoration: none; font-weight: 600; }
.periodo a[aria-current] { background: var(--a-primaria); border-color: var(--a-primaria); color: #fff; }
.totais { list-style: none; padding: 0; margin: 0 0 4px; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.total { display: flex; flex-direction: column; padding: 20px; }
.total__n { font-size: 2rem; font-weight: 800; color: var(--a-primaria); line-height: 1.1; }
.total__r { color: var(--texto-2); font-size: .9rem; }
.grafico { display: flex; align-items: flex-end; gap: 3px; height: 180px; padding-top: 8px; }
.grafico__col { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; min-width: 0; }
.grafico__barra { display: block; width: 100%; max-width: 28px; min-height: 2px; background: var(--a-primaria); border-radius: 6px 6px 0 0; }
.grafico__dia { font-size: .7rem; color: var(--texto-3); margin-top: 4px; }
.painel__colunas { display: grid; gap: 0 20px; }
@media (min-width: 900px) { .painel__colunas { grid-template-columns: 1fr 1fr; } }
.linha-tempo { list-style: none; padding: 0; margin: 0; }
.linha-tempo li { padding: 8px 0; border-bottom: 1px solid var(--borda); font-size: .92rem; }
.linha-tempo time { float: right; color: var(--texto-3); }
.progresso { height: 10px; background: var(--a-tint); border-radius: 999px; overflow: hidden; margin-bottom: 12px; }
.progresso span { display: block; height: 100%; background: var(--a-primaria); }
.checklist { list-style: none; padding: 0; margin: 0; }
.checklist li { padding: 6px 0 6px 28px; position: relative; }
.checklist li::before { position: absolute; left: 0; font-weight: 800; }
.checklist .ok::before { content: "✓"; color: var(--a-primaria); }
.checklist .falta::before { content: "○"; color: var(--texto-3); }
.checklist small { display: block; color: var(--texto-3); }

/* ---------- Cadastro ---------- */
.cadastro { max-width: 720px; }
.etapas { list-style: none; padding: 0; margin: 0 0 20px; display: flex; flex-wrap: wrap; gap: 8px; }
.etapas li { padding: 6px 14px; border-radius: 999px; background: var(--cartao); border: 1px solid var(--borda); font-weight: 600; font-size: .9rem; color: var(--texto-3); }
.etapas [aria-current] { background: var(--a-primaria); border-color: var(--a-primaria); color: #fff; }
.etapas__futuras { font-weight: 500 !important; }
.form label { display: block; font-weight: 600; margin-bottom: 14px; }
/* Ficha de clínica */
.avatar--logo { border-radius: 12px; object-fit: contain; background: #fff; padding: 4px; border: 1px solid var(--borda); }
.clinica__topo { display: flex; gap: 28px; align-items: center; }
.clinica__logo { flex: 0 0 180px; }
.clinica__logo img { display: block; width: 100%; height: auto; }
.clinica__tipo { margin: 0 0 4px; font-size: .85rem; font-weight: 700; color: var(--texto-3); }
.clinica h1 { margin: 0 0 6px; font-family: var(--fonte-b-titulo); font-weight: 600; font-size: clamp(1.8rem, 4.5vw, 2.5rem); line-height: 1.15; color: var(--petroleo); }
.clinica h2 { font-family: var(--fonte-b-titulo); font-weight: 600; font-size: 1.3rem; color: var(--petroleo); margin-top: 0; }
.clinica__chamada { margin: 0 0 12px; font-size: 1.05rem; color: var(--texto-2); }
.clinica__grade { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
.clinica__grade--uma { grid-template-columns: minmax(0, 1fr); }
.clinica__servicos { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin-bottom: 14px; }
.clinica-servico { padding: 16px; border: 1px solid var(--borda); border-radius: 14px; scroll-margin-top: 20px; }
.clinica-servico:target { border-color: var(--turquesa); box-shadow: 0 0 0 2px var(--a-tint); }
.clinica-servico h3 { margin: 0 0 6px; font-size: 1.02rem; color: var(--petroleo); }
.clinica-servico h3 a { color: inherit; }
.clinica-servico p { margin: 0; font-size: .92rem; color: var(--texto-2); }
.clinica-rt__pessoa { display: flex; gap: 14px; align-items: center; }
.clinica-rt__pessoa p { margin: 0; font-size: .9rem; color: var(--texto-2); }
.clinica-rt__nome { font-weight: 700; }
.ficha-correcao { margin: 12px 0 0; font-size: .88rem; color: var(--texto-3); }
@media (max-width: 860px) {
	.clinica__topo { flex-direction: column; align-items: flex-start; gap: 16px; }
	.clinica__logo { flex-basis: auto; width: 150px; }
	.clinica__grade { grid-template-columns: minmax(0, 1fr); }
}

.clinica__topo .local__acoes { display: flex; flex-wrap: wrap; margin-bottom: 0; }
.local__nome a { color: inherit; }

/* Títulos das páginas internas no mesmo visual da home */
.listagem h1, .hub h1, .perfil--a h1, .perfil--minimo h1, .cadastro h1 { font-family: var(--fonte-b-titulo); font-weight: 600; color: var(--petroleo); }
.etapas [aria-current] a { color: #fff; }

/* Página-mãe de condição e tratamento */
.hub h1 { font-size: clamp(1.8rem, 4.5vw, 2.5rem); line-height: 1.15; margin: 0 0 18px; }
.hub h2 { font-family: var(--fonte-b-titulo); font-weight: 600; font-size: 1.25rem; color: var(--petroleo); margin: 1.2em 0 .4em; }
.hub .cartao > h2:first-child { margin-top: 0; }
.hub__grade { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
.hub__revisao { font-size: .85rem; color: var(--texto-3); }
@media (max-width: 860px) { .hub__grade { grid-template-columns: minmax(0, 1fr); } }

/* Vitrine de destaques: foto em evidência e contato como ação principal */
.h-vitrine .h-dest__capa { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; margin-bottom: 12px; background: var(--a-tint); }
.h-vitrine .h-dest__capa--logo { object-fit: contain; background: #fff; padding: 14px; border: 1px solid var(--borda); }
.h-vitrine .h-dest__capa--iniciais { display: flex; align-items: center; justify-content: center; font: 800 2.6rem var(--fonte-a); color: var(--petroleo); }
.h-vitrine .h-dest__acoes--coluna { display: grid; gap: 4px; }
.h-vitrine .h-dest__acoes--coluna .botao--primario { width: 100%; }
.h-vitrine .h-dest__acoes--coluna .botao--texto { justify-self: center; min-height: 36px; font-size: .9rem; }

/* Seção de condições na home */
.h-areas { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; align-items: start; }
.h-area { background: #fff; border: 1px solid var(--borda); border-radius: 14px; padding: 14px 18px; }
.h-area summary { cursor: pointer; font-weight: 700; color: var(--petroleo); }
.h-area ul { list-style: none; padding: 10px 0 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }

/* Páginas institucionais */
.pagina-texto { max-width: 780px; margin: 0 auto; }
.pagina-texto h1 { font-family: var(--fonte-b-titulo); font-weight: 600; color: var(--petroleo); }
.pagina-texto h2 { margin-top: 1.6em; font-size: 1.2rem; color: var(--petroleo); }
.pagina-texto ul { padding-left: 1.2em; }
.pagina-texto li { margin-bottom: .4em; }

.form input, .form select, .form textarea { display: block; width: 100%; margin-top: 4px; min-height: 48px; padding: 10px 12px; border: 1px solid var(--borda); border-radius: 12px; font: 400 1rem var(--fonte-a); background: #fff; }
.form textarea { min-height: 160px; }
.form__linha { display: grid; grid-template-columns: 1fr 96px; gap: 12px; }
.form__acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.contador { display: block; font-size: .8rem; font-weight: 500; color: var(--texto-3); }
.contador.excedeu { color: #B42318; font-weight: 700; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.alerta { border-radius: 12px; padding: 12px 16px; margin-bottom: 16px; }
.alerta ul { margin: 0; padding-left: 1.2em; }
.alerta--erro { background: #FEF3F2; border: 1px solid #FDA29B; color: #7A271A; }
.alerta--ok { background: var(--a-tint); border: 1px solid var(--a-avatar); color: var(--a-primaria-escura); }
