/* ==========================================================================
   CannaReporter — estilos do tema
   Mood: editorial sério (Bloomberg / Politico). Paleta do manual de marca 2019.
   Mobile first. Sem framework.
   ========================================================================== */

/* --- Tokens ---------------------------------------------------------------- */
:root {
	--cr-red: #a30000;
	--cr-navy: #09203f;
	--cr-blue: #005589;
	--cr-ink: #111418;
	--cr-ink-2: #4a5057;
	--cr-ink-3: #6b7178; /* 4.6:1 sobre branco (WCAG AA para texto pequeno) */
	--cr-line: #e3e6e9;
	--cr-bg: #ffffff;
	--cr-bg-2: #f5f6f7;
	--cr-accent: var(--cr-red);

	--cr-font-head: "Oswald", "Arial Narrow", Impact, sans-serif;
	--cr-font-body: "Source Serif 4", Georgia, "Times New Roman", serif;
	--cr-font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--cr-measure: 45.5rem; /* coluna de leitura = 728px, para o banner article-inline caber sem reduzir */
	--cr-container: 76rem;   /* ≥ 90em passa a 110rem (ver patamares no fim dos tokens) */
	--cr-gutter: 1rem;
	--cr-side: 21.25rem;   /* 300px de banner + 2.5rem de padding da lateral */
	--cr-radius: 2px;
	--cr-sticky-top: 1rem; /* topo dos elementos fixos; em desktop desconta o menu fixo */
}
@media (min-width: 60em) { :root { --cr-sticky-top: calc(var(--wp-admin--admin-bar--height, 0px) + 3rem + 1rem); } }
/* Patamares de largura (viewport): sm < 40em · md 40–60 · lg 60–80 · xl 80–100 · xxl 100–120 · xxxl ≥ 120.
   O contentor cresce com o patamar e cada grelha da homepage tem N colunas por patamar (1·2·3·4·5·6);
   os templates escondem com .cr-h-<tier> os itens que não fecham a última linha. Nunca sobra espaço. */
@media (min-width: 80em)  { :root { --cr-container: 100rem; --cr-gutter: 1.5rem; } }
@media (min-width: 100em) { :root { --cr-container: 120rem; } }
@media (min-width: 120em) { :root { --cr-container: 140rem; --cr-gutter: 2rem; } }
@media (max-width: 39.99em) { .cr-h-sm { display: none !important; } }
@media (min-width: 40em) and (max-width: 59.99em) { .cr-h-md { display: none !important; } }
@media (min-width: 60em) and (max-width: 79.99em) { .cr-h-lg { display: none !important; } }
@media (min-width: 80em) and (max-width: 99.99em) { .cr-h-xl { display: none !important; } }
@media (min-width: 100em) and (max-width: 119.99em) { .cr-h-xxl { display: none !important; } }
@media (min-width: 120em) { .cr-h-xxxl { display: none !important; } }

/* --- Reset mínimo ---------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--cr-font-body);
	font-size: 1.0625rem;
	line-height: 1.55;
	color: var(--cr-ink);
	background: var(--cr-bg);
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 0.15em; }
h1, h2, h3, h4 { font-family: var(--cr-font-head); font-weight: 600; line-height: 1.12; margin: 0; letter-spacing: 0.005em; }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; }
button { font: inherit; cursor: pointer; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.cr-skip { position: absolute; left: -999px; top: 0; background: var(--cr-navy); color: #fff; padding: 0.5rem 1rem; z-index: 100; }
.cr-skip:focus { left: 0; }

/* --- Layout ---------------------------------------------------------------- */
.cr-container { width: 100%; max-width: var(--cr-container); margin-inline: auto; padding-inline: var(--cr-gutter); }
.cr-container--narrow { max-width: calc(var(--cr-measure) + 2 * var(--cr-gutter)); }
/* Artigo: coluna de leitura + lateral, centradas; nunca cresce com o ecrã (sem buracos entre texto e lateral). */
.cr-container--article { max-width: calc(var(--cr-measure) + 2.5rem + var(--cr-side) + 2 * var(--cr-gutter)); }
.cr-container--wide { max-width: 90rem; }
/* minmax(0, 1fr) + min-width: 0 — a coluna nunca cresce além do ecrã por causa de conteúdo sem quebras. */
.cr-layout { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }
.cr-layout > * { min-width: 0; }
.cr-layout__side { align-self: start; }
@media (min-width: 60em) {
	.cr-layout { grid-template-columns: minmax(0, 1fr) var(--cr-side); gap: 2.5rem; }
	.cr-layout__side--sticky { position: sticky; top: var(--cr-sticky-top); align-self: start; }
	.cr-layout__side { border-left: 1px solid var(--cr-line); padding-left: 2.5rem; }
	.cr-layout__side > :first-child { margin-top: 2rem; }
}

/* --- Botões e rótulos ------------------------------------------------------- */
.cr-btn {
	display: inline-block; font-family: var(--cr-font-head); font-weight: 500; font-size: 0.9375rem;
	text-transform: uppercase; letter-spacing: 0.06em; padding: 0.55rem 1rem; border-radius: var(--cr-radius);
	border: 1px solid transparent; line-height: 1;
}
.cr-btn:hover { text-decoration: none; }
.cr-btn--primary { background: var(--cr-red); color: #fff; }
.cr-btn--primary:hover { background: #8a0000; }
.cr-btn--ghost { border-color: var(--cr-line); color: var(--cr-ink); }
.cr-btn--ghost:hover { border-color: var(--cr-ink); }

.cr-label, .cr-cat {
	display: inline-block; font-family: var(--cr-font-head); font-weight: 500; font-size: 0.75rem;
	text-transform: uppercase; letter-spacing: 0.08em; line-height: 1; padding: 0.3rem 0.45rem;
}
.cr-label { background: var(--cr-navy); color: #fff; }
.cr-label--investigacao { background: var(--cr-red); }
.cr-label--analise { background: var(--cr-blue); }
.cr-label--opiniao { background: transparent; color: var(--cr-ink-2); border: 1px solid var(--cr-line); }
.cr-label--patrocinado { background: #f2e9c7; color: #5a4a00; border: 1px solid #d9c98a; }
.cr-label--breaking { background: var(--cr-red); color: #fff; animation: cr-breaking 1.6s ease-in-out infinite; }
@keyframes cr-breaking { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } }
@media (prefers-reduced-motion: reduce) { .cr-label--breaking { animation: none; } }
.cr-cat { color: var(--cat-color, var(--cr-blue)); padding-inline: 0; }
.cr-cat::before { content: ""; display: inline-block; width: 0.5em; height: 0.5em; background: var(--cat-color, var(--cr-blue)); margin-right: 0.4em; vertical-align: 0.05em; }

/* --- Cabeçalho ------------------------------------------------------------- */
.cr-header { border-bottom: 1px solid var(--cr-line); background: var(--cr-bg); }
.cr-header__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 0.75rem; }
.cr-header__brand { display: flex; align-items: center; min-width: 0; }
.cr-header__brand a { display: block; line-height: 0; }
.cr-header__brand img { height: 2.75rem; width: auto; max-width: 60vw; object-fit: contain; }
.cr-header__title { font-family: var(--cr-font-head); font-size: 1.6rem; font-weight: 600; color: var(--cr-navy); text-transform: uppercase; letter-spacing: 0.04em; line-height: 1; }
.cr-header__title:hover { text-decoration: none; color: var(--cr-red); }
@media (min-width: 60em) {
	.cr-header__top { padding-block: 1.25rem 1rem; justify-content: center; }
	.cr-header__title { font-size: 2.1rem; }
	.cr-header__brand img { height: 4.5rem; max-width: none; }
}

.cr-topbar { background: var(--cr-navy); color: rgba(255, 255, 255, 0.82); font-family: var(--cr-font-ui); font-size: 0.75rem; }
.cr-topbar__inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 2rem; }
.cr-topbar__date::first-letter { text-transform: uppercase; }
.cr-topbar__account { color: #fff; font-weight: 600; }
.cr-header__actions { display: flex; gap: 0.5rem; }
.cr-header__actions .cr-btn--ghost { display: none; }
.cr-nav__actions { display: none; }
.cr-btn--small { font-size: 0.8125rem; padding: 0.45rem 0.8rem; }
.cr-header__toggle { background: none; border: 0; padding: 0.5rem; width: 2.5rem; height: 2.5rem; position: relative; }
.cr-header__toggle-bar, .cr-header__toggle-bar::before, .cr-header__toggle-bar::after {
	display: block; width: 1.5rem; height: 2px; background: var(--cr-ink); position: absolute; left: 0.5rem;
}
.cr-header__toggle-bar { top: 50%; }
.cr-header__toggle-bar::before { content: ""; top: -7px; }
.cr-header__toggle-bar::after { content: ""; top: 7px; }
.cr-header__toggle[aria-expanded="true"] .cr-header__toggle-bar { background: transparent; }
.cr-header__toggle[aria-expanded="true"] .cr-header__toggle-bar::before { top: 0; transform: rotate(45deg); }
.cr-header__toggle[aria-expanded="true"] .cr-header__toggle-bar::after { top: 0; transform: rotate(-45deg); }
.cr-nav { display: none; border-bottom: 1px solid var(--cr-line); background: var(--cr-bg-2); }
.cr-nav__brand { display: none; }
.cr-nav.is-open { display: block; }
.cr-nav__search { padding-top: 0.75rem; }
.cr-nav__search .cr-search { margin-block: 0 0.5rem; }
.cr-nav__list { list-style: none; display: flex; flex-direction: column; }
.cr-nav__list > li > a {
	display: block; padding: 0.7rem 0; font-family: var(--cr-font-head); font-weight: 500; font-size: 0.9375rem;
	text-transform: uppercase; letter-spacing: 0.06em; border-bottom: 1px solid var(--cr-line);
}
.cr-nav__list .sub-menu { list-style: none; padding-left: 1rem; }
.cr-nav__list .sub-menu a { display: block; padding: 0.4rem 0; font-family: var(--cr-font-ui); font-size: 0.9rem; color: var(--cr-ink-2); }
@media (min-width: 60em) {
	.cr-header__toggle { display: none; }
	.cr-header__actions { display: none; } /* em desktop Apoiar e Pesquisar vivem no menu */
	/* Menu fixo: a barra cola ao topo ao fazer scroll (está fora do <header>, ver header.php). */
	.cr-nav { display: block; position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; background: var(--cr-bg); transition: box-shadow 0.2s ease; }
	.cr-nav.is-stuck { box-shadow: 0 2px 10px rgba(9, 32, 63, 0.12); }
	.cr-nav__inner { position: relative; }
	.cr-nav > .cr-container { display: flex; align-items: center; justify-content: center; gap: 2rem; }
	.cr-nav__search { display: none; }
	.cr-nav__list { flex-direction: row; gap: 1.5rem; }
	.cr-nav__actions { display: flex; align-items: center; gap: 1rem; padding-left: 2rem; border-left: 1px solid var(--cr-line); }
	.cr-nav__search-link { display: inline-flex; align-items: center; gap: 0.4rem; font-family: var(--cr-font-head); font-weight: 500; font-size: 0.9375rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--cr-ink-2); }
	.cr-nav__search-link:hover { color: var(--cr-red); text-decoration: none; }
	.cr-nav__list > li { position: relative; }
	.cr-nav__list > li > a { border: 0; padding: 0.6rem 0; border-bottom: 3px solid transparent; }
	.cr-nav__list > li:hover > a, .cr-nav__list > li.current-menu-item > a, .cr-nav__list > li.current-menu-ancestor > a { border-bottom-color: var(--cr-red); text-decoration: none; }
	.cr-nav__list > li.menu-item-has-children > a::after { content: ""; display: inline-block; width: 0.35em; height: 0.35em; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: translateY(-0.2em) rotate(45deg); margin-left: 0.4em; opacity: 0.6; }
	.cr-nav__list .sub-menu a { padding: 0.35rem 0; white-space: nowrap; }
	.cr-nav__list .sub-menu li.current-menu-item a { color: var(--cr-red); font-weight: 600; }
	.cr-nav__list .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 12rem; background: var(--cr-bg); border: 1px solid var(--cr-line); padding: 0.5rem 0.75rem; z-index: 20; }
	.cr-nav__list > li:hover .sub-menu, .cr-nav__list > li:focus-within .sub-menu { display: block; }
}

/* Logo pequeno à esquerda do menu fixo — só a partir de 80em, onde há espaço ao lado do menu centrado. */
@media (min-width: 80em) {
	.cr-nav__brand { display: flex; align-items: center; position: absolute; left: var(--cr-gutter); top: 0; bottom: 0; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s; }
	.cr-nav.is-stuck .cr-nav__brand { opacity: 1; visibility: visible; transform: none; }
	.cr-nav__brand:hover { text-decoration: none; }
	.cr-nav__logo { height: 2.25rem; width: auto; }
	.cr-nav__title { font-family: var(--cr-font-head); font-weight: 600; font-size: 1.1rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--cr-navy); }
}

/* --- Cartões --------------------------------------------------------------- */
.cr-card__title a:hover { text-decoration: underline; }
.cr-card__labels { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.5rem; }
.cr-card__meta .cr-author + .cr-date::before { content: "· "; }
.cr-card__meta, .cr-article__meta { font-family: var(--cr-font-ui); font-size: 0.8125rem; color: var(--cr-ink-3); margin: 0.5rem 0 0; }
.cr-card__dek { color: var(--cr-ink-2); margin: 0.5rem 0 0; }
/* Data em destaque na homepage (opção por artigo "Mostrar a data na homepage"). */
.cr-date--flag { color: var(--cr-red); font-weight: 600; }
.cr-band--dark .cr-date--flag { color: #fff; }
.cr-card__media { display: block; }
.cr-card__media img, .cr-thumb--empty { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: var(--cr-bg-2); }
.cr-thumb--empty { display: grid; place-items: center; background: repeating-linear-gradient(135deg, var(--cr-bg-2) 0 12px, #eff1f3 12px 24px); }
.cr-thumb--empty span { font-family: var(--cr-font-head); font-weight: 600; font-size: clamp(1rem, 4vw, 2.5rem); letter-spacing: 0.08em; color: rgba(9, 32, 63, 0.14); }
.cr-card--medium .cr-card__media, .cr-card--hero .cr-card__media { margin-bottom: 0.75rem; }
.cr-card--medium .cr-card__media img, .cr-card--hero .cr-card__media img { transition: opacity 0.15s; }
.cr-card__media:hover img { opacity: 0.9; }

.cr-card--hero .cr-card__title { font-size: clamp(1.6rem, 4vw, 2.5rem); margin-top: 0.5rem; }
.cr-card--hero .cr-card__dek { font-size: 1.05rem; }
.cr-card--medium .cr-card__title { font-size: 1.25rem; margin-top: 0.35rem; }

/* Primeira página em mosaico: células iguais; manchete 2×2; banners e comunicados como células */
.cr-mosaic { display: grid; grid-template-columns: 1fr; grid-auto-rows: auto; grid-auto-flow: dense; gap: 1.5rem; padding-block: 1.5rem 2rem; border-bottom: 1px solid var(--cr-line); align-items: stretch; }
.cr-mosaic__cell { min-width: 0; display: flex; flex-direction: column; }
.cr-mosaic__cell > * { flex: 1; }
.cr-mosaic__cell--lead { grid-column: span 1; }
.cr-mosaic__cell--tall { grid-row: span 2; }
.cr-mosaic__cell .cr-ad { margin-block: 0; justify-content: center; }
.cr-mosaic__cell--comunicados { border: 1px solid var(--cr-line); padding: 0 1rem 0.5rem; background: var(--cr-bg-2); }
.cr-mosaic__cell--comunicados .cr-side-block__title { margin-top: 0.9rem; }
.cr-card--mosaic { display: flex; flex-direction: column; height: 100%; }
.cr-card--mosaic .cr-card__media { margin-bottom: 0.75rem; }
.cr-card--mosaic .cr-card__title { font-size: 1.15rem; }
.cr-card--mosaic .cr-card__meta { margin-top: auto; padding-top: 0.5rem; }
.cr-card--opiniao { background: var(--cr-bg-2); border-top: 3px solid #6b7280; padding: 1rem 1.1rem 1.1rem; }
.cr-card__kicker { font-family: var(--cr-font-ui); font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cr-ink-3); }
.cr-card__face { display: block; width: 4rem; margin: 0.75rem 0 0.5rem; line-height: 0; }
.cr-card--opiniao .cr-person__name { font-size: 0.85rem; margin: 0 0 0.35rem; }
.cr-card__title--quote { font-family: var(--cr-font-body); font-style: italic; font-weight: 400; font-size: 1.15rem; line-height: 1.3; }
.cr-mosaic .cr-card--hero .cr-card__title { font-size: clamp(1.6rem, 2.4vw, 2.4rem); }
.cr-mosaic .cr-card--hero .cr-card__dek { font-size: 1.05rem; }
.cr-mosaic .cr-card--hero .cr-card__media { margin-bottom: 0.75rem; }
@media (min-width: 40em) {
	.cr-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cr-mosaic__cell--lead { grid-column: span 2; grid-row: span 2; }
}
@media (min-width: 60em)  { .cr-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 80em)  { .cr-mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 100em) { .cr-mosaic { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 120em) { .cr-mosaic { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

.cr-card--list { display: grid; grid-template-columns: 6rem 1fr; gap: 1rem; padding-block: 1rem; border-bottom: 1px solid var(--cr-line); }
.cr-card--list .cr-card__media img, .cr-card--list .cr-thumb--empty { aspect-ratio: 1 / 1; }
.cr-card--list .cr-card__title { font-size: 1.15rem; }
@media (min-width: 40em) { .cr-card--list { grid-template-columns: 8rem 1fr; } }

.cr-card--compact { padding-block: 0.6rem; border-bottom: 1px solid var(--cr-line); }
.cr-card--compact .cr-card__title { font-size: 1rem; font-weight: 500; margin-top: 0.2rem; }
.cr-card--compact .cr-card__labels { margin-bottom: 0; }

/* --- Homepage: ticker, manchete, faixas, pessoas, pares de secções ---------- */
.cr-ticker { background: var(--cr-bg-2); border-bottom: 1px solid var(--cr-line); font-family: var(--cr-font-ui); font-size: 0.85rem; }
.cr-ticker__inner { display: flex; align-items: center; gap: 1rem; min-height: 2.25rem; }
.cr-ticker__label { flex: none; font-family: var(--cr-font-head); font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: #fff; background: var(--cr-red); padding: 0.25rem 0.5rem; }
.cr-ticker__label:hover { text-decoration: none; background: #8a0000; }
.cr-ticker__track { flex: 1; min-width: 0; overflow: hidden; }
.cr-ticker__list { list-style: none; display: flex; gap: 2rem; white-space: nowrap; width: max-content; }
.cr-ticker__item time { color: var(--cr-ink-3); font-variant-numeric: tabular-nums; margin-right: 0.4em; }
.cr-ticker__item a { color: var(--cr-ink); }
@media (max-width: 59.99em) {
	.cr-ticker__list { animation: cr-ticker 40s linear infinite; padding-right: 2rem; }
	.cr-ticker__track:hover .cr-ticker__list { animation-play-state: paused; }
	@keyframes cr-ticker { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 1rem)); } }
}
@media (prefers-reduced-motion: reduce) { .cr-ticker__list { animation: none; } .cr-ticker__track { overflow-x: auto; } }

.cr-card--title { padding-block: 0.25rem; }
.cr-card--title .cr-card__title { font-size: 1.25rem; margin-top: 0.35rem; }
.cr-card--title .cr-card__dek { font-size: 0.95rem; }

.cr-timeline { padding-top: 0.5rem; }
.cr-timeline__grid { display: grid; grid-template-columns: 1fr; gap: 0 2.5rem; }
.cr-timeline__item { display: grid; grid-template-columns: 4.5rem 1fr; gap: 0.75rem; padding-block: 0.8rem; border-bottom: 1px solid var(--cr-line); }
.cr-timeline__time { font-family: var(--cr-font-ui); font-size: 0.75rem; font-weight: 600; color: var(--cr-red); text-transform: uppercase; letter-spacing: 0.04em; padding-top: 0.3rem; font-variant-numeric: tabular-nums; }
.cr-timeline__title { font-size: 1.05rem; font-weight: 500; margin-top: 0.2rem; }
.cr-timeline__item--weak .cr-timeline__time { color: var(--cr-ink-3); }
.cr-timeline__item--nodate { grid-template-columns: 1fr; padding-left: 0.9rem; border-left: 3px solid var(--cat-color, var(--cr-line)); }
.cr-timeline__item--nodate .cr-timeline__body { position: relative; }
.cr-timeline__item--weak .cr-timeline__title { color: var(--cr-ink-2); font-weight: 400; }
@media (min-width: 40em)  { .cr-timeline__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 60em)  { .cr-timeline__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 80em)  { .cr-timeline__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 100em) { .cr-timeline__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 120em) { .cr-timeline__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.cr-latest__day { font-family: var(--cr-font-ui); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cr-ink-3); margin: 1.25rem 0 0; padding-bottom: 0.25rem; border-bottom: 1px solid var(--cr-line); }
.cr-latest__day:first-of-type { margin-top: 0; }
.cr-latest__more { margin: 1.25rem 0 0; }
.cr-card--weak { grid-template-columns: 4rem 1fr; padding-block: 0.6rem; }
.cr-card--weak .cr-card__title { font-size: 1rem; font-weight: 500; color: var(--cr-ink-2); }
.cr-card--weak .cr-card__media img { filter: grayscale(1); opacity: 0.8; }
@media (min-width: 40em) { .cr-card--weak { grid-template-columns: 5rem 1fr; } }

.cr-band { margin-block: 2.5rem; padding-block: 2.5rem; }
.cr-band--dark { background: var(--cr-navy); color: #fff; }
.cr-band--navy { background: var(--cr-navy); color: #fff; margin-bottom: 0; }
.cr-band__head { max-width: var(--cr-measure); margin-bottom: 1.5rem; }
.cr-band__title { font-size: clamp(1.5rem, 3vw, 2rem); color: inherit; }
.cr-band__lead { font-family: var(--cr-font-ui); font-size: 1rem; opacity: 0.85; margin: 0.5rem 0 0; }
.cr-band__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin: 1.75rem 0 0; }
.cr-band__more { font-family: var(--cr-font-ui); font-size: 0.9rem; color: inherit; opacity: 0.85; }
.cr-band--dark .cr-card__meta, .cr-band--dark .cr-card__dek { color: rgba(255, 255, 255, 0.75); }
.cr-band--dark .cr-cat { color: #fff; } .cr-band--dark .cr-cat::before { background: var(--cr-red); }
.cr-band--dark .cr-card__media img { border-radius: var(--cr-radius); }
.cr-label--early { background: #f2e9c7; color: #5a4a00; }
.cr-investigacao__grid { display: grid; gap: 1.5rem; }
.cr-card--wide .cr-card__media { margin-bottom: 0.75rem; }
.cr-card--wide .cr-card__title { font-size: 1.3rem; }
@media (min-width: 40em) { .cr-investigacao__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; } }
@media (min-width: 60em) { .cr-investigacao__grid { grid-template-columns: repeat(4, 1fr); } }

.cr-section-title--people { border-top-color: #b45309; }
.cr-people__grid { display: grid; gap: 1.5rem 2rem; margin-top: 1.25rem; }
@media (min-width: 40em) { .cr-people__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 60em) { .cr-people__grid { grid-template-columns: repeat(4, 1fr); } }
.cr-person { display: grid; grid-template-columns: 4rem 1fr; gap: 0.9rem; align-items: start; }
.cr-person__media { display: block; line-height: 0; }
.cr-person__face { width: 4rem; height: 4rem; border-radius: 50%; object-fit: cover; aspect-ratio: 1; display: block; background: var(--cr-bg-2); }
.cr-face--initials { display: grid; place-items: center; width: var(--face-size, 4rem); height: var(--face-size, 4rem); border-radius: 50%; background: var(--cr-navy); color: #fff; font-family: var(--cr-font-head); font-weight: 500; font-size: calc(var(--face-size, 64px) * 0.38); letter-spacing: 0.04em; line-height: 1; }
.cr-author-box__avatar, .cr-author-header__avatar { width: 4rem; height: 4rem; object-fit: cover; }
.cr-author-header__avatar { width: 6rem; height: 6rem; }
.cr-person__face--empty { background: repeating-linear-gradient(135deg, var(--cr-bg-2) 0 6px, #eff1f3 6px 12px); }
.cr-person__name { font-family: var(--cr-font-ui); font-size: 0.85rem; font-weight: 600; margin: 0 0 0.25rem; }
.cr-person__role { font-weight: 400; color: var(--cr-ink-3); }
.cr-person__role::before { content: " · "; }
.cr-person__role--alone::before { content: none; }
.cr-person__quote { font-size: 1.1rem; font-weight: 500; }
.cr-person--entrevista .cr-person__quote { font-family: var(--cr-font-body); font-style: italic; font-weight: 400; line-height: 1.3; }

.cr-section-row { display: grid; gap: 2rem; }
@media (min-width: 40em) { .cr-section-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; } }
@media (min-width: 60em) { .cr-section-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; } }
@media (min-width: 80em) { .cr-section-row { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cr-section--pair .cr-section-title { margin-top: 2rem; }
.cr-section--pair .cr-section__grid { grid-template-columns: 1fr; }
.cr-section--pair .cr-section__grid .cr-card--medium { grid-row: auto; }
.cr-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: -0.25rem 0 0.75rem; }
.cr-chip { display: inline-block; font-family: var(--cr-font-ui); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.02em; padding: 0.25rem 0.6rem; border: 1px solid var(--cr-line); border-radius: 999px; color: var(--cr-ink-2); }
.cr-chip:hover { border-color: var(--cat-color, var(--cr-navy)); color: var(--cat-color, var(--cr-navy)); text-decoration: none; }

.cr-guides__grid { display: grid; gap: 1.25rem; margin-top: 1.25rem; }
@media (min-width: 40em) { .cr-guides__grid { grid-template-columns: repeat(3, 1fr); } }
.cr-guide { border: 1px solid var(--cr-line); border-top: 3px solid var(--cr-blue); padding: 1rem 1.25rem; background: var(--cr-bg-2); }
.cr-guide__kicker { font-family: var(--cr-font-ui); font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cr-blue); }
.cr-guide__title { font-size: 1.2rem; margin-top: 0.35rem; }
.cr-guide__dek { font-size: 0.95rem; color: var(--cr-ink-2); margin: 0.5rem 0 0; }
.cr-guide__meta { font-family: var(--cr-font-ui); font-size: 0.8rem; color: var(--cr-ink-3); margin: 0.75rem 0 0; }

.cr-support__grid { display: grid; gap: 2rem; }
@media (min-width: 60em) { .cr-support__grid { grid-template-columns: 1fr 1fr; gap: 4rem; } .cr-support__col + .cr-support__col { border-left: 1px solid rgba(255, 255, 255, 0.18); padding-left: 4rem; } }
.cr-support .cr-band__title { font-size: 1.5rem; }
.cr-support .cr-btn { margin-top: 1rem; }
.cr-btn--light { background: #fff; color: var(--cr-navy); }
.cr-btn--light:hover { background: #e9edf2; }

/* Micro-movimento contido */
.cr-card__title a, .cr-person__quote a, .cr-guide__title a { text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size 0.2s ease; }
.cr-card__title a:hover, .cr-person__quote a:hover, .cr-guide__title a:hover { text-decoration: none; background-size: 100% 1px; }
.cr-card__media img { transition: opacity 0.15s ease, transform 0.3s ease; }
.cr-card__media:hover img { opacity: 0.92; }

/* Top Header: banner dentro da barra azul, em todas as páginas (máx. 200px de altura) */
.cr-topbar__ad .cr-ad { margin-block: 0.25rem 0.75rem; min-height: 0; }
.cr-topbar__ad .cr-ad__label { color: rgba(255, 255, 255, 0.55); }
.cr-topbar__ad .cr-ad__creative img, .cr-topbar__ad .cr-ad__creative svg { max-height: 200px; width: auto; }
.cr-topbar__ad .cr-ad__placeholder { background: repeating-linear-gradient(45deg, rgba(255,255,255,0.08), rgba(255,255,255,0.08) 8px, rgba(255,255,255,0.14) 8px, rgba(255,255,255,0.14) 16px); color: rgba(255, 255, 255, 0.7); max-height: 200px; }

/* --- Secções da homepage --------------------------------------------------- */
.cr-section-title {
	font-size: 1rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cr-navy);
	border-top: 3px solid var(--cat-color, var(--cr-navy)); padding-top: 0.5rem; margin: 2rem 0 1rem;
}
.cr-section__grid { display: grid; gap: 1rem; }
.cr-section__more { display: inline-block; margin-top: 0.75rem; font-family: var(--cr-font-ui); font-size: 0.85rem; color: var(--cr-blue); }
@media (min-width: 40em) {
	.cr-section__grid { grid-template-columns: 1fr 1fr; }
	.cr-section__grid .cr-card--medium { grid-row: span 3; }
}

.cr-layout__side .cr-side-block:first-child .cr-side-block__title { margin-top: 0; }
.cr-side-block__title { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cr-navy); border-top: 3px solid var(--cr-navy); padding-top: 0.5rem; margin: 2rem 0 0.5rem; }
.cr-most-read__list { list-style: none; counter-reset: mr; }
.cr-most-read__list > li { display: grid; grid-template-columns: 2rem 1fr; }
.cr-most-read__list > li::before { counter-increment: mr; content: counter(mr); font-family: var(--cr-font-head); font-size: 1.5rem; color: var(--cr-ink-3); padding-top: 0.6rem; }

/* --- Artigo ---------------------------------------------------------------- */
.cr-article__header { padding-top: 1.5rem; }
.cr-article__header > * { max-width: calc(var(--cr-measure) + 8rem); }
.cr-article__labels { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.75rem; }
.cr-article__title { font-size: clamp(1.75rem, 5vw, 2.75rem); }
.cr-article__dek { font-size: 1.15rem; color: var(--cr-ink-2); margin: 0.75rem 0 0; }
.cr-article__meta { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--cr-line); }
.cr-article__meta-sep:first-child, .cr-article__meta-sep + .cr-article__meta-sep { display: none; }
.cr-article__meta .cr-author { color: var(--cr-ink); font-weight: 600; }
.cr-article__figure { margin: 1.5rem auto 2rem; }
.cr-article__figure img { width: 100%; max-height: 60vh; object-fit: cover; }
.cr-article__figure .cr-thumb--empty { display: none; }
.cr-article__figure figcaption { font-family: var(--cr-font-ui); font-size: 0.8rem; color: var(--cr-ink-3); padding: 0.4rem var(--cr-gutter) 0; }
.cr-layout--article .cr-layout__main { max-width: var(--cr-measure); }

/* Partilha: ligações diretas, sem scripts de terceiros. */
.cr-share { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; font-family: var(--cr-font-ui); font-size: 0.8rem; margin-bottom: 1.5rem; }
.cr-share__label { color: var(--cr-ink-3); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.7rem; margin-right: 0.25rem; }
.cr-share__btn { display: inline-block; padding: 0.35rem 0.7rem; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); color: var(--cr-ink); background: var(--cr-bg); text-decoration: none; font: inherit; cursor: pointer; line-height: 1.2; }
.cr-share__btn:hover { border-color: var(--cr-navy); color: var(--cr-navy); text-decoration: none; }
.cr-share__btn.is-done { border-color: var(--cr-navy); background: var(--cr-navy); color: #fff; }

/* Lateral do artigo: a coluna estende-se até ao fim do texto e só o banner é fixo — acompanha a leitura
   sem a lateral ficar mais alta que o ecrã (o que impediria ver o fundo). */
@media (min-width: 60em) {
	.cr-layout--article .cr-layout__side--sticky { position: static; align-self: stretch; }
	.cr-layout--article .cr-layout__side .cr-ad { position: sticky; top: var(--cr-sticky-top); margin-top: 1.5rem; }
}

/* Lateral: "Mais de {categoria}" (sem leituras contadas). */
.cr-side-block__title a { color: inherit; text-decoration: none; }
.cr-side-block__title a:hover { text-decoration: underline; }
.cr-side-section__list { list-style: none; padding: 0; }
.cr-side-section__list > li { padding-block: 0.6rem; border-bottom: 1px solid var(--cr-line); }
.cr-side-section__list .cr-card__title { font-size: 1rem; font-weight: 500; }
.cr-side-section__list .cr-card__meta { margin-top: 0.2rem; }

.cr-prose { font-size: 1.125rem; line-height: 1.65; overflow-wrap: anywhere; }
.cr-prose::after { content: ""; display: table; clear: both; }
.cr-prose > * { margin-block: 0; }
.cr-prose > * + * { margin-top: 1.15em; }
.cr-prose > p:first-child { font-size: 1.2rem; line-height: 1.55; }
.cr-prose strong, .cr-prose b { font-weight: 600; }
.cr-prose .wp-caption, .cr-prose figure { max-width: 100%; }
.cr-prose .wp-caption img { width: 100%; }
.cr-prose .wp-caption-text, .cr-prose .wp-element-caption { font-family: var(--cr-font-ui); font-size: 0.8rem; color: var(--cr-ink-3); margin-top: 0.4rem; }
.cr-prose .aligncenter { margin-inline: auto; }
@media (min-width: 40em) {
	.cr-prose .alignleft { float: left; margin: 0.35em 1.5em 1em 0; max-width: 45%; }
	.cr-prose .alignright { float: right; margin: 0.35em 0 1em 1.5em; max-width: 45%; }
	.cr-prose .alignleft + *, .cr-prose .alignright + * { margin-top: 0; }
}
@media (max-width: 39.99em) { .cr-prose .wp-caption { width: 100% !important; } }
.cr-prose h2 { font-size: 1.5rem; margin-top: 1.8em; }
.cr-prose h3 { font-size: 1.25rem; margin-top: 1.5em; }
.cr-prose a { color: var(--cr-blue); text-decoration: underline; text-underline-offset: 0.15em; }
.cr-prose blockquote { border-left: 3px solid var(--cr-red); margin: 1.5em 0; padding: 0.25em 0 0.25em 1.25em; font-style: italic; color: var(--cr-ink-2); }
.cr-prose ul, .cr-prose ol { padding-left: 1.4em; }
.cr-prose img { margin-inline: auto; }
.cr-prose figcaption { font-family: var(--cr-font-ui); font-size: 0.8rem; color: var(--cr-ink-3); }
.cr-prose table { display: block; overflow-x: auto; border-collapse: collapse; width: 100%; font-family: var(--cr-font-ui); font-size: 0.9rem; }
.cr-prose th, .cr-prose td { border: 1px solid var(--cr-line); padding: 0.4rem 0.6rem; text-align: left; }
.cr-prose hr { border: 0; border-top: 1px solid var(--cr-line); margin-block: 2em; }

/* Inserções do cr-core no corpo do texto */
.cr-prose > .cr-ad { margin-block: 2em; padding-block: 1rem; border-block: 1px solid var(--cr-line); }
.cr-context { font-family: var(--cr-font-ui); font-size: 0.9rem; margin-block: 2em; padding: 1rem 1.25rem; background: var(--cr-bg-2); border-left: 4px solid var(--cr-navy); }
.cr-context__title { display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cr-navy); margin-bottom: 0.5rem; }
.cr-context ul { list-style: none; padding: 0; }
.cr-context li { padding: 0.3rem 0; line-height: 1.4; }
.cr-context li + li { border-top: 1px solid var(--cr-line); }
.cr-context a { color: var(--cr-ink); font-weight: 600; text-decoration: none; }
.cr-context a:hover { color: var(--cr-blue); text-decoration: underline; }
.cr-context__date { color: var(--cr-ink-3); font-size: 0.8rem; white-space: nowrap; }
/* Só flutua quando a coluna de leitura tem largura para isso (a partir de 70em). */
@media (min-width: 70em) {
	.cr-context { float: right; width: 16rem; margin: 0.3em 0 1em 2em; }
	.cr-context + * { margin-top: 0; }
}

.cr-sources, .cr-corrections, .cr-author-box { font-family: var(--cr-font-ui); font-size: 0.9rem; margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid var(--cr-line); }
.cr-sources__title, .cr-corrections__title { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cr-navy); margin-bottom: 0.5rem; }
.cr-sources ul, .cr-corrections ul { list-style: none; }
.cr-sources li, .cr-corrections li { padding: 0.3rem 0; }
.cr-sources a { color: var(--cr-blue); }
.cr-corrections { background: var(--cr-bg-2); padding: 1rem; border: 0; }
.cr-article__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 2rem; }
.cr-tag { font-family: var(--cr-font-ui); font-size: 0.8rem; padding: 0.3rem 0.6rem; background: var(--cr-bg-2); border-radius: var(--cr-radius); }
.cr-tag--country { background: var(--cr-navy); color: #fff; }
.cr-author-box { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; }
.cr-author-box__avatar { border-radius: 50%; }
.cr-author-box__name { font-weight: 600; margin: 0; }
.cr-author-box__role { color: var(--cr-ink-3); margin: 0 0 0.5rem; }
.cr-notice { font-family: var(--cr-font-ui); font-size: 0.95rem; padding: 1rem; margin-bottom: 1.5rem; border-left: 4px solid var(--cr-red); background: var(--cr-bg-2); }

.cr-article__footer { padding-block: 2rem; }
.cr-related__grid { display: grid; gap: 1.5rem; }
@media (min-width: 40em) { .cr-related__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 60em) { .cr-related__grid { grid-template-columns: repeat(4, 1fr); } }
/* Telemóvel: relacionados em lista horizontal (imagem à esquerda), em vez de 4 cartões grandes empilhados. */
@media (max-width: 39.99em) {
	.cr-related__grid { gap: 1rem; }
	.cr-related__grid .cr-card--medium { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 0.75rem; align-items: start; }
	.cr-related__grid .cr-card--medium .cr-card__media { margin: 0; }
	.cr-related__grid .cr-card--medium .cr-card__title { font-size: 1rem; margin-top: 0.2rem; }
}

/* --- Arquivos, autor, pesquisa, página ------------------------------------- */
.cr-archive-header { padding-block: 1.5rem 0; border-bottom: 3px solid var(--cat-color, var(--cr-navy)); margin-bottom: 1rem; }
.cr-archive-header__kicker { font-family: var(--cr-font-ui); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cat-color, var(--cr-navy)); margin-bottom: 0.25rem; }
.cr-archive-header__title { font-size: clamp(1.75rem, 4vw, 2.5rem); color: var(--cat-color, var(--cr-navy)); }
.cr-archive-header__desc { color: var(--cr-ink-2); margin-top: 0.5rem; max-width: var(--cr-measure); }
.cr-subnav { margin-top: 1rem; font-family: var(--cr-font-ui); font-size: 0.85rem; overflow-x: auto; }
.cr-subnav ul { list-style: none; display: flex; gap: 0.25rem 1.25rem; white-space: nowrap; padding-bottom: 0.6rem; }
.cr-subnav a { color: var(--cr-ink-2); text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.75rem; font-weight: 600; }
.cr-subnav li.is-current a { color: var(--cat-color, var(--cr-navy)); box-shadow: 0 2px 0 currentColor; }
.cr-subnav a:hover { color: var(--cat-color, var(--cr-navy)); text-decoration: none; }
/* --- Listagens em grelha por patamares (categoria, etiqueta, país, data, autor) --- */
/* Linha de destaque: 1.º artigo em cartão horizontal + banner 300×600 (300×250 em ecrã pequeno, por baixo). */
.cr-archive-lead { display: grid; gap: 1.5rem; margin-block: 1.5rem 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--cr-line); }
.cr-archive-lead .cr-ad { margin-block: 0; }
.cr-archive-lead .cr-card--hero .cr-card__title { font-size: clamp(1.5rem, 3vw, 2.25rem); }
@media (min-width: 40em) {
	.cr-archive-lead .cr-card--hero { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1.5rem; align-items: center; }
	.cr-archive-lead .cr-card--hero .cr-card__media { margin-bottom: 0; }
}
@media (min-width: 60em) {
	.cr-archive-lead { grid-template-columns: minmax(0, 1fr) 300px; gap: 2.5rem; align-items: center; }
	.cr-archive-lead--noad { grid-template-columns: minmax(0, 1fr); }
	.cr-archive-lead .cr-ad { min-height: 0; }
}
/* Grelha de cartões: 1 · 2 · 3 · 4 · 4 · 6 colunas; 12 por página fecham sempre a última linha. */
.cr-archive-grid { display: grid; gap: 1.5rem 1.5rem; grid-template-columns: minmax(0, 1fr); margin-top: 1.5rem; }
.cr-archive-grid > * { min-width: 0; }
.cr-archive-grid__cell--sponsored { display: flex; }
.cr-archive-grid__cell--sponsored .cr-ad { margin-block: 0; flex: 1; align-items: stretch; border: 1px solid var(--cr-line); border-bottom-width: 1px; padding: 0.75rem; }
.cr-archive-grid__cell--sponsored .cr-ad__placeholder { height: 100%; min-height: 12rem; }
@media (min-width: 40em)  { .cr-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 60em)  { .cr-archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.5rem; } }
@media (min-width: 80em)  { .cr-archive-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 120em) { .cr-archive-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
/* Cartões de lista em colunas (pesquisa, 404): 1 · 1 · 2 · 2 · 3 · 3. */
.cr-list-grid { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 2.5rem; margin-top: 0.5rem; }
.cr-list-grid > * { min-width: 0; }
@media (min-width: 60em)  { .cr-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 100em) { .cr-list-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 40em)  { .cr-list-grid--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 80em)  { .cr-list-grid--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cr-archive-header--search .cr-search { max-width: 36rem; margin-top: 1rem; }
.cr-author-header__kicker { font-family: var(--cr-font-ui); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cr-ink-3); margin-bottom: 0.25rem; }
.cr-author-header { border-bottom: 3px solid var(--cr-navy); margin-bottom: 1rem; }
/* 404 */
.cr-404__lead { color: var(--cr-ink-2); }
.cr-404 .cr-search { max-width: 36rem; }
.cr-404__links { font-family: var(--cr-font-ui); font-size: 0.9rem; }
/* Apoiar */
.cr-btn--big { font-size: 1.05rem; padding: 0.8rem 1.5rem; }
.cr-btn--outline { background: transparent; border: 1px solid var(--cr-navy); color: var(--cr-navy); }
.cr-btn--outline:hover { background: var(--cr-navy); color: #fff; }
.cr-support-page__header { max-width: calc(var(--cr-measure) + 2 * var(--cr-gutter)); }
.cr-support-page__intro { margin-block: 1rem 1.5rem; }
.cr-support-page__why { display: grid; gap: 1.5rem; margin-block: 2.5rem; padding-block: 2rem; border-block: 1px solid var(--cr-line); }
@media (min-width: 60em) { .cr-support-page__why { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; } }
.cr-support-page__num { font-family: var(--cr-font-head); font-size: 2rem; color: var(--cr-red); line-height: 1; }
.cr-support-page__reason h2 { font-size: 1.25rem; margin-top: 0.5rem; }
.cr-support-page__reason p { color: var(--cr-ink-2); margin-top: 0.4rem; }
.cr-support-page__plans { display: grid; gap: 1.5rem; margin-block: 2.5rem; }
@media (min-width: 60em) { .cr-support-page__plans { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cr-plan { border: 1px solid var(--cr-line); padding: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; }
.cr-plan--featured { border-color: var(--cr-navy); box-shadow: 0 0 0 2px var(--cr-navy) inset; }
.cr-plan__price { font-family: var(--cr-font-head); font-size: 2rem; }
.cr-plan__price span { font-family: var(--cr-font-ui); font-size: 0.9rem; color: var(--cr-ink-3); }
.cr-plan__features { list-style: none; padding: 0; font-family: var(--cr-font-ui); font-size: 0.9rem; }
.cr-plan__features li { padding: 0.3rem 0; border-top: 1px solid var(--cr-line); }
.cr-plan .cr-btn { margin-top: auto; text-align: center; }
.cr-support-page__faq { margin-block: 2.5rem; }
.cr-support-page__faq details { border-top: 1px solid var(--cr-line); padding: 0.75rem 0; }
.cr-support-page__faq summary { font-weight: 600; cursor: pointer; }
.cr-support-page__faq details p { color: var(--cr-ink-2); margin-top: 0.5rem; }
.cr-author-header { display: grid; grid-template-columns: 6rem 1fr; gap: 1.5rem; align-items: center; padding-block: 2rem; }
.cr-author-header__avatar { border-radius: 50%; }
.cr-author-header__role { font-family: var(--cr-font-ui); color: var(--cr-ink-3); }
.cr-page__header { padding-block: 2rem 1rem; }
.cr-page__title { font-size: clamp(1.75rem, 5vw, 2.5rem); }
.cr-search { display: flex; gap: 0.5rem; margin-block: 1rem; }
.cr-search__input { flex: 1; font: inherit; padding: 0.5rem 0.75rem; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); }
.cr-empty { color: var(--cr-ink-3); }
.pagination { font-family: var(--cr-font-ui); margin-block: 2rem; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pagination .page-numbers { padding: 0.4rem 0.7rem; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); }
.pagination .page-numbers.current { background: var(--cr-navy); color: #fff; border-color: var(--cr-navy); }

/* --- Publicidade ----------------------------------------------------------- */
.cr-ad { position: relative; margin-block: 1.5rem; min-height: calc(var(--ad-h-m) + 1.25rem); display: flex; flex-direction: column; align-items: center; }
.cr-ad__label { font-family: var(--cr-font-ui); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cr-ink-3); margin-bottom: 0.25rem; }
.cr-ad__placeholder { width: var(--ad-w-m); height: var(--ad-h-m); max-width: 100%; display: grid; place-items: center; background: repeating-linear-gradient(45deg, var(--cr-bg-2), var(--cr-bg-2) 8px, #eceef0 8px, #eceef0 16px); color: var(--cr-ink-3); font-family: var(--cr-font-ui); font-size: 0.8rem; }
.cr-ad__creative { display: block; max-width: 100%; line-height: 0; }
.cr-ad__creative img, .cr-ad__creative svg { max-width: 100%; height: auto; }
.cr-ad--home-top-side .cr-ad__creative, .cr-ad--article-side .cr-ad__creative, .cr-ad--home-middle-side .cr-ad__creative { width: 100%; max-width: 300px; }
.cr-ad--feed-sponsored { min-height: 0; align-items: stretch; margin-block: 0; padding-block: 1rem; border-bottom: 1px solid var(--cr-line); }
.cr-ad--feed-sponsored .cr-ad__placeholder { width: 100%; height: 6rem; }
@media (min-width: 60em) {
	.cr-ad { min-height: calc(var(--ad-h) + 1.25rem); }
	.cr-ad__placeholder { width: var(--ad-w); height: var(--ad-h); }
}

/* Anúncios dentro do mosaico: o espaço é a célula inteira (1×1 ou 1×2), não o tamanho nominal.
   O criativo escala até à largura da célula mantendo a proporção (até 2× o tamanho nominal — pedir criativos a 2×),
   centrado num painel cinzento que ocupa a altura da linha. Sem margens brancas, em qualquer patamar. */
.cr-mosaic__cell--ad { background: var(--cr-bg-2); }
.cr-mosaic__cell--ad .cr-ad { min-height: 0; height: 100%; margin: 0; padding-block: 0.4rem 0; justify-content: center; }
.cr-mosaic__cell--ad .cr-ad__creative { width: 100%; max-width: calc(var(--ad-w-m) * 2); }
.cr-mosaic__cell--ad .cr-ad__creative img, .cr-mosaic__cell--ad .cr-ad__creative svg, .cr-mosaic__cell--ad .cr-ad__creative picture { display: block; width: 100%; height: auto; }
.cr-mosaic__cell--ad .cr-ad__placeholder { width: 100%; height: auto; aspect-ratio: var(--ad-ratio-m); }
@media (min-width: 60em) {
	.cr-mosaic__cell--ad .cr-ad__creative { max-width: calc(var(--ad-w) * 2); }
	.cr-mosaic__cell--ad .cr-ad__placeholder { aspect-ratio: var(--ad-ratio); }
}

/* --- Newsletter ------------------------------------------------------------ */
.cr-newsletter { background: var(--cr-navy); color: #fff; padding: 1.5rem; margin-block: 2rem; border-radius: var(--cr-radius); }
.cr-newsletter__title { font-size: 1.4rem; margin-bottom: 0.25rem; }
.cr-newsletter__text { font-family: var(--cr-font-ui); font-size: 0.95rem; opacity: 0.85; }

.cr-newsletter--mini { padding: 1rem 1.1rem; margin: 1.5rem 0 0; }
.cr-newsletter--mini .cr-newsletter__title { font-size: 1.1rem; }
.cr-newsletter--mini .cr-newsletter__text { font-size: 0.85rem; margin-bottom: 0.75rem; }
.cr-newsletter--mini .cr-btn { font-size: 0.8125rem; padding: 0.45rem 0.8rem; }
.cr-side-block__title--weak { border-top-color: #78716c; color: var(--cr-ink-2); }
.cr-card--weak-compact .cr-card__title { font-size: 0.95rem; font-weight: 500; color: var(--cr-ink-2); }
.cr-card--weak-compact .cr-card__meta { margin-top: 0.2rem; }

/* Secções com separadores */
.cr-tabs { margin-top: 2rem; }
.cr-tabs__bar { display: flex; gap: 0.25rem; overflow-x: auto; border-bottom: 3px solid var(--cr-navy); }
.cr-tabs__tab { font: 600 0.9375rem/1 var(--cr-font-head); text-transform: uppercase; letter-spacing: 0.08em; background: none; border: 0; padding: 0.8rem 1.1rem; color: var(--cr-ink-2); white-space: nowrap; border-bottom: 3px solid transparent; margin-bottom: -3px; }
.cr-tabs__tab:hover { color: var(--cat-color, var(--cr-navy)); }
.cr-tabs__tab.is-active { color: var(--cat-color, var(--cr-navy)); border-bottom-color: var(--cat-color, var(--cr-navy)); background: var(--cr-bg-2); }
.cr-tabs__panel { display: none; padding-top: 1.5rem; }
.cr-tabs__panel.is-active { display: grid; gap: 1.5rem 2.5rem; align-items: stretch; }
.cr-tabs__lead .cr-card__title { font-size: 1.4rem; }
/* A lista estica à altura da notícia grande: as linhas repartem a altura entre si, sem sobrar espaço no fundo. */
.cr-tabs__list { display: grid; grid-template-columns: 1fr; grid-auto-rows: 1fr; gap: 0 2.5rem; align-items: stretch; }
.cr-tabs__list .cr-card--list { grid-template-columns: 5rem 1fr; padding-block: 0.75rem; align-items: center; height: 100%; }
.cr-tabs__list .cr-card__title { font-size: 1rem; }
@media (min-width: 40em) { .cr-tabs__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 60em) {
	.cr-tabs__panel.is-active { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
	.cr-tabs__lead { grid-row: 1; }
}
@media (min-width: 100em) {
	.cr-tabs__panel.is-active { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
	.cr-tabs__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* --- Rodapé ---------------------------------------------------------------- */
.cr-footer { margin-top: 3rem; border-top: 3px solid var(--cr-navy); font-family: var(--cr-font-ui); font-size: 0.9rem; }
.cr-footer__grid { display: grid; gap: 2rem; padding-block: 2rem; }
.cr-footer__brand img { height: 3rem; width: auto; object-fit: contain; }
.cr-footer__title { font-family: var(--cr-font-head); font-size: 1.5rem; color: var(--cr-navy); }
.cr-footer__tagline { color: var(--cr-ink-3); margin-top: 0.5rem; }
.cr-social { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.cr-social a { display: inline-block; padding: 0.3rem 0.7rem; border: 1px solid var(--cr-line); border-radius: 999px; font-size: 0.8rem; color: var(--cr-ink-2); }
.cr-social a:hover { border-color: var(--cr-navy); color: var(--cr-navy); text-decoration: none; }
.cr-footer__nav-title { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cr-navy); margin-bottom: 0.5rem; }
.cr-footer__list { list-style: none; }
.cr-footer__list li { padding: 0.25rem 0; }
.cr-footer__list--inline { display: flex; flex-wrap: wrap; gap: 1rem; }
.cr-footer__legal { border-top: 1px solid var(--cr-line); padding-block: 1rem; color: var(--cr-ink-3); font-size: 0.8rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1.5rem; }
.cr-footer__legal .cr-footer__list a { color: var(--cr-ink-2); }
.cr-page .cr-prose { padding-bottom: 2rem; }
.cr-page__header { max-width: calc(var(--cr-measure) + 2 * var(--cr-gutter)); margin-inline: auto; }
.cr-footer .cr-newsletter { margin: 0; }
@media (min-width: 60em) { .cr-footer__grid { grid-template-columns: 1.2fr 1fr 1.4fr; } }

/* --- Impressão ------------------------------------------------------------- */
@media print {
	.cr-header, .cr-footer, .cr-ad, .cr-layout__side, .cr-newsletter, .cr-related, .cr-share { display: none !important; }
	.cr-layout { display: block; }
}
