/*
 * Complementa theme.json (que cobre cor/tipografia/espaçamento globais).
 * Este arquivo só existe para os requisitos de 03-design/design-system.md
 * que o theme.json não expressa: skip-link, alvo mínimo de 44px, foco
 * visível e o comportamento do menu móvel.
 */

.cg-skip-link a {
	position: absolute;
	left: 16px;
	top: -100px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	padding: 12px 16px;
	border-radius: 8px;
	z-index: 100;
	transition: top 0.15s ease-in-out;
}

.cg-skip-link a:focus {
	top: 12px;
}

.cg-header {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.cg-masthead {
	padding-block: 16px;
}

.cg-brand a {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 28px;
	text-decoration: none;
	color: var(--wp--preset--color--text);
}

/* Alvo minimo de 44x44 px para controles interativos (design-system.md). */
.cg-nav a,
.wp-block-navigation-item a,
.wp-block-search__button,
.wp-block-button__link {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
summary:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 3px;
}

.cg-footer {
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	padding-block: 32px;
}

.cg-footer ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	padding: 0;
	margin: 0;
}

.cg-callout-emergency {
	background: var(--wp--preset--color--warning-surface);
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: 0 8px 8px 0;
	padding: 20px 24px;
}

.cg-callout-clinical {
	background: var(--wp--preset--color--surface);
	border-left: 4px solid var(--wp--preset--color--primary);
	border-radius: 0 8px 8px 0;
	padding: 16px 24px;
}

.cg-byline {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.cg-sources ul {
	padding-left: 20px;
}

.cg-consent-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--wp--preset--color--surface);
	border-top: 1px solid var(--wp--preset--color--border);
	padding: 16px 24px;
	z-index: 9999;
	box-shadow: 0 -2px 12px rgba(0,0,0,.08);
}

.cg-consent-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
}

.cg-consent-btn {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	padding: 10px 16px;
	cursor: pointer;
	min-height: 44px;
}

.cg-consent-btn--primary {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-color: var(--wp--preset--color--primary);
}

.cg-affiliate-disclosure {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	border-top: 1px solid var(--wp--preset--color--border);
	padding-top: 12px;
	margin-top: 24px;
}

.cg-trust {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-radius: 16px;
	padding: 32px;
}

.cg-trust a {
	color: #fff;
	text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
	.cg-skip-link a {
		transition: none;
	}
}
