/*
Theme Name: Goebel
Theme URI: https://www.drmatheusgoebel.com.br
Author: Dr. Matheus Goebel
Author URI: https://www.drmatheusgoebel.com.br
Description: Tema de blocos autocontido para o site do Dr. Matheus Goebel, médico pneumologista em Pará de Minas/MG. Sem dependência de tema pai, plugin ou domínio externo: fontes, ícones e imagens são servidos pelo próprio tema.
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tema-goebel
Tags: block-patterns, full-site-editing, custom-colors, custom-logo, editor-style, one-column, wide-blocks, accessibility-ready
*/

/* ==========================================================================
   Complementos ao theme.json: o que o editor de blocos não expressa sozinho.
   Tokens: var(--wp--preset--color--*), var(--wp--preset--spacing--*),
           var(--wp--custom--raio--*), var(--wp--custom--foco--anel).
   ========================================================================== */

:root {
	--goebel-header-altura: var(--wp--custom--header--altura, 72px);
	--goebel-barra-mobile: 64px;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	/* Com o cabeçalho fixo, um link de âncora pararia com o título escondido atrás dele. */
	scroll-padding-top: calc(var(--goebel-header-altura) + 16px);
}
[id] { scroll-margin-top: calc(var(--goebel-header-altura) + 16px); }

@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;
	overflow-wrap: anywhere;
}

img, svg { max-width: 100%; height: auto; }
picture { display: block; }
picture > img { display: block; }

/* Fotos do tema */
.goebel-sobre__foto img { border-radius: var(--wp--custom--raio--lg); box-shadow: var(--wp--preset--shadow--leve); width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.goebel-sobre__retrato img { border-radius: var(--wp--custom--raio--lg); box-shadow: var(--wp--preset--shadow--media); width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.goebel-figura img { border-radius: var(--wp--custom--raio--lg); width: 100%; }
.goebel-figura { max-width: 760px; margin-inline: auto; }

/* Foco visível em todo elemento interativo (WCAG 2.4.7) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.wp-block-button__link:focus-visible,
.wp-block-navigation__responsive-container-open:focus-visible,
.wp-block-navigation__responsive-container-close:focus-visible {
	outline: none;
	box-shadow: var(--wp--custom--foco--anel);
	border-radius: var(--wp--custom--raio--sm);
}

/* Link "pular para o conteúdo" (o WordPress insere .skip-link automaticamente) */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--branco);
	font-family: var(--wp--preset--font-family--titulos);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--corpo);
	padding: 0.875rem 1.25rem;
	border-radius: var(--wp--custom--raio--sm);
	box-shadow: var(--wp--preset--shadow--forte);
	text-decoration: none;
	left: 1rem;
	top: 1rem;
	height: auto;
	width: auto;
	clip: auto;
	clip-path: none;
	z-index: 1000;
}

.goebel-skip-link {
	position: absolute;
	left: -999px;
	top: 0;
	z-index: 1000;
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--branco);
	font-family: var(--wp--preset--font-family--titulos);
	font-weight: 600;
	text-decoration: none;
}
.goebel-skip-link:focus { left: 1rem; top: 1rem; }

/* Alvos de toque ≥ 44px */
.wp-block-button__link,
.wp-block-navigation-item__content,
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close,
.goebel-barra-mobile a,
.wp-block-search__button,
input[type="submit"],
button {
	min-height: 44px;
}
/* Todos os itens do menu com a mesma caixa: 44px de altura e texto centrado.
   Sem isto, os links viram blocos de 60px com o texto no topo e o submenu
   "Exames" (que é um <button> de 44px) desalinha em relação aos demais. */
.goebel-header .wp-block-navigation-item__content,
.goebel-header .wp-block-navigation-submenu__toggle {
	display: flex !important;
	align-items: center;
	box-sizing: border-box;
	min-height: 44px;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0.25rem;
	padding-right: 0.25rem;
}
.goebel-header .wp-block-navigation__submenu-icon { display: flex; align-items: center; }
.goebel-header .wp-block-navigation-item { display: flex; align-items: center; }
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close { min-width: 44px; }

/* ---------- Cabeçalho ---------- */
/* Cabeçalho fixo na rolagem.
   A fixação vai no <header class="wp-block-template-part">, que é filho direto da
   página: o .goebel-header fica dentro dele e, sozinho, grudaria apenas nos seus
   próprios 72px de altura — ou seja, sairia da tela junto com o wrapper. */
.wp-site-blocks > header.wp-block-template-part,
.editor-styles-wrapper > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}

.goebel-header {
	position: relative;
	z-index: 100;
	min-height: var(--goebel-header-altura);
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--branco);
	box-shadow: 0 1px 0 rgba(255,255,255,0.06), 0 4px 16px rgba(14,38,84,0.18);
	/* Centraliza logotipo, menu e botão na altura da faixa. Sem isto o bloco de
	   grupo é um "block" comum e o conteúdo encosta no topo, sobrando espaço embaixo. */
	display: flex;
	align-items: center;
}
.goebel-header > * { width: 100%; }
.goebel-header a { color: var(--wp--preset--color--branco); }
.goebel-header .wp-block-site-title a,
.goebel-header .wp-block-navigation a { text-decoration: none; }
.goebel-header .wp-block-navigation a:hover,
.goebel-header .wp-block-navigation a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.goebel-header .wp-block-navigation .current-menu-item > a,
.goebel-header .wp-block-navigation .current-menu-ancestor > a { text-decoration: underline; text-decoration-color: var(--wp--preset--color--cyan); text-underline-offset: 6px; text-decoration-thickness: 2px; }
.goebel-header .wp-block-navigation__responsive-container-open svg,
.goebel-header .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
/* Submenu suspenso (só no desktop, onde ele flutua sobre a página) */
@media (min-width: 961px) {
	.goebel-header .wp-block-navigation__submenu-container {
		background: var(--wp--preset--color--navy) !important;
		border: 1px solid rgba(255,255,255,0.12) !important;
		border-radius: var(--wp--custom--raio--md);
		padding: 0.25rem 0;
	}
	.goebel-header .wp-block-navigation__submenu-container a { color: var(--wp--preset--color--branco) !important; }
	.goebel-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding-left: 1rem; padding-right: 1rem; }
}
.goebel-logo { display: inline-flex; align-items: center; gap: 0.625rem; min-height: 44px; }
.goebel-logo img { width: 40px; height: 40px; border-radius: 9px; flex: none; }
.goebel-logo__texto { display: flex; flex-direction: column; line-height: 1.1; }
.goebel-logo__sub { font-family: var(--wp--preset--font-family--corpo); font-size: var(--wp--preset--font-size--pequeno); font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.85; }
.goebel-header .wp-block-button__link { padding-top: 0.625rem; padding-bottom: 0.625rem; }
@media (max-width: 781px) {
	/* No celular o agendamento fica na barra fixa inferior; o botão do topo sai. */
	.goebel-header .wp-block-buttons,
	.goebel-header .wp-block-buttons > .wp-block-button.goebel-header__cta { display: none !important; }
}

/* ---------- Barra fixa inferior no celular: Ligar / WhatsApp ---------- */
.goebel-barra-mobile {
	display: none;
}
@media (max-width: 781px) {
	body { padding-bottom: calc(var(--goebel-barra-mobile) + env(safe-area-inset-bottom)); }
	.goebel-barra-mobile {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1px;
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 90;
		background: var(--wp--preset--color--borda);
		border-top: 1px solid var(--wp--preset--color--borda);
		padding-bottom: env(safe-area-inset-bottom);
		box-shadow: 0 -4px 16px rgba(14,38,84,0.12);
	}
	.goebel-footer .goebel-barra-mobile a,
	.goebel-barra-mobile a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		min-height: var(--goebel-barra-mobile);
		font-family: var(--wp--preset--font-family--titulos);
		font-size: var(--wp--preset--font-size--pequeno);
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		text-decoration: none;
		color: var(--wp--preset--color--navy);
		background: var(--wp--preset--color--branco);
	}
	.goebel-footer .goebel-barra-mobile a.goebel-barra-mobile__whats,
	.goebel-barra-mobile a.goebel-barra-mobile__whats {
		color: var(--wp--preset--color--branco);
		background: var(--wp--preset--color--cyan-escuro);
	}
	.goebel-barra-mobile svg { color: inherit; }
	.goebel-barra-mobile svg { width: 22px; height: 22px; flex: none; }
}

/* ---------- Seções ----------
   O respiro entre blocos vem do padding da própria seção. As margens que o
   WordPress insere entre irmãos são zeradas aqui: somadas ao padding, criavam
   vãos de até 150px no celular. */
.wp-site-blocks > * + *,
main > .goebel-secao + .goebel-secao,
.wp-block-post-content > .goebel-secao,
main > .wp-block-post-content { margin-top: 0; margin-block-start: 0; }

.goebel-secao { padding-top: var(--wp--preset--spacing--48); padding-bottom: var(--wp--preset--spacing--48); }
.goebel-secao--compacta { padding-top: var(--wp--preset--spacing--32); padding-bottom: var(--wp--preset--spacing--32); }
@media (min-width: 782px) {
	/* 64px de cada lado = 128px entre duas seções. Com 96px o vão passava de
	   190px no desktop, o dobro do celular, e as faixas pareciam soltas. */
	.goebel-secao { padding-top: var(--wp--preset--spacing--64); padding-bottom: var(--wp--preset--spacing--64); }
	.goebel-secao--compacta { padding-top: var(--wp--preset--spacing--48); padding-bottom: var(--wp--preset--spacing--48); }
}

/* Cabeçalho da página e a faixa de botões logo abaixo têm o mesmo fundo:
   viram uma faixa só, em vez de duas coladas com padding dobrado. */
.goebel-page-header { padding-bottom: var(--wp--preset--spacing--24); }
.goebel-page-header__acoes { padding-top: 0; }
@media (min-width: 782px) {
	.goebel-page-header { padding-bottom: var(--wp--preset--spacing--32); }
}
.goebel-kicker {
	font-family: var(--wp--preset--font-family--titulos);
	font-size: var(--wp--preset--font-size--pequeno);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--cyan-escuro);
}
.has-navy-background-color .goebel-kicker,
.goebel-hero .goebel-kicker { color: var(--wp--preset--color--cyan); }
.goebel-lead { font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.25rem); line-height: 1.55; color: var(--wp--preset--color--navy-suave); }
.has-navy-background-color .goebel-lead { color: rgba(255,255,255,0.88); }

/* ---------- Hero ---------- */
.goebel-hero {
	background-color: var(--wp--preset--color--navy);
	background-image: linear-gradient(135deg, #1A3A73 0%, #0E2654 45%, #091A3A 100%);
	color: var(--wp--preset--color--branco);
}
.goebel-hero h1, .goebel-hero p { color: var(--wp--preset--color--branco); }
.goebel-hero .goebel-hero__retrato img {
	border-radius: var(--wp--custom--raio--xl);
	box-shadow: var(--wp--preset--shadow--forte);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
	max-width: 420px;
}
.goebel-hero .wp-block-button.is-style-outline .wp-block-button__link,
.has-navy-background-color .wp-block-button.is-style-outline .wp-block-button__link,
.goebel-hero .wp-block-button.is-style-outline .wp-block-button__link:hover {
	color: var(--wp--preset--color--branco);
	border-color: rgba(255,255,255,0.7);
	background: transparent;
}
.goebel-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.has-navy-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,0.10); border-color: var(--wp--preset--color--branco); }
.goebel-hero .goebel-meta { color: rgba(255,255,255,0.8); font-size: var(--wp--preset--font-size--pequeno); }

/* Botão secundário (navy) e contorno */
.wp-block-button.is-style-secundario .wp-block-button__link {
	background: var(--wp--preset--color--navy);
	border-color: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--branco);
}
.wp-block-button.is-style-secundario .wp-block-button__link:hover { background: #0A1B3D; border-color: #0A1B3D; }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--cyan-escuro);
	border: 2px solid var(--wp--preset--color--cyan-escuro);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--destaque); color: var(--wp--preset--color--cyan-hover); }
.wp-block-button__link svg { width: 20px; height: 20px; vertical-align: -0.25em; margin-right: 0.5rem; }
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; }
.wp-block-button__link svg { margin-right: 0; }

/* ---------- Cards ---------- */
.goebel-card {
	background: var(--wp--preset--color--branco);
	border: 1px solid var(--wp--preset--color--borda);
	border-radius: var(--wp--custom--raio--lg);
	padding: var(--wp--preset--spacing--24);
	box-shadow: var(--wp--preset--shadow--leve);
	height: 100%;
}
@media (min-width: 782px) { .goebel-card { padding: var(--wp--preset--spacing--32); } }
.goebel-card--link { transition: box-shadow 0.15s ease, border-color 0.15s ease; position: relative; }
.goebel-card--link:hover, .goebel-card--link:focus-within { box-shadow: var(--wp--preset--shadow--media); border-color: var(--wp--preset--color--cyan); }
.goebel-card h3 a, .goebel-card h2 a { color: var(--wp--preset--color--navy); text-decoration: none; }
.goebel-card h3 a::after, .goebel-card h2 a::after { content: ""; position: absolute; inset: 0; }
.goebel-card h3 a:hover, .goebel-card h2 a:hover { text-decoration: underline; }
.goebel-card__icone {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px;
	border-radius: 12px;
	background: var(--wp--preset--color--destaque);
	color: var(--wp--preset--color--cyan-escuro);
	margin-bottom: var(--wp--preset--spacing--16);
}
.goebel-card__icone svg { width: 26px; height: 26px; }
.goebel-card .goebel-card__meta { color: var(--wp--preset--color--navy-suave); font-size: var(--wp--preset--font-size--pequeno); }
.goebel-card .wp-block-buttons { margin-top: auto; }
.goebel-card > .wp-block-group, .goebel-card.wp-block-group { display: flex; flex-direction: column; }

/* Lista de "fatos" (duração, preparo etc.) */
.goebel-fatos { display: grid; gap: var(--wp--preset--spacing--12); padding: 0; margin: 0; list-style: none; }
.goebel-fatos li { display: grid; grid-template-columns: 28px 1fr; gap: 0.625rem; align-items: start; }
.goebel-fatos svg { width: 22px; height: 22px; color: var(--wp--preset--color--cyan-escuro); margin-top: 0.15em; }
.goebel-fatos strong { display: block; font-family: var(--wp--preset--font-family--titulos); font-weight: 600; font-size: var(--wp--preset--font-size--pequeno); letter-spacing: 0.02em; text-transform: uppercase; color: var(--wp--preset--color--navy-suave); }

/* Passos numerados */
.goebel-passos { counter-reset: passo; list-style: none; padding: 0; margin: 0; display: grid; gap: var(--wp--preset--spacing--16); }
.goebel-passos > li { counter-increment: passo; display: grid; grid-template-columns: 44px 1fr; gap: var(--wp--preset--spacing--16); align-items: start; }
.goebel-passos > li::before {
	content: counter(passo);
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--wp--preset--color--navy); color: var(--wp--preset--color--branco);
	font-family: var(--wp--preset--font-family--titulos); font-weight: 700;
}
.goebel-passos strong { font-family: var(--wp--preset--font-family--titulos); font-weight: 600; }

/* Lista com ícone de verificação */
.goebel-lista-check { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--wp--preset--spacing--8); }
.goebel-lista-check li { display: grid; grid-template-columns: 24px 1fr; gap: 0.5rem; align-items: start; }
.goebel-lista-check svg { width: 20px; height: 20px; color: var(--wp--preset--color--sucesso); margin-top: 0.2em; }

/* Callout */
.goebel-callout {
	background: var(--wp--preset--color--destaque);
	border: 1px solid #CFE8F5;
	border-left: 4px solid var(--wp--preset--color--cyan);
	border-radius: var(--wp--custom--raio--md);
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--24);
}
.goebel-callout p:last-child { margin-bottom: 0; }

/* FAQ com details/summary */
.goebel-faq .wp-block-details { margin-bottom: var(--wp--preset--spacing--12); }
.goebel-faq summary {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--titulos);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--corpo);
	list-style: none;
	display: grid; grid-template-columns: 1fr 24px; gap: 1rem; align-items: center;
	min-height: 44px;
}
.goebel-faq summary::-webkit-details-marker { display: none; }
.goebel-faq summary::after {
	content: "";
	width: 12px; height: 12px;
	border-right: 2px solid var(--wp--preset--color--cyan-escuro);
	border-bottom: 2px solid var(--wp--preset--color--cyan-escuro);
	transform: rotate(45deg);
	justify-self: center;
	transition: transform 0.15s ease;
}
.goebel-faq details[open] summary::after { transform: rotate(-135deg); }
.goebel-faq details[open] summary { margin-bottom: var(--wp--preset--spacing--12); }

/* Chips de condições */
.goebel-chips { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--12); list-style: none; padding: 0; margin: 0; }
.goebel-chips a, .goebel-chips span {
	display: inline-flex; align-items: center; min-height: 44px;
	padding: 0.5rem 1rem;
	border: 1px solid var(--wp--preset--color--borda);
	border-radius: var(--wp--custom--raio--pill);
	background: var(--wp--preset--color--branco);
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--titulos); font-weight: 600; font-size: var(--wp--preset--font-size--pequeno);
	text-decoration: none;
}
.goebel-chips a:hover { border-color: var(--wp--preset--color--cyan-escuro); color: var(--wp--preset--color--cyan-escuro); }

/* Contato: blocos de telefone */
.goebel-contato-item { display: grid; grid-template-columns: 48px 1fr; gap: var(--wp--preset--spacing--16); align-items: start; }
.goebel-contato-item .goebel-card__icone { margin-bottom: 0; }
.goebel-contato-item a { font-family: var(--wp--preset--font-family--titulos); font-weight: 600; font-size: var(--wp--preset--font-size--titulo-4); }

/* ---------- Rodapé ---------- */
.goebel-footer { background: var(--wp--preset--color--navy); color: rgba(255,255,255,0.88); }
.goebel-footer a { color: var(--wp--preset--color--branco); }
.goebel-footer h2, .goebel-footer h3, .goebel-footer p { color: inherit; }
.goebel-footer .goebel-footer__legal { font-size: var(--wp--preset--font-size--pequeno); color: rgba(255,255,255,0.72); border-top: 1px solid rgba(255,255,255,0.14); padding-top: var(--wp--preset--spacing--24); }
.goebel-footer .goebel-footer__identificacao { font-family: var(--wp--preset--font-family--titulos); font-weight: 600; color: var(--wp--preset--color--branco); }
.goebel-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.goebel-footer li a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.goebel-footer li a:hover { text-decoration: underline; }
.goebel-footer svg { width: 20px; height: 20px; vertical-align: -0.2em; margin-right: 0.5rem; color: var(--wp--preset--color--cyan); }

/* ---------- Blog ---------- */
.goebel-post-card .wp-block-post-featured-image img { border-radius: var(--wp--custom--raio--md); aspect-ratio: 16 / 9; object-fit: cover; }
.goebel-post-card .wp-block-post-title { font-size: var(--wp--preset--font-size--titulo-3); }
.goebel-post-card .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--navy); }
.goebel-post-card .wp-block-post-title a:hover { text-decoration: underline; }
.goebel-post-card .wp-block-post-excerpt__excerpt { color: var(--wp--preset--color--navy-suave); }
.goebel-post-card .wp-block-post-excerpt__more-link { font-weight: 700; }
.goebel-artigo .wp-block-post-content > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.goebel-artigo .wp-block-post-content img { border-radius: var(--wp--custom--raio--md); }
.goebel-artigo .wp-block-post-content h2 { margin-top: var(--wp--preset--spacing--48); }
.goebel-artigo .wp-block-post-content h3 { margin-top: var(--wp--preset--spacing--32); }
.goebel-artigo .wp-block-post-featured-image img { border-radius: var(--wp--custom--raio--lg); }
.goebel-artigo .goebel-artigo__meta { color: var(--wp--preset--color--navy-suave); font-size: var(--wp--preset--font-size--pequeno); }

/* Créditos ao final do artigo: identificação exigida pelo CFM, datas de
   publicação/revisão e nota de autoria. Discreto, separado do texto por um
   filete, sem competir com o conteúdo. */
.goebel-artigo__creditos {
	margin-top: var(--wp--preset--spacing--32);
	padding-top: var(--wp--preset--spacing--16);
	border-top: 1px solid var(--wp--preset--color--borda);
}
.goebel-artigo__creditos p {
	color: var(--wp--preset--color--navy-suave);
	font-size: var(--wp--preset--font-size--meta);
	line-height: 1.6;
	margin-bottom: var(--wp--preset--spacing--8);
}
.goebel-artigo__creditos p:last-child { margin-bottom: 0; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 0.5rem; border-radius: var(--wp--custom--raio--sm); text-decoration: none; }
.wp-block-query-pagination .page-numbers.current { background: var(--wp--preset--color--navy); color: var(--wp--preset--color--branco); }
.wp-block-post-terms a { display: inline-block; padding: 0.125rem 0; }

/* Busca */
.wp-block-search__input { min-height: 48px; border: 1px solid #B8C2CF; border-radius: var(--wp--custom--raio--sm); padding: 0.5rem 0.875rem; font-size: var(--wp--preset--font-size--corpo); }
.wp-block-search__button { background: var(--wp--preset--color--cyan-escuro); color: var(--wp--preset--color--branco); border: 2px solid var(--wp--preset--color--cyan-escuro); border-radius: var(--wp--custom--raio--sm); font-family: var(--wp--preset--font-family--titulos); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: var(--wp--preset--font-size--pequeno); }

/* Tabelas */
.wp-block-table table { border-collapse: collapse; }
.wp-block-table td, .wp-block-table th { border: 1px solid var(--wp--preset--color--borda); padding: 0.625rem 0.875rem; }
.wp-block-table th { background: var(--wp--preset--color--superficie); font-family: var(--wp--preset--font-family--titulos); font-weight: 600; }

/* Título dentro de card: tamanho de h3 mesmo quando é h2 por hierarquia */
.goebel-card .goebel-h3 { font-size: var(--wp--preset--font-size--titulo-3); font-weight: 600; }

/* Item de lista que é só um link: alvo de toque confortável */
.goebel-secao .wp-block-list > li > a:only-child,
.goebel-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* Alvos de toque confortáveis em links que são ação, não texto corrido */
.wp-block-post-excerpt__more-link,
.goebel-contato-item a,
.goebel-card__meta a,
.goebel-footer__legal a,
.goebel-artigo .wp-block-post-terms a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}


/* Espaço antes das listas próprias do tema.
   Elas são HTML do tema, não blocos do WordPress, então não recebem o
   espaçamento automático entre blocos — sem isto, colam no título ou no
   parágrafo anterior. O :not(:first-child) também dá prioridade
   sobre o "margin: 0" das definições acima. */
.goebel-fatos:not(:first-child),
.goebel-passos:not(:first-child),
.goebel-lista-check:not(:first-child),
.goebel-chips:not(:first-child),
.goebel-video-link:not(:first-child),
.goebel-contato-item:not(:first-child) {
	margin-top: var(--wp--preset--spacing--24);
}
/* Depois de um título o respiro é menor: o título já separa. */
:is(h1, h2, h3, h4, h5, h6) + .goebel-fatos:not(:first-child),
:is(h1, h2, h3, h4, h5, h6) + .goebel-passos:not(:first-child),
:is(h1, h2, h3, h4, h5, h6) + .goebel-lista-check:not(:first-child),
:is(h1, h2, h3, h4, h5, h6) + .goebel-chips:not(:first-child) {
	margin-top: var(--wp--preset--spacing--16);
}
/* Entre itens: um pouco mais de ar nas listas longas. */
.goebel-lista-check { gap: var(--wp--preset--spacing--12); }
.goebel-fatos { gap: var(--wp--preset--spacing--16); }
.goebel-passos { gap: var(--wp--preset--spacing--24); }

/* Ícones inline (Lucide, traço 1.75) */
.goebel-icone { display: inline-block; width: 1.25em; height: 1.25em; vertical-align: -0.25em; }

/* Vídeo: cartão de link (sem carregar iframe externo) */
.goebel-video-link {
	display: grid; grid-template-columns: 56px 1fr; gap: var(--wp--preset--spacing--16); align-items: center;
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--24);
	border: 1px solid var(--wp--preset--color--borda); border-radius: var(--wp--custom--raio--lg);
	background: var(--wp--preset--color--branco); text-decoration: none; color: var(--wp--preset--color--navy);
}
.goebel-video-link:hover { border-color: var(--wp--preset--color--cyan-escuro); }
.goebel-video-link__play { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--wp--preset--color--navy); color: var(--wp--preset--color--branco); }
.goebel-video-link__play svg { width: 26px; height: 26px; }
.goebel-video-link strong { font-family: var(--wp--preset--font-family--titulos); display: block; }
.goebel-video-link small { color: var(--wp--preset--color--navy-suave); font-size: var(--wp--preset--font-size--pequeno); }

/* Impressão */
@media print {
	.goebel-header, .goebel-barra-mobile, .goebel-footer .wp-block-buttons { display: none !important; }
	a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.85em; }
}

/* Editor: mantém a largura de leitura e as faixas iguais às do site publicado */
.editor-styles-wrapper .goebel-secao { padding-top: var(--wp--preset--spacing--48); padding-bottom: var(--wp--preset--spacing--48); }

/* Títulos do rodapé: h2 por hierarquia, mas visualmente pequenos */
.goebel-footer__titulo {
	font-size: var(--wp--preset--font-size--titulo-4) !important;
	font-weight: 600;
	color: var(--wp--preset--color--branco);
	margin-bottom: var(--wp--preset--spacing--12);
}

/* Cabeçalho: logo e botão não quebram linha */
.goebel-logo, .goebel-logo:hover, .goebel-logo:focus { text-decoration: none; }
.goebel-logo__texto > span:first-child { font-family: var(--wp--preset--font-family--titulos); font-weight: 700; font-size: 1.0625rem; white-space: nowrap; }
.goebel-header .wp-block-navigation-item__content { white-space: nowrap; }
.goebel-header .wp-block-button__link { white-space: nowrap; }
/* Linha do cabeçalho: um pouco mais larga que a coluna de leitura (1120px),
   para caber logotipo, os sete itens de menu e o botão em uma só faixa de 72px. */
.goebel-header .alignwide, .goebel-header__linha { max-width: 1200px; }
.goebel-header__linha { row-gap: 0; column-gap: var(--wp--preset--spacing--16); }
.goebel-header .wp-block-navigation__container { column-gap: var(--wp--preset--spacing--12); }
.goebel-header .wp-block-button__link { padding-left: 1.25rem; padding-right: 1.25rem; }
.goebel-header__linha > *, .goebel-header__acoes > * { min-width: 0; }
.goebel-header .wp-block-navigation__container { row-gap: 0; }
/* Até 1219px o botão do topo sai: o menu precisa do espaço (a barra fixa inferior cobre o celular). */
@media (max-width: 1219px) {
	.goebel-header .wp-block-buttons { display: none; }
}

/* O menu vira botão "Menu" até 960px (o padrão do WordPress faria isso só até 600px,
   largura em que os sete itens não cabem em uma linha). */
@media (max-width: 960px) {
	.goebel-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex !important;
	}
	.goebel-header .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default) {
		display: none !important;
	}
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
		position: fixed;
		inset: 0;
		z-index: 200;
		flex-direction: column;
		padding: var(--wp--preset--spacing--24);
		overflow: auto;
		/* O padrão do WordPress abre o painel com fundo branco; aqui ele é navy,
		   como a faixa do cabeçalho — e todo o texto dentro dele é branco. */
		background-color: var(--wp--preset--color--navy) !important;
		color: var(--wp--preset--color--branco) !important;
	}
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open a,
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open button,
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open svg {
		color: var(--wp--preset--color--branco) !important;
		fill: currentColor;
	}
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 0;
	}
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 0;
	}
	/* Um item por linha, alinhado à esquerda, separado por um filete discreto. */
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
		display: block;
		width: 100%;
		border-bottom: 1px solid rgba(255,255,255,0.12);
	}
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:last-child {
		border-bottom: 0;
	}
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		justify-content: flex-start;
		width: 100%;
		min-height: 56px;
		padding-left: 0;
		padding-right: 0;
		font-size: var(--wp--preset--font-size--titulo-4);
	}
	/* Submenu de Exames: sempre visível, recuado, sem caixa própria. */
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		width: 100% !important;
		min-width: 0 !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		padding: 0 0 0.5rem 1.25rem !important;
		display: block !important;
	}
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
		display: block;
		width: 100%;
		border: 0;
	}
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		min-height: 48px;
		font-size: var(--wp--preset--font-size--corpo);
		font-weight: 400;
		opacity: 0.92;
	}
	/* O "v" ao lado de Exames não tem função aqui: o submenu já está aberto. */
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none; }
	.goebel-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle { cursor: default; }
	.goebel-header .wp-block-navigation__responsive-container-close {
		margin-left: auto;
		margin-bottom: var(--wp--preset--spacing--16);
	}
}

/* ---------------------------------------------------------------------------
   Faixa de cookies
   Discreta, fixa no rodapé da tela até o visitante responder. Acima da barra
   de contato do celular, nunca por cima dela. Os dois botões usam a mesma
   geometria dos botões do tema; o de recusar é a versão contornada, do mesmo
   tamanho e na mesma posição — recusar não pode ser mais difícil que aceitar.
   --------------------------------------------------------------------------- */
.goebel-consentimento {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 95;
	background: var(--wp--preset--color--branco);
	border-top: 1px solid var(--wp--preset--color--borda);
	box-shadow: 0 -2px 16px rgba(14, 38, 84, 0.10);
	padding: 14px 24px calc(14px + env(safe-area-inset-bottom));
}
.goebel-consentimento[hidden] {
	display: none;
}
.goebel-consentimento__caixa {
	max-width: 1120px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}
.goebel-consentimento__texto {
	flex: 1 1 320px;
	min-width: 0;
	margin: 0;
	font-size: var(--wp--preset--font-size--pequeno);
	line-height: 1.45;
	color: var(--wp--preset--color--navy);
}
.goebel-consentimento__texto a {
	color: var(--wp--preset--color--cyan-escuro);
	text-decoration: underline;
}
.goebel-consentimento__acoes {
	display: flex;
	gap: 10px;
	flex: 0 0 auto;
}
.goebel-consentimento__btn {
	min-height: 44px;
	padding: 0.625rem 1.25rem;
	border: 2px solid var(--wp--preset--color--cyan-escuro);
	border-radius: var(--wp--custom--raio--sm);
	background: var(--wp--preset--color--cyan-escuro);
	color: var(--wp--preset--color--branco);
	font-family: var(--wp--preset--font-family--titulos);
	font-size: var(--wp--preset--font-size--pequeno);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.2;
	cursor: pointer;
}
.goebel-consentimento__btn--secundario {
	background: transparent;
	color: var(--wp--preset--color--cyan-escuro);
}
.goebel-consentimento__btn:hover {
	background: var(--wp--preset--color--cyan-hover);
	border-color: var(--wp--preset--color--cyan-hover);
	color: var(--wp--preset--color--branco);
}
.goebel-consentimento__btn:focus-visible {
	outline: none;
	box-shadow: var(--wp--custom--foco--anel);
}
@media (max-width: 781px) {
	.goebel-consentimento {
		/* +1px: a barra de contato tem borda superior de 1px, que entra na altura. */
		bottom: calc(var(--goebel-barra-mobile) + 1px + env(safe-area-inset-bottom));
		padding: 12px 16px;
	}
	.goebel-consentimento__caixa {
		gap: 12px;
	}
	.goebel-consentimento__acoes {
		width: 100%;
	}
	.goebel-consentimento__btn {
		flex: 1 1 0;
		padding: 0.625rem 0.5rem;
	}
}

/* Botão "Preferências de medição" do rodapé: mesmo aspecto do link ao lado. */
.goebel-footer__preferencias {
	background: none;
	border: 0;
	padding: 0;
	min-height: 0;
	font: inherit;
	color: inherit;
	text-decoration: underline;
	cursor: pointer;
}
.goebel-footer__preferencias:focus-visible {
	outline: 2px solid var(--wp--preset--color--cyan);
	outline-offset: 2px;
}
