/*
 * Guia Completo Online: editorial components.
 * Colours come from the theme tokens when present, with neutral fallbacks so
 * the components stay readable under any theme.
 */

/* Callouts: Resumo rápido, Atenção, Antes de começar */
.wp-block-group.is-style-gco-resumo,
.wp-block-group.is-style-gco-atencao,
.wp-block-group.is-style-gco-antes {
	--gco-callout-bg: var(--gco-accent-soft, #f5e4da);
	--gco-callout-rule: var(--gco-accent-strong, #c98f73);
	background: var(--gco-callout-bg);
	border-left: 3px solid var(--gco-callout-rule);
	border-radius: var(--gco-radius-md, 6px);
	padding: 1.25rem 1.5rem;
	margin-block: 2rem;
	color: var(--gco-ink, #1f2925);
}

.wp-block-group.is-style-gco-atencao {
	--gco-callout-bg: #fbefd6;
	--gco-callout-rule: #b7791f;
}

.wp-block-group.is-style-gco-antes {
	--gco-callout-bg: #e4efe8;
	--gco-callout-rule: #2f5e50;
}

.wp-block-group[class*="is-style-gco-"] > :first-child {
	margin-top: 0;
}

.wp-block-group[class*="is-style-gco-"] > :last-child {
	margin-bottom: 0;
}

.gco-callout__title {
	font-family: var(--gco-font-ui, inherit);
	font-size: 0.8125rem !important;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 0.5rem;
}

.wp-block-group[class*="is-style-gco-"] ul,
.wp-block-group[class*="is-style-gco-"] ol {
	margin: 0;
	padding-left: 1.25rem;
}

.wp-block-group[class*="is-style-gco-"] li + li {
	margin-top: 0.35rem;
}

/* Checklist */
.wp-block-list.is-style-gco-checklist {
	list-style: none;
	padding-left: 0;
}

.wp-block-list.is-style-gco-checklist > li {
	position: relative;
	padding-left: 2.1rem;
}

.wp-block-list.is-style-gco-checklist > li + li {
	margin-top: 0.6rem;
}

.wp-block-list.is-style-gco-checklist > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 1.15rem;
	height: 1.15rem;
	border: 1.5px solid var(--gco-link, #2f5e50);
	border-radius: 3px;
	background: var(--gco-surface, #fffdfa);
}

.wp-block-list.is-style-gco-checklist > li::after {
	content: "";
	position: absolute;
	left: 0.38rem;
	top: 0.34em;
	width: 0.36rem;
	height: 0.66rem;
	border: solid var(--gco-link, #2f5e50);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* Numbered steps */
.wp-block-list.is-style-gco-passos {
	list-style: none;
	counter-reset: gco-step;
	padding-left: 0;
}

.wp-block-list.is-style-gco-passos > li {
	counter-increment: gco-step;
	position: relative;
	padding-left: 3rem;
	min-height: 2rem;
}

.wp-block-list.is-style-gco-passos > li + li {
	margin-top: 1rem;
}

.wp-block-list.is-style-gco-passos > li::before {
	content: counter(gco-step);
	position: absolute;
	left: 0;
	top: -0.1em;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--gco-ink, #1f2925);
	color: var(--gco-bg, #f7f4ee);
	font-family: var(--gco-font-ui, inherit);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 2rem;
	text-align: center;
}

/* Temas block */
.gco-topics__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
}

.gco-topic {
	margin: 0;
	background: var(--gco-surface, #fffdfa);
	border: 1px solid var(--gco-line, #ded8cf);
	border-radius: var(--gco-radius-md, 6px);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.gco-topic__link {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
	flex: 1;
}

.gco-topic__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--gco-accent-soft, #f5e4da);
}

.gco-topic__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gco-topic__body {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: 1.25rem 1.25rem 1rem;
}

.gco-topic__name {
	font-family: var(--gco-font-display, Georgia, serif);
	font-size: 1.5rem;
	line-height: 1.15;
	color: var(--gco-ink, #1f2925);
}

.gco-topic__link:hover .gco-topic__name,
.gco-topic__link:focus-visible .gco-topic__name {
	text-decoration: underline;
	text-underline-offset: 0.15em;
	text-decoration-thickness: 1px;
}

.gco-topic__desc {
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--gco-muted, #5b6560);
}

.gco-topic__count {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gco-ink, #1f2925);
	margin-top: 0.25rem;
}

.gco-topic__subs {
	list-style: none;
	margin: 0;
	padding: 0 1.25rem 1.25rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.gco-topic__subs a {
	display: inline-block;
	padding: 0.3rem 0.7rem;
	border: 1px solid var(--gco-line, #ded8cf);
	border-radius: 999px;
	font-size: 0.85rem;
	color: var(--gco-ink, #1f2925);
	text-decoration: none;
}

.gco-topic__subs a:hover,
.gco-topic__subs a:focus-visible {
	border-color: var(--gco-ink, #1f2925);
}

.gco-topics__empty {
	padding: 1rem;
	border: 1px dashed var(--gco-line, #ded8cf);
	color: var(--gco-muted, #5b6560);
}

/* Ad placements (only printed when enabled and filled) */
.gco-ad {
	margin-block: 2.5rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--gco-line, #ded8cf);
	text-align: center;
}

.gco-ad__label {
	display: block;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gco-muted, #5b6560);
	margin-bottom: 0.5rem;
}

/* Form honeypot: off-screen, not focusable, hidden from assistive tech */
.gco-hp {
	position: absolute !important;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
