.rfx-paywall {
	box-sizing: border-box;
	display: grid;
	gap: var(--rfx-space-4);
	width: min(100%, var(--rfx-container-reading));
	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-muted);
	border: var(--rfx-border-width) solid var(--rfx-color-border);
	border-radius: var(--rfx-radius-md);
}

.rfx-paywall-title {
	margin: 0;
	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-paywall-message,
.rfx-paywall-actions {
	margin: 0;
}

.rfx-paywall-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	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-action:hover {
	color: var(--rfx-color-action-text);
	background-color: var(--rfx-color-action-hover);
	border-color: var(--rfx-color-action-hover);
}

.rfx-paywall-action: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-6);
	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;
}

.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-text-strong);
	border-color: var(--rfx-color-text-strong);
}

.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);
}

.rfx-label--category {
	margin-bottom: 0;
	color: 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-label--category a {
	text-decoration: none;
}

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

.rfx-label--category a:hover,
.rfx-label--category a:focus-visible {
	color: var(--rfx-color-text-muted);
}

.rfx-label--category 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-border);
	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:hover,
.rfx-list-menu:focus-visible,
.rfx-list-menu a:hover,
.rfx-list-menu a:focus-visible,
.rfx-list-menu-geral:hover,
.rfx-list-menu-geral: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-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-border);
}

.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: 16 / 9;
	object-fit: cover;
}

.rfx-generic-listing-card__content {
	display: grid;
	align-content: start;
	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 {
	grid-template-columns: minmax(12rem, 20rem) minmax(0, 1fr);
	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: segue-se uma lista textual sem sidebar. */
.rfx-author-profile-area .rfx-generic-listing {
	padding-inline: 0;
}

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

.rfx-generic-listing--author .rfx-generic-listing-card {
	display: block;
	padding-block: var(--rfx-space-6);
}

.rfx-generic-listing--author .rfx-generic-listing-card__image {
	display: none;
}

.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);
	line-height: var(--rfx-line-height-heading);
}

.rfx-generic-listing-card__title a,
.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,
.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-text);
	border: var(--rfx-border-width) solid var(--rfx-color-border);
}

.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: underline;
}

.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);
}

.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: var(--rfx-border-width) solid var(--rfx-color-border);
}

.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: underline;
}

.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 {
		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 {
		margin: var(--rfx-space-6) auto;
		padding: var(--rfx-space-4);
	}

	.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(4, minmax(0, 1fr));
	gap: var(--rfx-space-6);
}

.rfx-author-card {
	border: 1px solid var(--rfx-color-border);
	border-radius: var(--rfx-radius-md);
	text-align: center;
	overflow: hidden;
}

.rfx-author-card__link { display: block; padding: var(--rfx-space-5); color: inherit; text-decoration: none; }
.rfx-author-card__avatar, .rfx-author-profile__avatar { aspect-ratio: 1; overflow: hidden; border-radius: 50%; margin-inline: auto; }
.rfx-author-card__avatar { width: min(100%, 10rem); }
.rfx-author-card__avatar img, .rfx-author-profile__avatar img { width: 100%; height: 100%; object-fit: cover; }
.rfx-author-card__name { margin: var(--rfx-space-4) 0 var(--rfx-space-1); 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); }
.rfx-author-card__role, .rfx-author-profile__role { margin: 0; color: var(--rfx-color-text-muted); }
.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-authors-grid { grid-template-columns: repeat(2, 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%;
}

/* 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; }

/* 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(--base-2, #d9d9d9); }
.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;
}
