.rfx-paywall {
	box-sizing: border-box;
	display: grid;
	gap: var(--rfx-space-4);
	align-content: center;
	min-height: 22rem;
	width: min(100%, var(--rfx-article-reading-width));
	margin: var(--rfx-space-8) auto;
	padding: var(--rfx-space-8);
	color: var(--rfx-color-text);
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-body);
	line-height: var(--rfx-line-height-body);
	text-align: center;
	background-color: color-mix(in srgb, var(--rfx-color-action) 5%, var(--rfx-color-surface));
	border: 1px solid color-mix(in srgb, var(--rfx-color-action) 15%, var(--rfx-color-surface));
	border-top: 2px solid var(--rfx-color-action);
	border-radius: 0;
}

@media (max-width: 47.999rem) {
	.rfx-paywall {
		margin: var(--rfx-space-6) auto;
		padding: var(--rfx-space-6);
	}
}

/* ART-01: the access panel starts with the sidebar in the two-column article.
 * Gallery and Opinion start their sidebar at the header instead. */
@media (min-width: 64rem) {
	.rfx-article-master--standard:not(.rfx-article-master--gallery) .entry-content > .rfx-paywall:first-child {
		margin-top: 0;
	}
}

.rfx-paywall .rfx-paywall-title {
	max-width: 30ch;
	margin: 0 auto;
	color: var(--rfx-color-text-muted);
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-heading);
	font-weight: var(--rfx-font-weight-bold);
	font-style: normal;
	line-height: var(--rfx-line-height-heading);
}

.rfx-paywall .rfx-paywall-indicator {
	margin: 0;
	color: var(--rfx-color-action);
	font-size: 1rem;
	font-weight: var(--rfx-font-weight-bold);
	letter-spacing: normal;
}

.rfx-paywall-message,
.rfx-paywall-actions {
	margin: 0;
}

.rfx-paywall .rfx-paywall-actions {
	display: block;
	font-size: var(--rfx-type-metadata-size);
	font-weight: var(--rfx-font-weight-semibold);
}

.rfx-paywall .rfx-paywall-action {
	min-width: min(100%, 14rem);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	max-width: 100%;
	white-space: normal;
	padding: var(--rfx-space-2) var(--rfx-space-4);
	color: var(--rfx-color-action-text);
	font-weight: var(--rfx-font-weight-semibold);
	text-decoration: none;
	background-color: var(--rfx-color-action);
	border: var(--rfx-border-width) solid var(--rfx-color-action);
	border-radius: var(--rfx-radius-sm);
}

.rfx-paywall .rfx-paywall-action:hover {
	color: var(--rfx-color-action-text);
	background-color: var(--rfx-color-action-hover);
	border-color: var(--rfx-color-action-hover);
}

.rfx-paywall .rfx-paywall-secondary {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	min-width: 44px;
	justify-content: center;
	color: var(--rfx-color-action);
	font-weight: var(--rfx-font-weight-semibold);
	text-decoration: underline;
}

.rfx-paywall .rfx-paywall-action:focus-visible,
.rfx-paywall .rfx-paywall-secondary:focus-visible {
	outline: var(--rfx-focus-outline-width) solid var(--rfx-focus-outline-color);
	outline-offset: var(--rfx-focus-outline-offset);
}

.rfx-account-access {
	box-sizing: border-box;
	width: min(100%, var(--rfx-container-content));
	margin: var(--rfx-space-8) auto;
	padding: var(--rfx-space-6);
	color: var(--rfx-color-text);
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-body);
	line-height: var(--rfx-line-height-body);
	background-color: var(--rfx-color-surface);
	border: var(--rfx-border-width) solid var(--rfx-color-border);
	border-radius: var(--rfx-radius-md);
}

.rfx-account-access-title {
	margin: 0 0 var(--rfx-space-4);
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-heading);
	font-weight: var(--rfx-font-weight-semibold);
	line-height: var(--rfx-line-height-heading);
}

.rfx-account-access-message {
	margin: 0;
	color: var(--rfx-color-text-muted);
}

.rfx-account-access-table {
	display: block;
	width: 100%;
	min-width: 38rem;
	margin: 0;
	overflow-x: auto;
	border-collapse: collapse;
	border: var(--rfx-border-width) solid var(--rfx-color-border);
	border-radius: var(--rfx-radius-sm);
}

.rfx-account-access-table th,
.rfx-account-access-table td {
	padding: var(--rfx-space-3) var(--rfx-space-4);
	text-align: left;
	vertical-align: top;
	border-bottom: var(--rfx-border-width) solid var(--rfx-color-border);
}

.rfx-account-access-table th {
	font-weight: var(--rfx-font-weight-semibold);
	color: var(--rfx-color-text);
	background-color: var(--rfx-color-surface-muted);
}

.rfx-account-access-table tbody tr:last-child td {
	border-bottom: 0;
}

.rfx-account-access-status-label {
	display: inline-flex;
	align-items: center;
	min-height: 1.5rem;
	padding: 0 var(--rfx-space-2);
	color: var(--rfx-color-text);
	font-size: 0.875em;
	font-weight: var(--rfx-font-weight-semibold);
	line-height: 1;
	background-color: var(--rfx-color-surface-muted);
	border: var(--rfx-border-width) solid var(--rfx-color-border);
	border-radius: var(--rfx-radius-sm);
}

.rfx-account-access-status--active {
	color: var(--rfx-color-action);
	border-color: var(--rfx-color-action);
}

.rfx-editorial-featured-media-meta {
	display: grid;
	gap: var(--rfx-space-1);
	margin: var(--rfx-space-2) 0 var(--rfx-space-10);
	padding-block: var(--rfx-space-2);
	color: var(--rfx-color-text-muted);
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-caption);
	line-height: var(--rfx-line-height-caption);
	text-align: right;
	border-bottom: var(--rfx-border-width) solid var(--rfx-color-divider);
}

.rfx-editorial-featured-media-meta :is(p, .rfx-editorial-media-credit) {
	margin: 0;
}

.wp-element-caption .rfx-editorial-media-credit {
	display: block;
	margin-top: var(--rfx-space-1);
}

/* Media editorial inline ocupa a coluna de leitura, nunca a viewport. */
body:is(.rfx-site-jornal, .rfx-site-reflexo).single-post .entry-content :is(
	.content-grid-text,
	.umb-grid,
	.grid-section,
	.single-column,
	.row,
	.column,
	.wp-block-image,
	.wp-caption
) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

/* A migração preserva wrappers Umbraco/Bootstrap legados. Dentro da coluna
 * editorial, o padding desses wrappers não é uma margem de composição: faria
 * a imagem inline ficar 20px mais estreita que o conteúdo. */
body:is(.rfx-site-jornal, .rfx-site-reflexo).single-post .entry-content :is(
	.content-grid-text,
	.umb-grid,
	.grid-section,
	.single-column,
	.row,
	.column
) {
	padding-inline: 0;
	margin-inline: 0;
}

body:is(.rfx-site-jornal, .rfx-site-reflexo).single-post .entry-content :is(
	.content-grid-text img,
	.wp-block-image img,
	.wp-caption img
) {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

body:is(.rfx-site-jornal, .rfx-site-reflexo).single-post .entry-content > img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

body:is(.rfx-site-jornal, .rfx-site-reflexo).single-post .entry-content :is(
	.wp-block-image figcaption,
	.wp-caption-text
) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

/* GenerateBlocks utility classes versionadas do design system. */
.gbp-section {
	padding: var(--rfx-space-28) 2.5rem;
}

.gbp-section__inner,
.rfx-container--inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--rfx-container-content);
	margin-right: auto;
	margin-left: auto;
}

.gbp-card--border {
	border: var(--rfx-border-width) solid var(--rfx-color-text-strong);
}

.gbp-section__text {
	font-size: var(--rfx-font-size-body-large);
}

.gbp-button--primary,
.gbp-button--secondary,

.rfx-button,
.rfx-button--primary,
.rfx-button--secondary,
.rfx-button--primary-inverted,
.rfx-button--secondary-inverted {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--rfx-font-family-sans);
	font-weight: var(--rfx-font-weight-bold);
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

.gbp-button--primary,
.gbp-button--secondary {
	padding: var(--rfx-space-3) var(--rfx-space-6);
	font-size: var(--rfx-font-size-button);
	border: var(--rfx-border-width) solid currentcolor;
}

.gbp-button--primary {
	color: var(--rfx-color-text-inverse);
	background-color: var(--rfx-color-text-strong);
}

.gbp-button--secondary {
	color: currentcolor;
	background-color: transparent;
	border-color: var(--rfx-color-text-strong);
}

.rfx-button--primary,
.rfx-button--primary-inverted {
	padding: 0.875rem var(--rfx-space-6);
	font-size: var(--rfx-font-size-button);
}

.rfx-button--secondary,
.rfx-button--secondary-inverted {
	padding: 0.5rem 0.9375rem;
	font-size: var(--rfx-font-size-menu);
}

.rfx-button--primary,
.rfx-button--secondary {
	color: var(--rfx-color-action-text);
	background-color: var(--rfx-color-action);
	border: var(--rfx-border-width) solid var(--rfx-color-action);
	border-radius: var(--rfx-radius-pill);
}

.rfx-button--secondary {
	color: var(--rfx-color-text-inverse);
	background-color: var(--rfx-color-label);
	border-color: var(--rfx-color-label);
}

.rfx-button--primary-inverted,
.rfx-button--secondary-inverted {
	color: var(--rfx-color-text-inverse);
	background-color: transparent;
	border: var(--rfx-border-width) solid var(--rfx-color-text-inverse);
	border-radius: var(--rfx-radius-pill);
}

.gbp-button--primary:hover,
.gbp-button--primary:focus-visible,
.rfx-button--primary:hover,
.rfx-button--primary:focus-visible,
.rfx-button--secondary:hover,
.rfx-button--secondary:focus-visible {
	color: var(--rfx-color-text-inverse);
	background-color: var(--rfx-color-action-hover);
	border-color: var(--rfx-color-action-hover);
}

.gbp-button--primary:hover,
.gbp-button--primary:focus-visible {
	background-color: var(--rfx-color-text-strong);
	border-color: var(--rfx-color-text-strong);
}

.gbp-button--secondary:hover,
.gbp-button--secondary:focus-visible {
	color: currentcolor;
}

.rfx-button--primary-inverted:hover,
.rfx-button--primary-inverted:focus-visible,
.rfx-button--secondary-inverted:hover,
.rfx-button--secondary-inverted:focus-visible {
	color: var(--rfx-color-action);
	background-color: var(--rfx-color-surface);
}

.gbp-button--primary:focus-visible,
.gbp-button--secondary:focus-visible,
.rfx-button--primary:focus-visible,
.rfx-button--secondary:focus-visible,
.rfx-button--primary-inverted:focus-visible,
.rfx-button--secondary-inverted:focus-visible,
.rfx-list-menu:focus-visible,
.rfx-list-menu a:focus-visible,
.rfx-list-menu-geral:focus-visible,
.rfx-list-menu-geral a:focus-visible {
	outline: var(--rfx-focus-outline-width) solid var(--rfx-focus-outline-color);
	outline-offset: var(--rfx-focus-outline-offset);
}

/* Carregar mais é uma ação ativa: o cinzento de label não suporta texto branco. */
.rfx-button--secondary[data-rfx-load-more] { background-color: var(--rfx-color-text-muted); border-color: var(--rfx-color-text-muted); }
.rfx-button--secondary[data-rfx-load-more]:is(:hover, :focus-visible) { background-color: var(--rfx-color-action-hover); border-color: var(--rfx-color-action-hover); }

.rfx-label--category,
.rfx-subcategory-label,
.rfx-category-label {
	margin-bottom: 0;
	color: var(--rfx-color-category, var(--rfx-color-border));
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-category);
	font-weight: var(--rfx-font-weight-semibold);
}

.rfx-label--category,
.rfx-subcategory-label,
.rfx-category-label,
.rfx-label--category a,
.rfx-subcategory-label a,
.rfx-category-label a {
	text-decoration: none;
}

.rfx-label--category a,
.rfx-subcategory-label a,
.rfx-category-label a {
	color: inherit;
}

.rfx-label--category a:hover,
.rfx-subcategory-label a:hover,
.rfx-category-label a:hover {
	color: var(--rfx-color-category-hover, var(--rfx-color-text-muted));
	text-decoration: none;
}

.rfx-label--category a:focus-visible,
.rfx-subcategory-label a:focus-visible,
.rfx-category-label a:focus-visible {
	color: var(--rfx-color-category, var(--rfx-color-border));
	text-decoration: none;
}

.rfx-label--category a:focus-visible,
.rfx-subcategory-label a:focus-visible,
.rfx-category-label a:focus-visible,
.rfx-generic-listing-card__title a:focus-visible,
.rfx-generic-listing-card__meta a:focus-visible,
.rfx-generic-listing__subcategories a:focus-visible,
.rfx-generic-listing__pagination a:focus-visible,
.rfx-jornal-home-card__read-more:focus-visible,
.rfx-reflexo-homepage-card__read-more:focus-visible {
	outline: var(--rfx-focus-outline-width) solid var(--rfx-focus-outline-color);
	outline-offset: var(--rfx-focus-outline-offset);
}

.rfx-list-menu,
.rfx-list-menu-geral {
	margin: 0;
	padding: 0;
	color: var(--rfx-color-text-muted);
	font-family: var(--rfx-font-family-sans);
	list-style: none;
}

.rfx-list-menu,
.rfx-list-menu a {
	font-size: var(--rfx-font-size-menu);
	font-weight: var(--rfx-font-weight-bold);
	text-decoration: none;
	text-transform: uppercase;
}

.rfx-list-menu-geral,
.rfx-list-menu-geral a {
	font-size: var(--rfx-font-size-body);
	font-weight: var(--rfx-font-weight-medium);
	text-decoration: none;
}

.rfx-list-menu a,
.rfx-list-menu-geral a {
	color: inherit;
}

.rfx-list-menu a:hover,
.rfx-list-menu a:focus-visible,
.rfx-list-menu-geral a:hover,
.rfx-list-menu-geral a:focus-visible {
	color: var(--rfx-color-action);
}

.rfx-autor-opiniao,
.rfx-autor-opiniao a {
	color: var(--rfx-color-text-muted);
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-body);
	font-weight: var(--rfx-font-weight-bold);
	text-decoration: none;
}

.rfx-autor-opiniao a:hover,
.rfx-autor-opiniao a:focus-visible {
	color: var(--rfx-color-text-strong);
}

/* Master de listagem e componentes editoriais: a marca altera tokens, não markup. */
.rfx-editorial-featured-media { margin: 0; }
.rfx-editorial-featured-media .featured-image { margin: 0; }
.rfx-editorial-featured-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: var(--rfx-photo-ratio, 3 / 2);
	object-fit: cover;
}
body.rfx-editorial-site.single-post .entry-content :is(.container-youtube, .wp-block-embed.is-type-video) iframe {
	width: 100%;
	height: auto;
	aspect-ratio: var(--rfx-video-ratio, 16 / 9);
}
body[class*="rfx-site-"] .widget-area .gb-loop-item:has(> .rfx-author-avatar) {
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr);
	column-gap: 1rem;
	align-items: start;
}
body[class*="rfx-site-"] .widget-area .gb-loop-item:has(> .rfx-author-avatar) > :not(img) { grid-column: 2; }
body[class*="rfx-site-"] .widget-area .gb-loop-item > .rfx-author-avatar {
	grid-column: 1;
	grid-row: 1 / span 3;
	width: 4rem;
	height: 4rem;
	object-fit: cover;
}
.rfx-generic-listing {
	display: grid;
	row-gap: var(--rfx-listing-section-gap);
	max-width: var(--rfx-container-content);
	margin-inline: auto;
	padding: var(--rfx-space-5) var(--rfx-space-10);
}

.rfx-generic-listing__header {
	display: grid;
	gap: var(--rfx-space-2);
	max-width: none;
}

.rfx-generic-listing__title,
.rfx-generic-listing__description,
.rfx-generic-listing__results,
.rfx-generic-listing__pending-design,
.rfx-generic-listing__empty {
	margin: 0;
}

.rfx-generic-listing__description,
.rfx-generic-listing__results,
.rfx-generic-listing__empty {
	color: var(--rfx-color-text-muted);
}

.rfx-generic-listing__pending-design {
	padding: var(--rfx-space-3);
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-caption);
	color: var(--rfx-color-text-muted);
	background: var(--rfx-color-surface-muted);
	border-inline-start: 0.25rem solid var(--rfx-color-border);
}

.rfx-generic-listing__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--rfx-space-6);
}

.rfx-generic-listing-card {
	display: grid;
	grid-template-rows: auto 1fr;
	min-width: 0;
	border-top: var(--rfx-border-width) solid var(--rfx-color-divider);
}

.rfx-generic-listing-card__image {
	display: block;
	margin-top: var(--rfx-space-4);
	overflow: hidden;
	background: var(--rfx-color-surface-muted);
}

.rfx-generic-listing-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: var(--rfx-photo-ratio, 3 / 2);
	object-fit: cover;
}

.rfx-generic-listing-card__content {
	display: grid;
	align-content: center;
	gap: var(--rfx-space-2);
	padding-top: var(--rfx-space-4);
}

.rfx-generic-listing-card__label,
.rfx-generic-listing-card__title,
.rfx-generic-listing-card__meta,
.rfx-generic-listing-card__lead {
	margin: 0;
}

/* Arquivos editoriais no STAGING são linhas de leitura, não mosaicos da Homepage. */
.rfx-generic-listing--category .rfx-generic-listing__grid,
.rfx-generic-listing--subcategory .rfx-generic-listing__grid,
.rfx-generic-listing--tag .rfx-generic-listing__grid,
.rfx-generic-listing--search .rfx-generic-listing__grid,
.rfx-generic-listing--latest .rfx-generic-listing__grid,
.rfx-generic-listing--popular .rfx-generic-listing__grid,
.rfx-generic-listing--author .rfx-generic-listing__grid {
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
}

.rfx-generic-listing--category .rfx-generic-listing-card,
.rfx-generic-listing--subcategory .rfx-generic-listing-card,
.rfx-generic-listing--tag .rfx-generic-listing-card,
.rfx-generic-listing--search .rfx-generic-listing-card,
.rfx-generic-listing--latest .rfx-generic-listing-card,
.rfx-generic-listing--popular .rfx-generic-listing-card,
.rfx-generic-listing--author .rfx-generic-listing-card {
	grid-template-columns: minmax(0, 46fr) minmax(0, 50fr);
	grid-template-rows: 1fr;
	column-gap: var(--rfx-space-6);
	padding-block: var(--rfx-space-6);
}

/* A primeira notícia começa diretamente após o cabeçalho; os separadores
 * continuam a distinguir todas as notícias seguintes. */
.rfx-generic-listing--category .rfx-generic-listing-card:first-child,
.rfx-generic-listing--subcategory .rfx-generic-listing-card:first-child {
	border-top: 0;
}

.rfx-generic-listing--category .rfx-generic-listing-card__image,
.rfx-generic-listing--subcategory .rfx-generic-listing-card__image,
.rfx-generic-listing--tag .rfx-generic-listing-card__image,
.rfx-generic-listing--search .rfx-generic-listing-card__image,
.rfx-generic-listing--latest .rfx-generic-listing-card__image,
.rfx-generic-listing--popular .rfx-generic-listing-card__image {
	margin-top: 0;
	align-self: start;
}

.rfx-generic-listing--category .rfx-generic-listing-card__content,
.rfx-generic-listing--subcategory .rfx-generic-listing-card__content,
.rfx-generic-listing--tag .rfx-generic-listing-card__content,
.rfx-generic-listing--search .rfx-generic-listing-card__content,
.rfx-generic-listing--latest .rfx-generic-listing-card__content,
.rfx-generic-listing--popular .rfx-generic-listing-card__content {
	padding-top: 0;
}

/* O perfil tem o seu próprio H1; os artigos usam o card partilhado. */
.rfx-author-profile-area .rfx-generic-listing {
	padding-inline: 0;
}

.rfx-author-profile-area .rfx-generic-listing__header {
	display: grid;
}

.rfx-generic-listing--author .rfx-generic-listing-card__content {
	padding-top: 0;
}

.rfx-generic-listing-card__title {
	font-family: var(--rfx-font-family-display);
	font-size: var(--rfx-font-size-heading);
	font-weight: var(--rfx-font-weight-bold);
	line-height: var(--rfx-listing-title-line-height);
	letter-spacing: var(--rfx-listing-title-letter-spacing);
	text-transform: none;
	color: var(--rfx-color-action);
}

.rfx-generic-listing-card__title a,
.rfx-generic-listing-card__title a:visited,
.rfx-generic-listing-card__meta a {
	color: inherit;
	text-decoration: none;
}

.rfx-generic-listing-card__title a:hover,
.rfx-generic-listing-card__title a:focus-visible {
	color: var(--rfx-color-action-hover);
}

.rfx-generic-listing-card__title a {
	cursor: pointer;
	transition: color var(--rfx-transition-interaction);
}

.rfx-generic-listing-card__title a:focus-visible {
	outline: var(--rfx-focus-outline-width) solid var(--rfx-focus-outline-color);
	outline-offset: 0;
}

.rfx-generic-listing-card__meta a:hover,
.rfx-generic-listing-card__meta a:focus-visible {
	color: var(--rfx-color-action);
}

.rfx-generic-listing-card__meta,
.rfx-generic-listing-card__lead {
	color: var(--rfx-color-text-muted);
	font-size: var(--rfx-font-size-caption);
	line-height: var(--rfx-line-height-caption);
}

.rfx-generic-listing__pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rfx-space-2);
	padding: 0;
	list-style: none;
}

.rfx-generic-listing__subcategories ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rfx-space-2);
	margin: var(--rfx-space-3) 0 0;
	padding: 0;
	list-style: none;
}

.rfx-generic-listing__subcategories a {
	display: inline-block;
	padding: var(--rfx-space-1) var(--rfx-space-2);
	color: var(--rfx-color-category);
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-category);
	font-weight: var(--rfx-font-weight-semibold);
	line-height: var(--rfx-line-height-category);
	letter-spacing: var(--rfx-letter-spacing-body);
	text-transform: none;
	text-decoration: none;
	border: var(--rfx-border-width) solid var(--rfx-color-divider);
}
.rfx-generic-listing__subcategories a:is(:hover, :active) {
	color: var(--rfx-color-category-hover);
	text-decoration: none;
}

.rfx-jornal-home-card__read-more,
.rfx-reflexo-homepage-card__read-more {
	display: inline-flex;
	margin-top: var(--rfx-space-2);
	color: inherit;
	font-size: var(--rfx-font-size-caption);
	font-weight: var(--rfx-font-weight-semibold);
	text-decoration: none;
}

.rfx-editorial-lead {
	max-width: var(--rfx-container-reading);
	margin: var(--rfx-space-4) 0;
	font-size: var(--rfx-font-size-body-large);
	line-height: var(--rfx-line-height-body);
	font-weight: var(--rfx-font-weight-bold);
}

/* No media means a full-width text layout, not an empty grid cell. */
.rfx-generic-listing-card:not(:has(.rfx-generic-listing-card__image, .rfx-generic-listing-card__avatar)) > .rfx-generic-listing-card__content {
	grid-column: 1 / -1;
}

.rfx-generic-listing--opinion .rfx-generic-listing__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
.rfx-generic-listing--opinion .rfx-generic-listing-card {
	grid-template-columns: 11.25rem minmax(0, 1fr);
	grid-template-rows: auto;
	align-items: center;
	gap: var(--rfx-space-6);
	padding-block: var(--rfx-space-6);
}
.rfx-generic-listing--opinion .rfx-generic-listing-card:first-child { border-top: 0; }
.rfx-generic-listing-card__avatar img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
@media (max-width: 767px) {
	.rfx-generic-listing--opinion .rfx-generic-listing-card { grid-template-columns: 4rem minmax(0, 1fr); gap: 1rem; align-items: start; }
}

.rfx-generic-listing-card.rfx_format-video .rfx-generic-listing-card__image img {
	aspect-ratio: var(--rfx-video-ratio, 16 / 9);
}

.rfx-generic-listing-card__lead {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.rfx-editorial-lead > :last-child {
	margin-bottom: 0;
}

.rfx-editorial-meta {
	display: flex;
	align-items: center;
	gap: var(--rfx-space-3);
	margin: var(--rfx-space-4) 0;
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-caption);
	line-height: var(--rfx-line-height-caption);
}

.rfx-editorial-meta__details {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rfx-space-1) var(--rfx-space-2);
}

.rfx-editorial-meta__details :is(p, time) {
	margin: 0;
}

.rfx-editorial-meta__author a {
	color: inherit;
	font-weight: var(--rfx-font-weight-bold);
	text-decoration: none;
}

.rfx-editorial-meta__avatar .avatar {
	display: block;
	width: 4rem;
	height: 4rem;
	object-fit: cover;
	border-radius: 50%;
}

.rfx-editorial-meta__updated,
.rfx-editorial-meta__source {
	color: var(--rfx-color-text-muted);
}

.rfx-editorial-tags,
.rfx-editorial-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--rfx-space-3);
	max-width: var(--rfx-container-reading);
	margin: var(--rfx-space-6) 0;
	padding-top: var(--rfx-space-4);
	font-family: var(--rfx-font-family-sans);
	border-top: 1px solid var(--rfx-color-divider);
}

.rfx-editorial-tags__label,
.rfx-editorial-share__label {
	font-weight: var(--rfx-font-weight-bold);
}

.rfx-editorial-tags__list,
.rfx-editorial-share__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rfx-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.rfx-editorial-tags a,
.rfx-editorial-share :is(a, button) {
	color: var(--rfx-color-action);
	font: inherit;
	text-decoration: none;
	background: transparent;
	border: 0;
	cursor: pointer;
}

.rfx-editorial-tags a:hover,
.rfx-editorial-tags a:focus-visible,
.rfx-editorial-share :is(a, button):hover,
.rfx-editorial-share :is(a, button):focus-visible {
	color: var(--rfx-color-action-hover);
	text-decoration: none;
}

/* VF share row: native icons, accessible labels and existing progressive actions. */
.rfx-editorial-share {
	padding-block: var(--rfx-space-2);
	border-bottom: 1px solid var(--rfx-color-divider);
}

.rfx-editorial-share__label {
	color: var(--rfx-color-action);
	font-size: var(--rfx-font-size-caption);
}

.rfx-editorial-share__actions {
	gap: var(--rfx-space-1);
}

.rfx-editorial-share__actions :is(a, button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: var(--rfx-space-2);
}

.rfx-editorial-share [hidden] {
	display: none;
}

.rfx-editorial-share__icon,
.rfx-editorial-share__icon svg {
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	fill: currentColor;
}

.rfx-editorial-excerpt,
.rfx-jornal-home-card__excerpt,
.rfx-reflexo-homepage-card__excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: var(--rfx-card-excerpt-lines);
	overflow: hidden;
}
.rfx-editorial-excerpt--hero,
.rfx-jornal-home-card--hero .rfx-jornal-home-card__excerpt {
	-webkit-line-clamp: var(--rfx-hero-excerpt-lines);
}

body:is(.rfx-site-jornal, .rfx-site-reflexo) img.rfx-editorial-photo {
	width: 100%;
	height: auto;
	aspect-ratio: var(--rfx-photo-ratio);
	object-fit: cover;
}
body:is(.rfx-site-jornal, .rfx-site-reflexo) img.rfx-editorial-video {
	width: 100%;
	height: auto;
	aspect-ratio: var(--rfx-video-ratio);
	object-fit: cover;
}

.rfx-editorial-listing-sidebar__item--opinion {
	display: grid;
	grid-template-columns: 5rem minmax(0, 1fr);
	column-gap: var(--rfx-space-4);
}
.rfx-editorial-listing-sidebar__item--opinion > :not(.rfx-editorial-listing-sidebar__avatar) { grid-column: 2; }
.rfx-editorial-listing-sidebar__item--opinion > .rfx-editorial-listing-sidebar__avatar { grid-column: 1; grid-row: 1 / span 4; }

/* SEARCH-01/02: mesma variante VF nos dois sites; queries e Ads mantêm os seus contratos. */
body.rfx-editorial-site .rfx-generic-listing:not(.rfx-generic-listing--agenda) {
	--rfx-article-title-color: var(--rfx-color-text-strong);
	--rfx-card-excerpt-lines: none;
	--rfx-page-section-gap: var(--rfx-space-6);
}
.rfx-generic-listing--search :is(.rfx-generic-listing__results, .rfx-generic-listing__empty),
.rfx-listing-search {
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-body-large);
}
.rfx-listing-search {
	display: flex;
	align-items: stretch;
	min-width: 0;
	margin: 0 0 var(--rfx-space-5);
	background: var(--rfx-color-surface-muted);
	border: 1px solid var(--rfx-color-text-muted);
}
body.rfx-editorial-site .rfx-listing-search input[type="search"] {
	flex: 1;
	min-width: 0;
	width: 100%;
	min-height: 3.5rem;
	padding: var(--rfx-space-3) var(--rfx-space-4);
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--rfx-color-text-strong);
	font: inherit;
}
body.rfx-editorial-site .rfx-listing-search button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 3.5rem;
	min-height: 3.5rem;
	padding: var(--rfx-space-3);
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--rfx-color-text-muted);
}
.rfx-listing-search svg { width: 1.5rem; height: 1.5rem; }
body.rfx-editorial-site .rfx-listing-search button:hover { color: var(--rfx-color-action-hover); }
body.rfx-editorial-site .rfx-listing-search :is(input, button):focus-visible {
	outline: var(--rfx-focus-outline-width) solid var(--rfx-focus-outline-color);
	outline-offset: 2px;
}
.rfx-generic-listing--search .rfx-generic-listing-card:first-child { border-top: 0; padding-top: 0; }
.rfx-generic-listing--search .rfx-generic-listing-card__content { align-content: start; }
body.rfx-editorial-site .rfx-generic-listing:not(.rfx-generic-listing--agenda) .rfx-generic-listing-card__meta {
	margin-block: var(--rfx-space-2);
	overflow-wrap: anywhere;
}
.rfx-generic-listing-card__source { color: var(--rfx-color-action); text-transform: none; }
.rfx-generic-listing__pagination:not([hidden]) { display: flex; justify-content: center; }
@media (min-width: 48.001rem) {
	.rfx-generic-listing--search .rfx-generic-listing-card { grid-template-columns: minmax(0, 46fr) minmax(0, 50fr); }
}

.rfx-generic-listing-card__author { margin: 0; color: var(--rfx-color-action); font-family: var(--rfx-font-family-sans); }
.rfx-generic-listing-card__author a { color: inherit; text-decoration: none; }
.rfx-generic-listing-card__author a:focus-visible { outline: var(--rfx-focus-outline-width) solid var(--rfx-focus-outline-color); outline-offset: 2px; }
.rfx-generic-listing--opinion .rfx-generic-listing-card__content { align-content: start; }
.rfx-generic-listing:not(.rfx-generic-listing--agenda) .rfx-generic-listing-card:first-child { border-top: 0; padding-top: 0; }

/* D-11: only explicit editorial source URLs are interactive. */
.rfx-editorial-source { color: var(--rfx-color-action); text-transform: none; }
a.rfx-editorial-source { text-decoration: underline; text-underline-offset: 0.15em; }
a.rfx-editorial-source:focus-visible {
	outline: 2px solid var(--rfx-color-action);
	outline-offset: 3px;
}

.rfx-visual-guide {
	margin-top: var(--rfx-space-12);
	padding-top: var(--rfx-space-8);
	border-top: var(--rfx-border-width) solid var(--rfx-color-border);
}

.rfx-visual-guide__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--rfx-space-4);
}

.rfx-visual-guide__grid > section {
	padding: var(--rfx-space-4);
	background: var(--rfx-color-surface-muted);
	border: var(--rfx-border-width) solid var(--rfx-color-border);
}

.rfx-visual-guide__grid :is(h3, p) {
	margin: 0;
}

.rfx-visual-guide__grid p {
	margin-top: var(--rfx-space-2);
}

.rfx-visual-guide__pending {
	border-inline-start: 0.25rem solid var(--rfx-color-border);
}

@media (max-width: 64rem) {
	.rfx-generic-listing__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 48rem) {
	.rfx-generic-listing {
		row-gap: var(--rfx-listing-mobile-section-gap);
		padding: var(--rfx-listing-mobile-padding-block) var(--rfx-listing-mobile-padding-inline);
	}

	.rfx-generic-listing__grid {
		grid-template-columns: 1fr;
	}

	.rfx-generic-listing--category .rfx-generic-listing-card,
	.rfx-generic-listing--subcategory .rfx-generic-listing-card,
	.rfx-generic-listing--tag .rfx-generic-listing-card,
	.rfx-generic-listing--search .rfx-generic-listing-card,
	.rfx-generic-listing--latest .rfx-generic-listing-card,
	.rfx-generic-listing--popular .rfx-generic-listing-card,
	.rfx-generic-listing--author .rfx-generic-listing-card {
		grid-template-columns: 1fr;
		row-gap: var(--rfx-space-4);
	}

	.rfx-editorial-meta,
	.rfx-editorial-tags,
	.rfx-editorial-share {
		align-items: flex-start;
		flex-direction: column;
	}

	.rfx-visual-guide__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 48rem) {
	.gbp-section {
		padding: var(--rfx-space-16) var(--rfx-container-gutter);
	}

	.rfx-container--inner {
		padding-right: var(--rfx-space-6);
		padding-left: var(--rfx-space-6);
	}

	.rfx-paywall-action {
		width: 100%;
	}

	.rfx-account-access {
		margin: var(--rfx-space-6) auto;
		padding: var(--rfx-space-4);
	}

	.rfx-account-access-table {
		min-width: 34rem;
	}
}

/* Perfis editoriais canónicos, partilhados pelos sites editoriais. */
.rfx-authors,
.rfx-author-profile {
	max-width: var(--rfx-container-content);
	margin-inline: auto;
	padding: var(--rfx-space-8) var(--rfx-container-gutter);
}

.rfx-authors-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--rfx-space-6);
}

.rfx-author-card { min-width: 0; border-bottom: 1px solid var(--rfx-color-divider); padding-block: var(--rfx-space-5); }
.rfx-author-card__link { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); column-gap: var(--rfx-space-4); align-content: start; color: inherit; text-decoration: none; }
.rfx-author-card__link:focus-visible { outline: var(--rfx-focus-outline-width) solid var(--rfx-focus-outline-color); outline-offset: 2px; }
.rfx-author-card__avatar, .rfx-author-profile__avatar { aspect-ratio: 1; overflow: hidden; border-radius: 50%; }
.rfx-author-card__avatar { width: 7.5rem; grid-column: 1; grid-row: 1 / span 2; }
.rfx-author-card__avatar img, .rfx-author-profile__avatar img { width: 100%; height: 100%; object-fit: cover; }
.rfx-author-card__name { grid-column: 2; margin: 0 0 var(--rfx-space-2); color: var(--rfx-color-action); font-family: var(--rfx-font-family-display); font-size: 1.25rem; font-weight: var(--rfx-font-weight-bold); line-height: var(--rfx-line-height-heading); overflow-wrap: anywhere; }
.rfx-author-card__role { grid-column: 2; font-family: var(--rfx-font-family-sans); overflow-wrap: anywhere; }
.rfx-author-card__role, .rfx-author-profile__role { margin: 0; color: var(--rfx-color-text-muted); }
body.rfx-editorial-site .rfx-authors { --rfx-article-title-color: var(--rfx-color-text-strong); }
.rfx-authors__header { margin-bottom: var(--rfx-space-6); }
.rfx-authors > .rfx-generic-listing__pagination { margin-block: var(--rfx-space-8); }
@media (min-width: 48.001rem) and (max-width: 64rem) { .rfx-authors-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rfx-author-profile__header { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: var(--rfx-space-6); align-items: center; margin-bottom: var(--rfx-space-8); }
.rfx-author-profile__avatar { width: 12rem; }
.rfx-author-profile__bio { max-width: 65ch; }
.rfx-author-articles { display: grid; gap: var(--rfx-space-5); }
.rfx-author-articles__item { border-top: 1px solid var(--rfx-color-border); padding-top: var(--rfx-space-5); }

@media (max-width: 48rem) {
	.rfx-author-card__link { grid-template-columns: 5rem minmax(0, 1fr); }
	.rfx-author-card__avatar { width: 5rem; }
	.rfx-authors-grid { grid-template-columns: minmax(0, 1fr); gap: var(--rfx-space-4); }
	.rfx-author-profile__header { grid-template-columns: 1fr; }
	.rfx-author-profile__avatar { width: 9rem; margin-inline: 0; }
}

/* Publicidade entregue por rfx-ads: sem campanha, o renderer não devolve markup. */
.rfx-ad {
	display: block;
	max-width: 100%;
}

.rfx-ad-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.rfx-ad-link:focus-visible {
	outline: var(--rfx-border-width, 2px) solid var(--rfx-color-accent);
	outline-offset: 3px;
}

.rfx-ad img {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

/* D-10: wrappers occupy space only when the canonical viewport has an ad. */
.rfx-interior-ad { display: none; }
.rfx-interior-ad:has(> .rfx-ad-responsive:not([hidden]) > .rfx-ad),
.rfx-interior-ad:has(> .rfx-ad) { display: block; }
.rfx-interior-ad--top,
.rfx-interior-ad--footer {
	width: calc(100% - 2 * var(--rfx-container-gutter));
	max-width: var(--rfx-container-content);
	margin: var(--rfx-space-6) auto;
}
.rfx-interior-ad--sidebar { margin-top: var(--rfx-space-10); }
.rfx-generic-listing-context--search .rfx-interior-ad--sidebar,
.rfx-generic-listing-context--author .rfx-interior-ad--sidebar { margin-top: 0; }
/* Preserve the gap between placements after the first-position alignment rules. */
.rfx-interior-ad--sidebar + .rfx-interior-ad--sidebar { margin-top: var(--rfx-space-4); }
/* Inert/provider presentation contract: preserve native size; no activation. */
.rfx-interior-ad .rfx-ad--programmatic {
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	padding-inline: 0;
}
.rfx-interior-ad .rfx-ad--programmatic > * { flex: 0 1 auto; max-width: 100%; }
.rfx-interior-ad .rfx-ad--programmatic img { width: auto; max-width: 100%; height: auto; object-fit: contain; }

/* Global compatible inventory: image geometry is never inherited from a card. */
.rfx-ad--image img {
    height: auto;
    max-width: 100%;
    object-fit: contain;
}
.rfx-ad--programmatic {
    display: flex;
    justify-content: center;
    max-width: 100%;
    padding-inline: 0;
}
.rfx-ad--programmatic > * { flex: 0 1 auto; max-width: 100%; }
.rfx-ad--programmatic img { width: auto; height: auto; max-width: 100%; object-fit: contain; aspect-ratio: auto; }

/* Approved Article anchors: no wrapper when selection is absent/refused. */
.rfx-article-ad--after-media,
.rfx-article-ad--in-content { width: 100%; min-width: 0; box-sizing: border-box; }
.rfx-article-ad--after-media { margin-block: var(--rfx-space-8); }
.rfx-article-ad--in-content { margin-block: var(--rfx-space-6); }

/* Formulário Newsletter: apresentação neutra, marca definida pelo container do site. */
.rfx-newsletter-form { display: grid; gap: .75rem; }
.rfx-newsletter-form input[type="email"] { width: 100%; min-height: 2.75rem; padding: .65rem .8rem; border: 1px solid currentColor; background: transparent; color: inherit; }
.rfx-newsletter-form__consent { font-size: .8125rem; line-height: 1.4; }
.rfx-newsletter-form button { width: fit-content; min-height: 2.75rem; padding: .65rem 1rem; border: 1px solid currentColor; background: transparent; color: inherit; font: inherit; font-weight: 700; cursor: pointer; }
.rfx-newsletter-form button:focus-visible, .rfx-newsletter-form input:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.rfx-newsletter-form [data-rfx-newsletter-message] { min-height: 1.4em; margin: 0; font-size: .875rem; }

.rfx-newsletter-form .rfx-field-error { font-size: .875rem; line-height: 1.4; font-weight: 600; }
.rfx-newsletter-form .rfx-field-error[hidden] { display: none; }
.rfx-newsletter-form [aria-invalid="true"] { border: 2px solid currentColor; }
.rfx-newsletter-form button:disabled { cursor: wait; }

/* Podcast RSS: o áudio remoto nunca é copiado para a Media Library. */
.rfx-podcast-player {
	margin: 1.5rem 0;
	padding: 1rem;
	border: 1px solid var(--rfx-color-border, #d9d9d9);
	border-radius: .25rem;
}

.rfx-podcast-player audio {
	display: block;
	width: 100%;
}

.rfx-podcast-player__duration {
	margin: .5rem 0 0;
	font-size: .875rem;
}

.rfx-podcast-program-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	gap: 1.5rem;
}
/* Hub RSS: referências externas, nunca conteúdo editorial interno. */
.rfx-rss-hub__container { max-width: var(--site-container-width, 1200px); margin: 0 auto; padding: 3rem 1.5rem; }
.rfx-rss-hub__filters { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin: 2rem 0; }
.rfx-rss-hub__filters label { display: grid; gap: .35rem; font-family: var(--gp-font--ibm-plex-sans, sans-serif); font-weight: 700; }
.rfx-rss-hub__filters input, .rfx-rss-hub__filters select, .rfx-rss-hub__filters button { min-height: 2.6rem; }
.rfx-rss-hub__list { display: grid; gap: 1.5rem; }
.rfx-rss-hub__item { display: grid; grid-template-columns: minmax(160px, 260px) 1fr; gap: 1.25rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--rfx-color-divider); }
.rfx-rss-hub__image { display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: var(--rfx-color-surface-muted); }
.rfx-rss-hub__item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rfx-rss-hub__item h2 { margin: .15rem 0 .5rem; }
.rfx-rss-hub__item h2 a { color: inherit; text-decoration: none; }
.rfx-rss-hub__item h2 a:hover, .rfx-rss-hub__item h2 a:focus-visible { text-decoration: underline; }
.rfx-rss-hub__meta { margin: 0; color: var(--contrast-2, #555); font-family: var(--gp-font--ibm-plex-sans, sans-serif); font-size: .875rem; font-weight: 700; }
.rfx-rss-hub__empty { padding: 2rem 0; }

/*
 * Ticker partilhado pelas referências RSS das Homepages editoriais.
 * O viewport mantém a faixa visualmente contida, mas continua deslocável por
 * toque/teclado; o track nunca cria uma segunda linha.
 */
.rfx-rss-ticker__viewport {
	/* Conter também o texto acessível absoluto dentro da faixa, sem afetar o layout. */
	position: relative;
	min-width: 0;
	overflow: hidden;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.rfx-rss-ticker__viewport::-webkit-scrollbar {
	display: none;
}

.rfx-rss-ticker__track {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: max-content;
	min-width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	white-space: nowrap;
}

.rfx-rss-ticker__item {
	display: inline-flex;
	flex: 0 0 auto;
	flex-shrink: 0;
	align-items: center;
	white-space: nowrap;
}

.rfx-rss-ticker__item + .rfx-rss-ticker__item::before {
	margin-inline: var(--rfx-space-4);
	content: "•";
}

.rfx-rss-ticker__link {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: baseline;
	max-width: none;
	white-space: nowrap;
	text-decoration: none;
}

.rfx-rss-ticker__source {
	font-weight: var(--rfx-font-weight-bold);
}

.rfx-rss-ticker__title {
	white-space: nowrap;
}
@media (max-width: 767px) { .rfx-rss-hub__container { padding-inline: 1rem; } .rfx-rss-hub__item { grid-template-columns: 1fr; } }

/* Edições PDF: apenas apresentação; URLs e autorização vêm do rfx-editorial. */
.rfx-editions-archive__inner,
.rfx-edition-reader__inner { max-width: var(--site-container-width, 1200px); margin: 0 auto; padding: 3rem 1.5rem; }
.rfx-editions-filter { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; margin: 2rem 0; }
.rfx-editions-filter label { display: grid; gap: .35rem; }
.rfx-editions-filter input { min-height: 2.7rem; padding: .5rem .75rem; border: 1px solid var(--rfx-color-border); }
.rfx-editions-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; }
.rfx-edition-card__cover { display: block; background: var(--rfx-color-surface, #f3f3f3); }
.rfx-edition-card__cover img,
.rfx-edition-card__cover-placeholder { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.rfx-edition-card__cover-placeholder { background: linear-gradient(135deg, #ddd, #f5f5f5); }
.rfx-edition-card__body { padding-top: 1rem; }
.rfx-edition-card__body h2 { margin: .2rem 0 .4rem; font-size: 1.35rem; }
.rfx-edition-card__body h2 a { color: inherit; text-decoration: none; }
.rfx-edition-card__access { margin: .5rem 0 1rem; font-family: var(--rfx-font-family-display, sans-serif); font-size: .875rem; font-weight: 700; }
.rfx-edition-reader__header { margin-bottom: 1.5rem; }
.rfx-edition-reader__pdf { display: block; width: 100%; min-height: 75vh; border: 1px solid var(--rfx-color-border); }
.rfx-edition-reader__actions { margin-top: 1rem; }
.rfx-editions-empty { padding: 3rem 0; }
@media (max-width: 64rem) { .rfx-editions-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 48rem) { .rfx-editions-archive__inner, .rfx-edition-reader__inner { padding: 2rem 1rem; } .rfx-editions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; } .rfx-edition-reader__pdf { min-height: 65vh; } }

/* Publicidade de Homepage: o markup só existe quando rfx-ads resolve uma campanha elegível. */
.rfx-homepage-ad-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	padding: var(--rfx-space-4);
	background: rgb(0 0 0 / 68%);
}

.rfx-homepage-ad-overlay[hidden] {
	display: none;
}

.rfx-homepage-ad-overlay__panel {
	box-sizing: border-box;
	width: min(100%, 70rem);
	max-height: calc(100vh - (var(--rfx-space-4) * 2));
	overflow: auto;
	color: var(--rfx-color-text);
	background: var(--rfx-color-surface);
	border-radius: var(--rfx-radius-md);
	box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 35%);
}

.rfx-homepage-ad-overlay__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--rfx-space-3);
	padding: var(--rfx-space-2) var(--rfx-space-3);
	border-bottom: var(--rfx-border-width) solid var(--rfx-color-border);
}

.rfx-homepage-ad-overlay__label {
	margin: 0;
	font-family: var(--rfx-font-family-sans);
	font-size: var(--rfx-font-size-caption);
	font-weight: var(--rfx-font-weight-semibold);
}

.rfx-homepage-ad-overlay__close {
	display: inline-grid;
	place-items: center;
	box-sizing: border-box;
	width: 2.5rem;
	min-height: 2.5rem;
	padding: 0;
	color: var(--rfx-color-text);
	font-size: 1.75rem;
	line-height: 1;
	background: transparent;
	border: var(--rfx-border-width) solid var(--rfx-color-border);
	border-radius: var(--rfx-radius-sm);
	cursor: pointer;
}

.rfx-homepage-ad-overlay__close:hover {
	color: var(--rfx-color-action-text);
	background: var(--rfx-color-action-hover);
	border-color: var(--rfx-color-action-hover);
}

.rfx-homepage-ad-overlay__close:focus-visible {
	outline: var(--rfx-focus-outline-width) solid var(--rfx-focus-outline-color);
	outline-offset: var(--rfx-focus-outline-offset);
}

.rfx-homepage-ad-overlay__creative .rfx-ad {
	margin: 0;
}

.rfx-homepage-ad-overlay__creative img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* D-06/D-07: shared presentation; access is resolved before this markup exists. */
.rfx-article-video [hidden] { display: none !important; }
.rfx-article-video-player { aspect-ratio: 16 / 9; background: var(--rfx-color-surface-subtle); }
.rfx-article-video-player iframe { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 9; border: 0; }
.rfx-article-video__placeholder { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; min-height: 100%; padding: .75rem; text-align: center; }
.rfx-article-video__placeholder p { margin: 0; font: .875rem/1.4 var(--rfx-font-family-sans); color: var(--rfx-color-text-strong); }
.rfx-article-video video { background: var(--rfx-color-text-strong); }
.rfx-article-video__actions { margin-top: .5rem; }
.rfx-article-video__status { margin: .5rem 0; min-height: 1.5em; font: .875rem/1.5 var(--rfx-font-family-sans); color: var(--rfx-color-text-strong); }
.rfx-article-video .rfx-button { max-width: 100%; white-space: normal; padding: .625rem 1rem; background: var(--rfx-color-brand); color: var(--rfx-color-text-inverse); border: 0; border-radius: var(--rfx-radius-sm); text-transform: none; }

/* VF caption and approved editorial credit remain in the native figcaption. */
body.rfx-editorial-site .rfx-editorial-primary-video figcaption { margin: .75rem 0 0; padding-bottom: 1rem; border-bottom: 1px solid var(--rfx-color-divider); text-align: right; overflow-wrap: anywhere; font: .875rem/1.5 var(--rfx-font-family-sans); color: var(--rfx-color-text-muted); }

/* Shared VF gallery, native Gutenberg source; media is authorized before rendering. */
.rfx-article-gallery { min-width: 0; width: 100%; max-width: var(--rfx-article-reading-width); font-family: var(--rfx-font-family-sans); }
/* Primary gallery shares the full media container before the optional banner (ADR 0037). */
body.rfx-editorial-site.single-post .rfx-article-shell > .rfx-editorial-primary-media .rfx-article-gallery { max-width: 100%; }
.rfx-article-gallery [hidden] { display: none !important; }
.rfx-article-gallery button { box-sizing: border-box; min-width: 44px; min-height: 44px; padding: .5rem; border: 1px solid transparent; background: var(--rfx-color-surface); color: var(--rfx-color-brand); font: inherit; cursor: pointer; }
.rfx-article-gallery button:disabled { opacity: .45; cursor: default; }
.rfx-article-gallery button:focus-visible { outline: 2px solid var(--rfx-color-brand); outline-offset: 2px; }
.rfx-gallery__toolbar { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .5rem; border-top: 1px solid var(--rfx-color-divider); padding: .5rem 0; }
.rfx-gallery__counter { display: inline-flex; align-items: center; gap: .5rem; }
.rfx-gallery__icon { display: block; width: 24px; height: 24px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.rfx-gallery__counter .rfx-gallery__icon { color: var(--rfx-color-brand); }
.rfx-gallery__toolbar button { font-size: 1.75rem; line-height: 1; }
.rfx-gallery__stage-wrap { position: relative; }
.rfx-gallery__stage-wrap figure { margin: 0; }
.rfx-gallery__image { aspect-ratio: 3 / 2; background: var(--rfx-color-surface-subtle); }
body.rfx-editorial-site .rfx-gallery__image img { display: block; width: 100%; height: 100%; object-fit: contain; aspect-ratio: auto; }
.rfx-article-gallery figcaption { margin: .75rem 0 0; text-align: right; overflow-wrap: anywhere; font: .875rem/1.5 var(--rfx-font-family-sans); color: var(--rfx-color-text-muted); }
.rfx-article-gallery .rfx-gallery__expand { position: absolute; top: .75rem; right: .75rem; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: rgb(0 0 0 / .7); color: #fff; }
.rfx-article-gallery .rfx-gallery__expand:focus-visible { outline-color: #fff; box-shadow: 0 0 0 5px #000; }
.rfx-gallery__thumb-row { display: flex; align-items: center; gap: .25rem; border-top: 1px solid var(--rfx-color-divider); padding: .75rem 0; margin-top: 1rem; }
.rfx-gallery__thumbs { display: flex; position: relative; gap: .5rem; overflow-x: auto; overscroll-behavior-inline: contain; min-width: 0; flex: 1; padding: 4px; }
.rfx-gallery__thumbs button { flex: 0 0 calc((100% - 2rem) / 5); min-width: 64px; padding: 3px; border: 2px solid transparent; }
.rfx-gallery__thumbs button[aria-pressed="true"] { border-color: var(--rfx-color-brand); }
body.rfx-editorial-site .rfx-gallery__thumbs img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.rfx-article-gallery [data-rfx-gallery-status] { margin: .5rem 0; color: var(--rfx-color-text-strong); }
.rfx-article-gallery [data-rfx-gallery-status]:empty { display: none; }
.rfx-gallery__dialog { box-sizing: border-box; max-width: min(96vw, 1200px); width: 96vw; max-height: 94dvh; padding: 1rem; border: 1px solid var(--rfx-color-divider); background: var(--rfx-color-surface); color: var(--rfx-color-text-strong); overflow: auto; }
.rfx-gallery__dialog::backdrop { background: rgb(0 0 0 / .8); }
.rfx-gallery__dialog .rfx-gallery__expand { display: none; }
.rfx-gallery__dialog .rfx-gallery__image { height: min(60dvh, 720px); aspect-ratio: auto; }
.rfx-gallery__dialog [data-rfx-gallery-close] { display: block; margin-left: auto; }
@media (max-width: 40rem) {
 .rfx-gallery__thumbs button { flex-basis: 28%; }
 .rfx-article-gallery .rfx-gallery__expand { top: .25rem; right: .25rem; }
}
