/**
 * Redesign (Fase 4) + remoção de dependências (Fase 1.1).
 * Carregado DEPOIS de style.css, então sobrescreve com segurança.
 * Tipografia: Bricolage Grotesque (display) + Hanken Grotesk (texto).
 * Cor âncora: o cyan de marca já comprometido (#22b3eb).
 */

:root {
	--accent:        oklch(0.76 0.15 222);
	--accent-strong: oklch(0.48 0.15 235);
	--accent-ink:    oklch(0.34 0.11 235);
	--accent-hover:  oklch(0.82 0.13 214);
	--ink:           oklch(0.20 0.035 245);
	--ink-soft:      oklch(0.42 0.025 245);
	--bg:            oklch(0.985 0.006 235);
	--surface:       oklch(0.955 0.012 235);
	--line:          oklch(0.88 0.018 235);
	--font-display:  'Bricolage Grotesque', system-ui, -apple-system, sans-serif;
	--font-body:     'Hanken Grotesk', system-ui, -apple-system, sans-serif;
	--shadow-soft:   0 2px 8px oklch(0.16 0.04 245 / 0.12);
	--z-dropdown:    100;
	--z-overlay:     300;
	--z-modal:       400;
}

html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--ink); background: var(--bg); }
h1, h2, h3, h4 { font-family: var(--font-display); letter-spacing: -0.02em; text-wrap: balance; }
a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 3px solid var(--accent-hover);
	outline-offset: 3px;
}
.skip-link:focus {
	clip: auto;
	width: auto;
	height: auto;
	top: .75rem;
	left: .75rem;
	padding: .65rem 1rem;
	background: var(--ink);
	color: #fff;
	z-index: var(--z-modal);
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

/* ============================================================
   SINGLE (race report) — coluna de leitura centralizada, sem sidebar
   ============================================================ */
.single.single-post .sidebar { display: none; }
.single.single-post .content-area {
	float: none;
	width: 100%;
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}

/* Hero image-led */
.race-report .post-hero {
	position: relative;
	width: 100%;
	margin: 0 0 1.5rem;
	overflow: hidden;
	border-radius: 14px;
	aspect-ratio: 16 / 9;
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}
.race-report .post-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 22%; /* fotos de prova (retrato) tendem a ter o rosto/medalha no terço superior */
	display: block;
}

/* Header do post — reset do estilo antigo (entry-title com fundo colorido) */
.race-report .post-shell { padding-top: .5rem; }
.race-report .post-title,
.race-report .entry-title {
	background: none;
	color: var(--ink);
	float: none;
	max-width: none;
	margin: 0 0 .6rem;
	padding: 0;
	font-size: clamp(1.9rem, 1.4rem + 2.2vw, 2.75rem);
	line-height: 1.1;
}
.race-report .post-eyebrow {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--accent-ink);
	margin-bottom: .6rem;
}
.race-report .post-byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	font-size: .85rem;
	color: var(--ink-soft);
	margin-bottom: 2rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--line);
}
.race-report .post-byline a { color: var(--ink-soft); }
.race-report .post-byline a:hover { color: var(--accent-strong); }
.race-report .post-byline__sep { opacity: .5; }
.race-report .post-reading-time { font-weight: 600; color: var(--ink); }
.race-report .edit-link a { color: var(--accent); }

/* Reset da entry-meta antiga dentro do header */
.race-report .entry-header .entry-meta {
	background: none;
	color: var(--ink-soft);
	float: none;
	padding: 0;
	max-width: none;
}

/* Corpo do texto — measure e ritmo editoriais */
.race-report .post-content,
.race-report .entry-content {
	font-size: 1.075rem;
	line-height: 1.78;
	color: var(--ink);
	max-width: 70ch;
}
.race-report .post-content p { margin: 0 0 1.4em; }
.race-report .post-content h2 { font-size: 1.6rem; margin: 2.2em 0 .6em; }
.race-report .post-content h3 { font-size: 1.25rem; margin: 1.8em 0 .5em; }
.race-report .post-content a { color: var(--accent-strong); text-decoration: underline; text-underline-offset: 3px; }
.race-report .post-content a:hover { color: var(--accent-ink); }
.race-report .post-content img {
	border-radius: 10px;
	height: auto;
}
.race-report .post-content blockquote {
	margin: 1.8em 0;
	padding: 1.2em 0;
	border-top: 1px solid var(--accent);
	border-bottom: 1px solid var(--accent);
	color: var(--ink-soft);
	font-style: italic;
}
.race-report .post-content figure { margin: 1.8em 0; }
.race-report .post-content figcaption,
.race-report .post-content .wp-caption-text {
	font-size: .82rem;
	color: var(--ink-soft);
	text-align: center;
	margin-top: .5em;
}

/* Vídeos responsivos (substitui o FitVids/jQuery) */
.entry-content iframe[src*="youtube"],
.entry-content iframe[src*="youtube-nocookie"],
.entry-content iframe[src*="player.vimeo"],
.entry-content iframe[src*="vimeo.com"] {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
	border-radius: 10px;
}

/* ============================================================
   PAINEL DE RESULTADO (substitui grid Bootstrap + Material Icons)
   ============================================================ */
.race-result {
	margin: 2.8rem 0;
	padding: clamp(1.4rem, 4vw, 2rem);
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
}
.race-result__title {
	font-size: 1.15rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--accent-ink);
	margin: 0 0 1.2rem;
}
.race-result__grid {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 1.8rem;
	align-items: start;
}
.race-result__medal { margin: 0; text-align: center; }
.race-result__medal img {
	width: 100%;
	max-width: 200px;
	border-radius: 10px;
	box-shadow: var(--shadow-soft);
}
.medal-trigger {
	border: 0;
	background: none;
	padding: 0;
	cursor: zoom-in;
	display: block;
	margin: 0 auto;
}
.medal-trigger img { transition: transform .25s ease; }
.medal-trigger:hover img { transform: scale(1.03); }
.race-result__medal figcaption {
	font-size: .8rem;
	color: var(--ink-soft);
	margin-top: .6rem;
}

.race-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1.1rem 1.4rem;
	margin: 0;
}
.race-stats .stat { min-width: 0; }
.race-stats .stat dt {
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ink-soft);
	margin-bottom: .2rem;
}
.race-stats .stat dd {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--ink);
	line-height: 1.1;
}
.race-stats .stat__unit {
	font-family: var(--font-body);
	font-size: .8rem;
	font-weight: 500;
	color: var(--ink-soft);
	margin-left: .2em;
}
.race-stats .stat--link dd { font-size: 1rem; font-family: var(--font-body); }
.race-stats .stat--link a { color: var(--accent-strong); text-decoration: none; font-weight: 600; }
.race-stats .stat--link a:hover { text-decoration: underline; }

@media (max-width: 600px) {
	.race-result__grid { grid-template-columns: 1fr; }
	.race-result__medal img { max-width: 180px; }
}

/* Lightbox da medalha — <dialog> nativo */
.medal-dialog {
	border: 0;
	background: transparent;
	padding: 0;
	max-width: min(90vw, 900px);
	max-height: 90vh;
}
.medal-dialog::backdrop { background: oklch(0.12 0.02 245 / .85); }
.medal-dialog[open] { animation: dialog-in .2s ease-out; }
.medal-dialog__img { display: block; max-width: 90vw; max-height: 85vh; border-radius: 12px; box-shadow: var(--shadow-soft); }
.medal-dialog__close {
	position: absolute;
	top: -2.5rem;
	right: 0;
	margin: 0;
}
.medal-dialog__close button {
	width: 2.4rem; height: 2.4rem;
	border-radius: 50%;
	border: 0;
	background: oklch(1 0 0 / .15);
	color: #fff;
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	backdrop-filter: blur(4px);
}
.medal-dialog__close button:hover { background: oklch(1 0 0 / .3); }
@keyframes dialog-in { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }

/* ============================================================
   COMPARTILHAR
   ============================================================ */
.race-report .share-post {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem;
	margin: 2.5rem 0 1.2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--line);
}
.race-report .share-post > span {
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ink-soft);
}
.race-report .share-post .share-btn {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	width: auto;
	height: auto;
	padding: .55rem 1.1rem;
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	color: #fff;
	background: var(--accent);
	white-space: nowrap;
	flex: 0 0 auto;
	transition: transform .15s ease, filter .15s ease;
}
.race-report .share-post .share-btn:hover { color: #fff; transform: translateY(-1px); filter: brightness(1.07); }
.race-report .share-post .share-btn svg { width: 1.05em; height: 1.05em; fill: currentColor; flex-shrink: 0; }
.race-report .share-post .share-btn--wa { background: oklch(0.62 0.16 150); }
.race-report .share-post .share-btn--fb { background: oklch(0.45 0.14 255); }
.race-report .share-post .share-btn--tw { background: oklch(0.45 0.02 245); }

/* Footer do post — termos (categoria + tags) */
.race-report .entry-footer .entry-meta {
	font-size: .82rem;
	color: var(--ink-soft);
}
.race-report .post-terms {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	align-items: flex-start;
}
.race-report .term-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem;
}
.race-report .term-label {
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ink-soft);
}
.race-report .term-row a {
	color: var(--accent-strong);
	text-decoration: none;
	font-weight: 600;
}
.race-report .term-row a:hover { text-decoration: underline; }
.race-report .term-tags a {
	display: inline-block;
	padding: .2rem .65rem;
	border-radius: 999px;
	background: var(--surface);
	border: 1px solid var(--line);
	color: var(--ink-soft);
	font-weight: 500;
	font-size: .75rem;
	line-height: 1.5;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.race-report .term-tags a:hover {
	background: var(--accent);
	border-color: var(--accent);
	color: oklch(0.15 0.02 245);
	text-decoration: none;
}

/* ============================================================
   NAVEGAÇÃO (vanilla menu toggle)
   ============================================================ */
@media (max-width: 800px) {
	.nav-menu.is-open { display: block; }
	.nav-menu .sub-menu.is-open,
	.nav-menu .children.is-open { display: block; }
	.dropdown-toggle {
		background: none;
		border: 0;
		color: #818181;
		font-size: 14px;
		padding: 0 8px;
		cursor: pointer;
	}
	.dropdown-toggle.toggled-on { color: #fff; }
	.dropdown-toggle::after { content: "▾"; }
}

/* ============================================================
   NEWSLETTER (Fase 2) — bloco do rodapé + CTA no fim do post
   ============================================================ */
.newsletter-block{
	background: var(--ink);
	color: #fff;
	padding: clamp(2.25rem, 5vw, 3.5rem) 0;
	text-align: center;
}
.newsletter-inner{
	max-width: 680px;
	margin: 0 auto;
	padding: 0 1.25rem;
}
.newsletter-title{
	color: #fff;
	font-size: clamp(1.4rem, 3vw, 2rem);
	margin: 0 0 .5rem;
}
.newsletter-text{
	color: oklch(0.85 0.01 245);
	margin: 0 auto 1.4rem;
	max-width: 46ch;
	line-height: 1.55;
}
.newsletter-form{
	display: flex;
	gap: .5rem;
	flex-wrap: wrap;
	justify-content: center;
}
.newsletter-form input[type=email]{
	flex: 1 1 240px;
	max-width: 380px;
	padding: .85rem 1rem;
	border: 1px solid rgba(255,255,255,.25);
	background: rgba(255,255,255,.06);
	color: #fff;
	border-radius: 8px;
	font-size: 1rem;
	font-family: var(--font-body);
}
.newsletter-form input[type=email]::placeholder{ color: rgba(255,255,255,.55); }
.newsletter-form input[type=email]:focus{
	outline: none;
	border-color: var(--accent);
	background: rgba(255,255,255,.1);
}
.newsletter-form button{
	padding: .85rem 1.6rem;
	border: 0;
	background: var(--accent);
	color: oklch(0.15 0.02 245);
	font-weight: 700;
	border-radius: 8px;
	cursor: pointer;
	font-size: 1rem;
	font-family: var(--font-body);
	transition: background .15s ease, transform .15s ease;
}
.newsletter-form button:hover{ background: var(--accent-strong); color: #fff; transform: translateY(-1px); }
.newsletter-fine{ color: oklch(0.7 0.01 245); font-size: .8rem; margin: .9rem 0 0; }
a.newsletter-rss {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	min-height: 48px;
	padding: .7rem 1.25rem;
	border-radius: 999px;
	background: var(--accent);
	color: var(--ink);
	font-weight: 700;
	text-decoration: none;
}
a.newsletter-rss:hover { background: var(--accent-hover); color: var(--ink); }

/* CTA de newsletter no fim do post removida (redundante com o bloco do rodapé). */

@media (prefers-reduced-motion: reduce){
	.newsletter-form button { transition: none; transform: none; }
}

/* ============================================================
   FASE 4 — Grid de posts (home / arquivos)
   Cards imagem-led com badge de distância e chips de tempo/pace.
   ============================================================ */
.posts-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	margin-bottom: 2.5rem;
}
@media (max-width: 720px) {
	.posts-grid { grid-template-columns: 1fr; }
}

/* Reset do .hentry do tema dentro do grid */
.posts-grid .post-card.hentry {
	background: var(--surface);
	margin: 0;
	padding: 0;
	border: 1px solid var(--line);
	border-radius: 16px;
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.posts-grid .post-card.hentry:hover {
	transform: translateY(-4px);
	border-color: oklch(0.84 0.04 222);
}

.post-card__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: oklch(0.9 0.012 245);
}
.post-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 22%; /* fotos de prova (retrato) tendem a ter o rosto/medalha no terço superior */
	transition: transform .45s ease;
}
.post-card:hover .post-card__media img { transform: scale(1.045); }
.post-card__thumb-empty {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--line), var(--surface));
}
.post-card__badge {
	position: absolute;
	top: .7rem;
	left: .7rem;
	padding: .28rem .62rem;
	border-radius: 999px;
	background: oklch(0.18 0.02 245 / 0.82);
	color: #fff;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .03em;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

.post-card__body {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	padding: clamp(1.1rem, 2.4vw, 1.4rem);
	flex: 1;
}
.post-card__date {
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ink-soft);
}
.post-card__title {
	font-family: var(--font-display);
	font-size: clamp(1.15rem, 2vw, 1.38rem);
	line-height: 1.18;
	margin: 0;
	letter-spacing: -0.01em;
}
.post-card__title a {
	color: var(--ink);
	text-decoration: none;
}
.post-card__title a:hover { color: var(--accent-strong); }

.post-card__race {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}
.race-chip {
	display: inline-flex;
	align-items: baseline;
	gap: .15rem;
	padding: .22rem .55rem;
	border-radius: 7px;
	background: oklch(0.93 0.04 222);
	color: oklch(0.38 0.07 230);
	font-size: .8rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.race-chip small { font-size: .66rem; font-weight: 500; opacity: .75; }

.post-card__excerpt {
	color: var(--ink-soft);
	font-size: .92rem;
	line-height: 1.55;
	margin: 0;
}

.post-card__more {
	margin-top: auto;
	align-self: flex-start;
	color: var(--accent-strong);
	font-size: .85rem;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color .15s ease;
}
.post-card__more:hover { border-color: var(--accent); }

/* Paginação logo abaixo do grid */
.site-main .navigation.pagination { margin-top: 1rem; }

@media (prefers-reduced-motion: reduce) {
	.post-card.hentry:hover { transform: none; }
	.post-card:hover .post-card__media img,
	.post-card__media img { transition: none; transform: none; }
}

/* ============================================================
   FASE 4 — Header e Footer
   ============================================================ */

/* --- Barra de navegação clara, sem ocupar a leitura durante o scroll --- */
.main-navigation {
	background: var(--bg);
	border-bottom: 1px solid var(--line);
	position: relative;
	top: auto;
}
.main-navigation .inner {
	min-height: 68px;
	display: flex;
	align-items: center;
	gap: clamp(.8rem, 2vw, 1.5rem);
}
.admin-bar .main-navigation { top: auto; }
a.site-brand {
	display: inline-flex;
	align-items: center;
	color: var(--ink);
	text-decoration: none;
	white-space: nowrap;
}
.site-brand__name {
	display: inline-flex;
	align-items: baseline;
	font-family: var(--font-display);
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: -.03em;
	line-height: 1;
}
.site-brand__slash {
	margin: 0 .08em;
	color: var(--accent-strong);
	font-size: 1.22em;
	font-weight: 500;
	transform: skewX(-8deg);
}
a.site-brand:hover { color: var(--ink); }
a.site-brand:hover .site-brand__slash { color: var(--accent); }
.nav-menu {
	padding-right: 0;
	margin-right: auto;
	display: flex;
	align-items: center;
	gap: .1rem;
	list-style: none;
	margin-top: 0;
	margin-bottom: 0;
}
.nav-menu li {
	float: none;
	padding: 0;
	font-size: .76rem;
	line-height: 1;
}
.nav-menu a {
	border-left: 0;
	color: var(--ink-soft);
	font-size: .76rem;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1;
	padding: 0 .75rem;
	text-transform: uppercase;
	text-decoration: none;
	transition: color .15s ease;
}
.nav-menu li:first-child > a { padding-left: 0; }
.nav-menu a:hover,
.nav-menu .current-menu-item > a,
.nav-menu .current-menu-ancestor > a,
.nav-menu .current_page_item > a { color: var(--accent-strong); }

.nav-menu .sub-menu,
.nav-menu .children {
	background: #fff;
	border: 1px solid var(--line);
	border-top: 2px solid var(--accent);
	border-radius: 0 0 10px 10px;
	box-shadow: var(--shadow-soft);
	z-index: var(--z-dropdown);
}
.nav-menu .sub-menu li,
.nav-menu .children li { border-bottom: 1px solid var(--line); }
.nav-menu .sub-menu li:last-child,
.nav-menu .children li:last-child { border-bottom: 0; }
.nav-menu .sub-menu a,
.nav-menu .children a { line-height: 1.5; }

/* Botões Newsletter (pill accent) + Pesquisar (ícone) */
a.subscribe-button {
	position: relative;
	right: auto;
	top: auto;
	display: inline-flex;
	align-items: center;
	height: auto;
	background: var(--accent);
	color: oklch(0.18 0.02 245);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .5rem 1rem;
	border-radius: 999px;
	text-decoration: none;
	box-shadow: none;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
a.subscribe-button:hover { background: var(--accent-strong); color: #fff; transform: translateY(-1px); }
.nav-actions { display: flex; align-items: center; margin-left: auto; }

.search-show {
	position: relative;
	right: auto;
	top: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-left: .5rem;
	background: transparent;
	color: var(--ink-soft);
	border-radius: 999px;
	box-shadow: none;
	transition: background .15s ease, color .15s ease;
}
.search-show:hover { background: var(--surface); color: var(--accent-strong); }
.search-show svg { width: 18px; height: 18px; fill: currentColor; }

#menu-toggle {
	display: none;
	background: transparent;
	border: 0;
	color: var(--ink);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	padding: .5rem 0;
}
#menu-toggle::before {
	content: '☰';
	position: static;
	margin-right: .35rem;
	font-family: inherit !important;
	line-height: 1;
}
#menu-toggle[aria-expanded="true"]::before { content: '×'; }

/* --- Rodapé escuro --- */
.site-footer {
	background: oklch(0.19 0.02 245);
	color: oklch(0.72 0.02 245);
	border-top: 4px solid var(--accent);
}
.site-footer .inner { padding-top: 0; }
.site-footer .newsletter-block {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: clamp(2.5rem, 5vw, 3.5rem) 0;
}
.social-links {
	border-bottom: 1px solid oklch(1 0 0 / 0.08);
	padding: 2rem 0;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}
.social-links a {
	width: 40px;
	height: 40px;
	line-height: 40px;
	margin: 0;
	text-align: center;
	background: oklch(1 0 0 / 0.06);
	color: #fff;
	border-radius: 999px;
	box-shadow: none;
}
.social-links a:hover { background: var(--accent); color: oklch(0.18 0.02 245); }
.site-info {
	color: oklch(0.6 0.02 245);
	font-size: .78rem;
	letter-spacing: .02em;
	line-height: 1.6;
	text-transform: none;
	padding: 2rem 0 3rem;
	position: relative;
}
.site-info a { color: oklch(0.8 0.02 245); text-decoration: none; }
.site-info a:hover { color: var(--accent); }
.site-info .top-link {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	top: auto;
	margin: 0;
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--accent);
	color: oklch(0.18 0.02 245);
	border-radius: 999px;
	box-shadow: var(--shadow-soft);
	z-index: 90;
}
.site-info .top-link:hover { background: var(--accent-strong); color: #fff; }
.site-info .top-link svg { width: 20px; height: 20px; fill: currentColor; }

/* --- Menu mobile --- */
@media (max-width: 800px) {
	.admin-bar .main-navigation { top: auto; }
	.main-navigation .inner { min-height: 62px; flex-wrap: wrap; gap: .6rem; }
	.site-brand { margin-right: auto; }
	.site-brand__name { font-size: 1rem; }
	#menu-toggle { display: inline-flex; align-items: center; order: 2; }
	.nav-actions { order: 3; margin-left: 0; }
	.subscribe-button { padding: .48rem .78rem; font-size: .68rem; }
	.search-show { width: 34px; height: 34px; margin-left: .15rem; }
	.nav-menu {
		display: none;
		flex-basis: 100%;
		flex-direction: column;
		align-items: flex-start;
		gap: .15rem;
		margin-right: 0;
		margin-left: 0;
		padding: .35rem 0 .8rem;
		order: 4;
		background: transparent;
	}
	.nav-menu.is-open { display: flex; }
	.nav-menu li { width: 100%; }
	.nav-menu a { display: block; padding: .65rem 0; }
	.nav-menu li:first-child > a { padding-left: 0; }
}

@media (max-width: 420px) {
	.main-navigation,
	.site-content,
	.site-footer { padding-left: 18px; padding-right: 18px; }
}
@media (max-width: 360px) {
	.main-navigation .inner { gap: .4rem; }
	.menu-toggle__label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
	.subscribe-button { padding: .45rem .62rem; font-size: .64rem; }
	.search-show { width: 30px; height: 30px; }
}

/* ============================================================
   FASE 4 — Página Histórico de Corridas (plugin)
   ============================================================ */
.historico { margin: clamp(2rem, 5vw, 4rem) 0; }
.historico__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 1.25rem;
}
.historico__heading h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.3rem); }
.historico__heading p { margin: .3rem 0 0; color: var(--ink-soft); font-size: .86rem; }
.historico-filter { display: flex; align-items: flex-end; flex-wrap: wrap; gap: .65rem; }
.historico-filter label { display: grid; gap: .3rem; color: var(--ink-soft); font-size: .72rem; font-weight: 700; }
.historico-filter select {
	min-width: 132px;
	height: 42px;
	padding: 0 2rem 0 .7rem;
	border: 1px solid var(--line);
	border-radius: 8px;
	background-color: #fff;
	color: var(--ink);
	font: inherit;
}
.historico-filter button,
.historico-load-more {
	min-height: 42px;
	padding: .6rem 1.15rem;
	border: 0;
	border-radius: 8px;
	background: var(--ink);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}
.historico-filter button:hover,
.historico-load-more:hover { background: var(--accent-strong); }
.historico-filter__clear { align-self: center; color: var(--ink-soft); font-size: .78rem; text-underline-offset: 3px; }
.historico-table-wrap { overflow-x: auto; border-top: 2px solid var(--ink); }
.historico table { width: 100%; min-width: 670px; border-collapse: collapse; margin: 0; }
.historico th {
	text-align: left;
	padding: .7rem .75rem;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ink-soft);
	border-bottom: 2px solid var(--line);
}
.historico td {
	padding: .7rem;
	border-bottom: 1px solid var(--line);
	vertical-align: middle;
	font-size: .92rem;
	font-variant-numeric: tabular-nums;
}
.historico tbody tr:hover td { background: oklch(0.96 0.012 235); }
.historico td a { color: var(--ink); text-decoration: none; }
.historico td a:hover { color: var(--accent-strong); }
.historico td:first-child { color: var(--ink-soft); font-size: .82rem; white-space: nowrap; }
.historico td:last-child { color: var(--accent-ink); font-weight: 700; }
.historico-race-name { min-width: 280px; font-weight: 600; }
.historico img { vertical-align: middle; }
.historico-load-more { display: block; margin: 1.25rem auto 0; background: transparent; border: 1px solid var(--ink); color: var(--ink); }
.historico-load-more:hover { border-color: var(--accent-strong); color: #fff; }
.historico-empty { margin: 0; padding: 1.5rem; background: var(--surface); color: var(--ink-soft); text-align: center; }

@media (max-width: 760px) {
	.historico__heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
	.historico-filter { width: 100%; }
	.historico-filter label { flex: 1 1 125px; }
	.historico-filter select { width: 100%; min-width: 0; }
	.historico-table-wrap { overflow: visible; border-top: 0; }
	.historico table { min-width: 0; }
	.historico thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.historico tbody { display: grid; gap: .65rem; }
	.historico tr { display: grid; grid-template-columns: 1fr auto; padding: .85rem 0; border-top: 1px solid var(--line); }
	.historico td { display: block; padding: .15rem 0; border: 0; font-size: .82rem; }
	.historico td:first-child { grid-column: 2; grid-row: 1; padding-left: .75rem; }
	.historico-race-name { grid-column: 1; grid-row: 1; min-width: 0; font-size: .95rem !important; }
	.historico td:nth-child(3) { grid-column: 1; color: var(--ink-soft); }
	.historico td:last-child { grid-column: 2; grid-row: 2; text-align: right; }
}

/* ============================================================
   FASE 5.2 — Posts relacionados (fim do single)
   ============================================================ */
.related-races {
	max-width: 780px;
	margin: 3rem auto 0;
}
.related-races__title {
	font-family: var(--font-display);
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--ink);
	margin: 0 0 1.1rem;
}
.related-races__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}
@media (max-width: 680px) {
	.related-races__grid { grid-template-columns: 1fr; }
}
.related-card {
	display: flex;
	flex-direction: column;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none;
	color: var(--ink);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.related-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px -14px oklch(0.2 0.04 245 / 0.2);
	border-color: oklch(0.84 0.04 222);
}
.related-card__img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: 50% 22%;
	display: block;
}
.related-card__body {
	display: flex;
	flex-direction: column;
	gap: .3rem;
	padding: .8rem .9rem .9rem;
}
.related-card__badge {
	align-self: flex-start;
	padding: .12rem .5rem;
	border-radius: 999px;
	background: oklch(0.93 0.04 222);
	color: oklch(0.38 0.07 230);
	font-size: .68rem;
	font-weight: 700;
}
.related-card__title {
	font-family: var(--font-display);
	font-size: .98rem;
	line-height: 1.25;
	font-weight: 600;
}
.related-card__time {
	font-size: .78rem;
	font-weight: 700;
	color: var(--accent-strong);
	font-variant-numeric: tabular-nums;
}

/* ============================================================
   FASE 4.6 — Dashboard do Histórico (.historico-stats)
   ============================================================ */
.historico-stats {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
	margin: 0 0 2.5rem;
}
.hs-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: .75rem;
}
@media (max-width: 600px) {
	.hs-cards { grid-template-columns: repeat(2, 1fr); }
}
.hs-card {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 1rem .9rem;
	display: flex;
	flex-direction: column;
	gap: .15rem;
}
.hs-card__num {
	font-family: var(--font-display);
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1;
	color: var(--accent-strong);
	font-variant-numeric: tabular-nums;
}
.hs-card__label {
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--ink-soft);
	font-weight: 600;
}
.hs-summary {
	max-width: 66ch;
	margin: -.55rem 0 0;
	color: var(--ink-soft);
	font-size: .92rem;
	line-height: 1.6;
}
.hs-details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.hs-details summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 0;
	color: var(--ink);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}
.hs-details summary::-webkit-details-marker { display: none; }
.hs-details summary span:last-child { color: var(--accent-strong); font-size: 1.4rem; line-height: 1; transition: transform .2s ease; }
.hs-details[open] summary span:last-child { transform: rotate(45deg); }
.hs-details__content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem clamp(1.25rem, 4vw, 3rem);
	padding: .5rem 0 1.5rem;
}
.hs-details__content .hs-block:nth-last-child(-n+2) { grid-column: 1 / -1; }
.hs-block__title {
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--ink);
	margin: 0 0 .8rem;
}
.hs-bars {
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.hs-bar-row {
	display: grid;
	grid-template-columns: 3.5rem 1fr 2rem;
	align-items: center;
	gap: .7rem;
}
.hs-bar-label {
	font-size: .82rem;
	font-weight: 600;
	color: var(--ink-soft);
	font-variant-numeric: tabular-nums;
}
.hs-bar-track {
	display: block;
	height: 10px;
	background: var(--line);
	border-radius: 999px;
	overflow: hidden;
}
.hs-bar-fill {
	display: block;
	height: 100%;
	background: var(--accent);
	border-radius: 999px;
}
.hs-bar-value {
	font-size: .82rem;
	font-weight: 700;
	color: var(--ink);
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.hs-countries {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}
.hs-country {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .35rem .7rem;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 999px;
	font-size: .82rem;
}
.hs-country img { border-radius: 3px; }
.hs-country__name { color: var(--ink); font-weight: 500; }
.hs-country__count {
	font-weight: 700;
	color: var(--accent-strong);
	font-variant-numeric: tabular-nums;
}
.hs-prs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: .6rem;
}
.hs-pr {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	padding: .8rem .9rem;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 8px;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.hs-pr:hover { transform: translateY(-2px); box-shadow: var(--shadow-soft); border-color: oklch(0.84 0.04 222); }
.hs-pr__dist {
	font-family: var(--font-display);
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--ink);
	line-height: 1;
}
.hs-pr__time {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--accent-strong);
	font-variant-numeric: tabular-nums;
}
.hs-pr__where {
	font-size: .76rem;
	color: var(--ink-soft);
}
@media (max-width: 700px) {
	.hs-details__content { grid-template-columns: 1fr; }
	.hs-details__content .hs-block { grid-column: auto; }
}

/* ============================================================
   FASE 3.2 — Blocos de anúncio (.ad-slot) — Google AdSense
   ============================================================ */
.ad-slot {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .4rem;
	margin: 2rem auto;
	max-width: 728px;
	width: 100%;
	min-height: 100px; /* reserva de espaço p/ evitar CLS ao carregar o anúncio */
}
.ad-slot__label {
	font-size: .62rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--ink-soft);
	opacity: .7;
}
.ad-slot .adsbygoogle { display: block; width: 100%; }
.posts-grid > .ad-slot { grid-column: 1 / -1; }
.ad-slot--preview {
	justify-content: center;
	min-height: 120px;
	padding: 1rem;
	border: 1px dashed oklch(0.58 0.025 240);
	border-radius: 8px;
	background: oklch(0.96 0.008 240);
	color: var(--ink-soft);
	text-align: center;
}
.ad-slot--preview strong { color: var(--ink); font-size: .9rem; }
.ad-slot--preview > span:last-child { font-size: .76rem; }

/* ============================================================
   FASE 4.5 — Scroll reveal (progressive; respeita prefers-reduced-motion)
   ============================================================ */
.js [data-reveal] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .55s cubic-bezier(.22,.61,.36,1),
	            transform .55s cubic-bezier(.22,.61,.36,1);
	transition-delay: var(--reveal-delay, 0ms);
	will-change: opacity, transform;
}
.js [data-reveal].is-visible {
	opacity: 1;
	transform: none;
}
/* Stagger — cards relacionados e hero do dashboard */
.related-races__grid .related-card:nth-child(2) { --reveal-delay: 90ms; }
.related-races__grid .related-card:nth-child(3) { --reveal-delay: 180ms; }
.hs-cards .hs-card:nth-child(2) { --reveal-delay: 80ms; }
.hs-cards .hs-card:nth-child(3) { --reveal-delay: 160ms; }
.hs-cards .hs-card:nth-child(4) { --reveal-delay: 240ms; }
@media (prefers-reduced-motion: reduce) {
	.js [data-reveal] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* ============================================================
   FASE 2.2 — Modal de captura (exit-intent)
   ============================================================ */
.nl-modal {
	border: 0;
	border-radius: 16px;
	padding: 0;
	max-width: 460px;
	width: calc(100% - 32px);
	background: var(--surface);
	color: var(--ink);
	box-shadow: var(--shadow-soft);
	overflow: hidden;
	position: relative;
}
.nl-modal::backdrop {
	background: rgba(15, 20, 28, 0.6);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}
.nl-modal[open] { animation: nl-pop .35s cubic-bezier(.22,.61,.36,1); }
@keyframes nl-pop {
	from { opacity: 0; transform: translateY(14px) scale(.98); }
	to { opacity: 1; transform: none; }
}
.nl-modal__close {
	position: absolute;
	top: .55rem;
	right: .65rem;
	background: none;
	border: 0;
	font-size: 1.5rem;
	line-height: 1;
	color: var(--ink-soft);
	cursor: pointer;
	padding: .25rem .4rem;
	border-radius: 6px;
}
.nl-modal__close:hover { background: var(--line); }
.nl-modal__body { padding: 2rem 1.75rem 1.5rem; text-align: center; }
.nl-modal__title {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 .5rem;
}
.nl-modal__text {
	color: var(--ink-soft);
	margin: 0 0 1.25rem;
	font-size: .95rem;
	line-height: 1.5;
}
.nl-modal__form {
	display: flex;
	gap: .5rem;
	margin-bottom: .75rem;
}
.nl-modal__form input {
	flex: 1;
	min-width: 0;
}
.nl-modal__form button { white-space: nowrap; }
.nl-modal__dismiss {
	display: block;
	margin: 0 auto;
	background: none;
	border: 0;
	color: var(--ink-soft);
	font-size: .82rem;
	cursor: pointer;
	text-decoration: underline;
	font-family: var(--font-body);
}
@media (prefers-reduced-motion: reduce) {
	.nl-modal[open] { animation: none; }
}

/* ============================================================
   HOME — missão + relato mais recente
   ============================================================ */
.home.blog .content-area { float: none; width: 100%; }
.home.blog .sidebar { display: none; }
.home.blog .site-content { padding-top: clamp(1rem, 2.4vw, 2rem); }

.home-hero {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
	min-height: min(690px, calc(100vh - 105px));
	background: var(--ink);
	color: #fff;
	border-radius: 16px;
	overflow: hidden;
}
.home-hero__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 5.5vw, 5.5rem);
}
.home-hero__lead {
	max-width: 34ch;
	margin: 0 0 1rem;
	color: var(--accent);
	font-size: clamp(.94rem, 1.2vw, 1.08rem);
	font-weight: 700;
}
.home-hero__title {
	max-width: 12ch;
	margin: 0 0 1.25rem;
	color: #fff;
	font-size: clamp(2.25rem, 4.8vw, 4.8rem);
	font-weight: 700;
	line-height: .98;
	letter-spacing: -.035em;
}
.home-hero__text {
	max-width: 54ch;
	margin: 0 0 1.75rem;
	color: oklch(0.86 0.018 235);
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	line-height: 1.65;
	text-wrap: pretty;
}
.home-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .85rem 1.2rem; }
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	font-weight: 700;
	font-size: .9rem;
	text-decoration: none;
}
a.button--primary {
	padding: .75rem 1.25rem;
	border-radius: 999px;
	background: var(--accent);
	color: var(--ink);
	transition: background .18s ease, transform .18s ease;
}
a.button--primary:hover { background: var(--accent-hover); color: var(--ink); transform: translateY(-2px); }
a.button--text { color: #fff; border-bottom: 1px solid oklch(1 0 0 / .35); }
a.button--text:hover { color: var(--accent); border-color: var(--accent); }

.home-feature { position: relative; min-width: 0; margin: 0; overflow: hidden; }
.home-feature__media,
.home-feature__media img,
.home-feature__fallback { display: block; width: 100%; height: 100%; }
.home-feature__media { position: absolute; inset: 0; background: oklch(0.30 0.04 235); }
.home-feature__media::after {
	content: '';
	position: absolute;
	inset: 45% 0 0;
	background: linear-gradient(to bottom, transparent, oklch(0.14 0.03 245 / .9));
}
.home-feature__media img { object-fit: cover; object-position: 50% 24%; transition: transform .7s cubic-bezier(.22,.61,.36,1); }
.home-feature:hover .home-feature__media img { transform: scale(1.025); }
.home-feature__fallback { background: var(--accent-strong); }
.home-feature__caption {
	position: absolute;
	left: clamp(1.25rem, 3vw, 2.5rem);
	right: clamp(1.25rem, 3vw, 2.5rem);
	bottom: clamp(1.25rem, 3vw, 2.5rem);
	z-index: 1;
}
.home-feature__meta { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .65rem; }
.home-feature__meta span,
.home-feature__meta time {
	padding: .28rem .55rem;
	border-radius: 999px;
	background: oklch(0.16 0.03 245 / .78);
	color: #fff;
	font-size: .72rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.home-feature__caption h2 { max-width: 18ch; margin: 0; font-size: clamp(1.35rem, 2.7vw, 2.35rem); line-height: 1.05; }
.home-feature__caption h2 a { color: #fff; text-decoration: none; }
.home-feature__caption h2 a:hover { color: var(--accent); }

.home-paths {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: clamp(2rem, 5vw, 4rem) 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.home-paths a {
	display: flex;
	flex-direction: column;
	gap: .25rem;
	padding: clamp(1.1rem, 2.5vw, 1.6rem);
	color: var(--ink);
	text-decoration: none;
}
.home-paths a + a { border-left: 1px solid var(--line); }
.home-paths strong { font-family: var(--font-display); font-size: 1.05rem; }
.home-paths span { color: var(--ink-soft); font-size: .86rem; line-height: 1.45; }
.home-paths a:hover { background: var(--surface); }
.home-paths a:hover strong { color: var(--accent-strong); }

.home-editorial { margin: clamp(3rem, 7vw, 6rem) 0; }
.home-editorial__lanes { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: clamp(2rem, 5vw, 4.5rem); }
.editorial-lane { border-top: 2px solid var(--ink); padding-top: 1rem; }
.editorial-lane > header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: 1.1rem; }
.editorial-lane > header h3 { margin: 0; font-size: 1.3rem; }
.editorial-lane > header p { margin: .25rem 0 0; color: var(--ink-soft); font-size: .82rem; }
.editorial-lane > header > a { color: var(--accent-strong); font-size: .78rem; font-weight: 700; text-decoration: none; }
.editorial-lane__items { display: flex; flex-direction: column; }
.editorial-item { display: grid; grid-template-columns: 1fr; gap: 1rem; padding: .9rem 0; border-top: 1px solid var(--line); }
.editorial-item--media { grid-template-columns: 116px minmax(0, 1fr); }
.editorial-item:first-child { border-top: 0; padding-top: 0; }
.editorial-item__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; }
.editorial-item__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.16,1,.3,1); }
.editorial-item:hover .editorial-item__media img { transform: scale(1.04); }
.editorial-item time { color: var(--ink-soft); font-size: .7rem; }
.editorial-item h4 { margin: .25rem 0 0; font-size: 1rem; line-height: 1.28; }
.editorial-item h4 a { color: var(--ink); text-decoration: none; }
.editorial-item h4 a:hover { color: var(--accent-strong); }

.race-calendar { margin: clamp(3rem, 7vw, 6rem) 0; padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--ink); color: #fff; border-radius: 14px; }
.race-calendar__heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.4rem; }
.race-calendar__heading h2 { margin: 0; color: #fff; font-size: clamp(1.5rem, 3vw, 2.25rem); }
.race-calendar__heading p { margin: .3rem 0 0; color: oklch(0.78 0.02 235); }
.race-calendar__heading > a { color: var(--accent); font-size: .82rem; font-weight: 700; text-decoration: none; }
.race-calendar__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
.race-calendar__event { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: .85rem; align-items: center; padding: 1rem 0; border-top: 1px solid oklch(1 0 0 / .15); }
.race-calendar__event time { display: grid; justify-items: center; color: var(--accent); line-height: 1; }
.race-calendar__event time strong { font-size: 1.45rem; }
.race-calendar__event time span { margin-top: .2rem; font-size: .67rem; font-weight: 700; text-transform: uppercase; }
.race-calendar__event h3 { margin: 0; font-size: 1rem; line-height: 1.25; }
.race-calendar__event h3 a { color: #fff; text-decoration: none; }
.race-calendar__event h3 a:hover { color: var(--accent); }
.race-calendar__event p { margin: .25rem 0 0; color: oklch(0.76 0.025 235); font-size: .76rem; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin: 0 0 1.5rem; }
.section-heading h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.4rem); }
.section-heading p { max-width: 42ch; margin: 0; color: var(--ink-soft); text-align: right; }

@media (max-width: 900px) {
	.home-hero { grid-template-columns: 1fr; min-height: 0; }
	.home-feature { min-height: 480px; }
	.home-hero__title { max-width: 14ch; }
	.home-editorial__lanes { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
	.home.blog .site-content { padding-top: .75rem; }
	.home-hero { border-radius: 12px; }
	.home-hero__copy { padding: 2rem 1.35rem 2.25rem; }
	.home-hero__title { font-size: clamp(2.15rem, 11vw, 3.35rem); }
	.home-feature { min-height: 360px; }
	.home-paths { grid-template-columns: 1fr; }
	.home-paths a + a { border-left: 0; border-top: 1px solid var(--line); }
	.section-heading { align-items: flex-start; flex-direction: column; gap: .45rem; }
	.section-heading p { text-align: left; }
	.editorial-item--media { grid-template-columns: 96px minmax(0, 1fr); }
	.race-calendar__heading { align-items: flex-start; flex-direction: column; gap: .65rem; }
	.race-calendar__list { grid-template-columns: 1fr; }
}

/* ============================================================
   PÁGINAS + BARRA EDITORIAL — contraste alto e navegação contextual
   ============================================================ */
.page.diegoronan-wide-page .content-area { float: none; width: 100%; }
.page.diegoronan-wide-page .sidebar { display: none; }

@media (min-width: 961px) {
	.page:not(.diegoronan-wide-page) .content-area,
	.archive .content-area,
	.search .content-area { float: left; width: calc(100% - 356px); }
	.page:not(.diegoronan-wide-page) .sidebar,
	.archive .sidebar,
	.search .sidebar { display: block; float: right; width: 312px; }
}

.sidebar { color: oklch(0.92 0.012 235); font-size: .92rem; }
.sidebar__inner {
	position: relative;
	padding: clamp(1.35rem, 2.6vw, 2rem);
	border-radius: 16px;
	background: radial-gradient(circle at 100% 0, oklch(0.72 0.14 220 / .16), transparent 38%), oklch(0.225 0.045 245);
	box-shadow: 0 18px 45px oklch(0.16 0.035 245 / .15);
	overflow: hidden;
}
.sidebar .widget { margin: 0; padding: 1.5rem 0; border: 0; border-top: 1px solid oklch(1 0 0 / .13); text-align: left; }
.sidebar .widget:first-of-type { padding-top: 0; border-top: 0; }
.sidebar .widget:last-child { padding-bottom: 0; }
.sidebar .widget-title {
	position: relative;
	margin: 0 0 1rem;
	padding-left: 1rem;
	color: #fff;
	font-family: var(--font-display);
	font-size: 1.08rem;
	font-weight: 700;
	letter-spacing: -.012em;
	line-height: 1.15;
	text-transform: none;
}
.sidebar .widget-title::before {
	content: '';
	position: absolute;
	left: 0;
	top: .08em;
	width: 3px;
	height: 1em;
	border-radius: 99px;
	background: var(--accent);
}
.sidebar .widget-title::after { content: none; }
.sidebar ul { margin: 0; padding: 0; }
.sidebar li { color: oklch(0.72 0.025 235); }
.sidebar .widget a:not(.tag-cloud-link) { color: oklch(0.92 0.012 235); text-decoration-color: transparent; text-underline-offset: 3px; }
.sidebar .widget a:not(.tag-cloud-link):hover,
.sidebar .widget a:not(.tag-cloud-link):focus-visible { color: var(--accent); text-decoration-color: currentColor; }
.sidebar .widget_recent_entries li,
.sidebar .widget_recent_comments li,
.sidebar .widget_categories li,
.sidebar .widget_archive li,
.sidebar .widget_nav_menu li,
.sidebar .widget_pages li { margin: 0 0 .72rem; line-height: 1.45; }
.sidebar .widget_recent_entries li:last-child,
.sidebar .widget_recent_comments li:last-child,
.sidebar .widget_categories li:last-child,
.sidebar .widget_archive li:last-child,
.sidebar .widget_nav_menu li:last-child,
.sidebar .widget_pages li:last-child { margin-bottom: 0; }
.sidebar .post-date,
.sidebar .rss-date,
.sidebar .rp-date { margin-top: .2rem; color: oklch(0.72 0.055 225); font-size: .7rem; letter-spacing: .06em; }
.sidebar .tagcloud { display: flex; flex-wrap: wrap; gap: .45rem; }
.sidebar .tag-cloud-link {
	margin: 0;
	padding: .38rem .62rem;
	border: 1px solid oklch(1 0 0 / .14);
	border-radius: 999px;
	background: oklch(1 0 0 / .06);
	color: oklch(0.91 0.015 230);
	font-size: .68rem !important;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1.3;
	text-transform: none;
}
.sidebar .tag-cloud-link:hover,
.sidebar .tag-cloud-link:focus-visible { border-color: var(--accent); background: var(--accent); color: oklch(0.18 0.03 245); }
.sidebar .tag-cloud-link:nth-child(n+13) { display: none; }
.sidebar .search-form { display: grid; gap: .6rem; }
.sidebar .search-form label { margin: 0; }
.sidebar .search-field {
	min-height: 44px;
	margin: 0;
	padding: .65rem .75rem;
	border: 1px solid oklch(1 0 0 / .2);
	border-radius: 8px;
	background: oklch(1 0 0 / .09);
	color: #fff;
}
.sidebar .search-field::placeholder { color: oklch(0.77 0.018 235); }
.sidebar .search-field:focus { border-color: var(--accent); outline: 2px solid oklch(0.78 0.14 220 / .32); outline-offset: 2px; }
.sidebar .search-submit {
	min-height: 42px;
	border: 0;
	border-radius: 8px;
	background: var(--accent);
	color: oklch(0.18 0.03 245);
	font-weight: 700;
}
.sidebar .search-submit:hover { background: #fff; color: var(--ink); }
.sidebar .ad-slot {
	min-height: 90px;
	margin: 0 0 1.5rem;
	padding: .75rem;
	border: 1px dashed oklch(1 0 0 / .18);
	border-radius: 10px;
	background: oklch(1 0 0 / .045);
}
.sidebar .ad-slot__label { color: oklch(0.72 0.025 235); }

@media (max-width: 960px) {
	.page:not(.diegoronan-wide-page) .content-area,
	.archive .content-area,
	.search .content-area,
	.page:not(.diegoronan-wide-page) .sidebar,
	.archive .sidebar,
	.search .sidebar { float: none; width: 100%; }
	.page:not(.diegoronan-wide-page) .sidebar,
	.archive .sidebar,
	.search .sidebar { display: block; clear: both; margin-top: 1rem; }
	.sidebar__inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
	.sidebar .ad-slot { grid-column: 1 / -1; }
	.sidebar .widget:nth-of-type(2) { border-top: 0; padding-top: 0; }
}
@media (max-width: 620px) {
	.sidebar__inner { display: block; border-radius: 12px; }
	.sidebar .widget:nth-of-type(2) { padding-top: 1.5rem; border-top: 1px solid oklch(1 0 0 / .13); }
}

.page-shell.hentry {
	margin: 0 0 clamp(3rem, 7vw, 6rem);
	padding: 0;
	background: transparent;
}
.page-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 190px;
	margin: 0 0 clamp(2rem, 5vw, 4rem);
	padding: clamp(1.5rem, 4vw, 3rem);
	border-bottom: 1px solid var(--line);
}
.page-hero--image {
	min-height: clamp(340px, 54vw, 570px);
	padding: clamp(1.5rem, 4vw, 3.5rem);
	border-bottom: 0;
	border-radius: 0 0 16px 16px;
	overflow: hidden;
}
.page-hero__media {
	position: absolute;
	inset: 0;
	margin: 0;
}
.page-hero__media::after {
	content: '';
	position: absolute;
	inset: 35% 0 0;
	background: linear-gradient(to bottom, transparent, oklch(0.13 0.03 245 / .84));
}
.page-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 42%;
	filter: none;
}
.page-hero__content { position: relative; z-index: 1; max-width: 780px; }
.page-hero__title {
	margin: 0;
	color: var(--ink);
	font-size: clamp(2.25rem, 5.5vw, 4.8rem);
	line-height: 1;
	letter-spacing: -.035em;
}
.page-hero--image .page-hero__title { color: #fff; text-shadow: 0 2px 8px oklch(0.12 0.03 245 / .32); }
.page-hero__edit { margin-top: .7rem; }
.page-hero__edit a { color: var(--accent-strong); font-size: .78rem; font-weight: 700; text-decoration: none; }
.page-hero--image .page-hero__edit a { color: var(--accent); }

.page-content {
	max-width: 760px;
	margin: 0 auto;
	font-size: 1.04rem;
	line-height: 1.75;
	color: var(--ink);
}
.page-shell--wide .page-content { max-width: none; }
.page-content > p { max-width: 70ch; margin: 0 auto 1.45em; text-wrap: pretty; }
.page-content > p > strong:first-child {
	display: block;
	margin: 2.2rem 0 .4rem;
	font-family: var(--font-display);
	font-size: 1.25rem;
	line-height: 1.25;
}
.page-content a { color: var(--accent-strong); text-underline-offset: 3px; }
.page-content input,
.page-content textarea,
.page-content select {
	max-width: 100%;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: #fff;
	color: var(--ink);
}
.page-content input::placeholder,
.page-content textarea::placeholder { color: oklch(0.42 0.025 245); }

.archive .page-header,
.search .page-header {
	margin: 0 0 2rem;
	padding: clamp(2rem, 5vw, 4rem) 0 1.5rem;
	background: transparent;
	border-bottom: 1px solid var(--line);
}
.archive .page-title,
.search .page-title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(2rem, 5vw, 4rem);
	line-height: 1;
	color: var(--ink);
}
.archive .page-title .highlight,
.search .page-title .highlight { color: var(--accent-strong); }

/* ============================================================
   HOME — carregamento contínuo, com paginação sem-JS preservada
   ============================================================ */
.infinite-pagination { position: relative; text-align: center; margin: 1rem 0 4rem; }
.infinite-pagination.is-enhanced > .navigation { display: none; }
.infinite-load {
	min-height: 48px;
	padding: .72rem 1.35rem;
	border: 1px solid var(--ink);
	border-radius: 999px;
	background: transparent;
	color: var(--ink);
	font-family: var(--font-body);
	font-size: .9rem;
	font-weight: 700;
	cursor: pointer;
}
.infinite-load:hover { background: var(--ink); color: #fff; }
.infinite-load:disabled { cursor: wait; opacity: .62; }
.infinite-status { min-height: 1.4em; margin: .7rem 0 0; color: var(--ink-soft); font-size: .82rem; }
.infinite-sentinel { display: block; width: 100%; height: 1px; }
.post-card.infinite-enter { animation: infinite-enter .48s cubic-bezier(.22,.61,.36,1) both; animation-delay: var(--infinite-delay, 0ms); }
@keyframes infinite-enter {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.post-card.infinite-enter { animation: none; }
}

/* ============================================================
   AFILIADOS — shortcode [afiliado] (brecha pronta p/ quando houver contas)
   ============================================================ */
.aff-link-wrap { display: inline-block; margin: .2rem 0; max-width: 100%; }
a.aff-btn {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .6rem 1.2rem;
	border-radius: 999px;
	border: 1.5px solid var(--accent-strong);
	color: var(--accent-ink);
	font-weight: 700;
	font-size: .88rem;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
a.aff-btn:hover { background: var(--accent); border-color: var(--accent); color: oklch(0.18 0.02 245); transform: translateY(-1px); }

.aff-card {
	display: block;
	max-width: 320px;
	border: 1px solid var(--line);
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	background: var(--surface);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.aff-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-soft); border-color: oklch(0.84 0.04 222); }
.aff-card__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.aff-card__cta {
	display: block;
	padding: .7rem .9rem;
	font-weight: 700;
	font-size: .9rem;
	color: var(--accent-strong);
}

.aff-disclosure {
	margin: 2rem 0 0;
	padding: .8rem 1rem;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: var(--surface);
	color: var(--ink-soft);
	font-size: .8rem;
	line-height: 1.5;
}

.affiliate-guide {
	display: grid;
	grid-template-columns: minmax(190px, .72fr) minmax(0, 1.28fr);
	gap: clamp(1rem, 3vw, 2rem);
	margin: 2.5rem 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border-top: 2px solid var(--accent);
	border-bottom: 1px solid var(--line);
	background: var(--surface);
}
.affiliate-guide__intro span {
	color: var(--accent-ink);
	font-size: .78rem;
	font-weight: 700;
}
.affiliate-guide__intro h2 { margin: .35rem 0 .55rem; font-size: 1.35rem; }
.affiliate-guide__intro p { margin: 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.5; }
.affiliate-guide__items { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .8rem; }
.affiliate-guide__items .aff-card { width: min(100%, 280px); }
@media (max-width: 620px) {
	.affiliate-guide { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.home-intro__cta,
	.aff-btn,
	.aff-card { transition: none; }
}
