/**
 * PopShow — Componentes de conteúdo (fase 3):
 * cards e variantes, grids, cabeçalhos de seção e de arquivo,
 * post único (hero, artigo, share, autor, relacionados), 404 e comentários.
 */

/* ============ 01 · CABEÇALHO DE SEÇÃO ============ */
.ps-sec {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--ps-sp-2) var(--ps-sp-4);
	margin-bottom: var(--ps-sp-5);
	flex-wrap: wrap; /* em 320px o "ver tudo" desce em vez de estourar */
}

.ps-sec__titulo {
	font-family: var(--ps-font-secao);
	font-weight: 400; /* Anton e Archivo Black já são pesadas: sem bold sintético */
	font-size: var(--ps-display-2);
	text-transform: uppercase;
	letter-spacing: 0.01em;
	margin: 0;
	display: flex;
	align-items: center;
	gap: var(--ps-sp-3);
}

.ps-sec__titulo::after {
	content: '';
	display: block;
	width: 56px;
	height: 4px;
	flex-shrink: 0;
	border-radius: 2px;
	background: var(--ed, var(--ps-accent));
	align-self: end;
	margin-bottom: 0.35em;
}

@media (max-width: 400px) {
	/* Em telas muito estreitas a barra do título vira um traço curto. */
	.ps-sec__titulo::after {
		width: 28px;
	}
}

.ps-sec__raio {
	width: 0.5em;
	height: 0.75em;
	background-color: var(--ed-ink, var(--ps-accent));
}

.ps-sec__vertudo {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: var(--ps-font-num);
	font-size: var(--ps-small);
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ps-text-2);
	white-space: nowrap;
}

.ps-sec__vertudo:hover {
	color: var(--ed-ink, var(--ps-accent));
}

.ps-sec__vertudo:hover .ps-icon {
	transform: translateX(3px);
}

.ps-sec__vertudo .ps-icon {
	transition: transform var(--ps-t-fast) var(--ps-ease);
}

/* ============ 02 · GRIDS ============ */
.ps-grid {
	display: grid;
	gap: var(--ps-sp-5);
}

.ps-grid--2 { grid-template-columns: repeat(2, 1fr); }
.ps-grid--3 { grid-template-columns: repeat(3, 1fr); }
.ps-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Arquivo: destaque ocupa 2 colunas na primeira linha. */
.ps-grid--arquivo {
	grid-template-columns: repeat(3, 1fr);
}

.ps-grid--arquivo > .ps-card-destaque {
	grid-column: span 2;
}

@media (max-width: 1023px) {
	.ps-grid--3,
	.ps-grid--4,
	.ps-grid--arquivo { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 639px) {
	.ps-grid--2,
	.ps-grid--3,
	.ps-grid--4,
	.ps-grid--arquivo { grid-template-columns: 1fr; }

	.ps-grid--arquivo > .ps-card-destaque { grid-column: span 1; }
}

/* ============ 03 · CARD PADRÃO ============ */
.ps-card {
	position: relative;
	background: var(--ps-surface);
	border: 1px solid var(--ps-border);
	border-radius: var(--ps-radius);
	overflow: hidden;
	transition: transform var(--ps-t) var(--ps-ease), box-shadow var(--ps-t) var(--ps-ease), border-color var(--ps-t) var(--ps-ease);
}

.ps-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--ps-shadow), 0 0 0 1px color-mix(in srgb, var(--ed, var(--ps-accent)) 35%, transparent);
	border-color: color-mix(in srgb, var(--ed, var(--ps-accent)) 40%, transparent);
}

.ps-card__thumb {
	display: block;
	overflow: hidden;
}

.ps-card__thumb img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform var(--ps-t-slow) var(--ps-ease);
}

.ps-card:hover .ps-card__thumb img {
	transform: scale(1.04);
}

.ps-card__semfoto {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, var(--ps-ultra), var(--ps-carvao) 75%);
}

.ps-card__semfoto .ps-bolt {
	width: 34px;
	height: 52px;
	opacity: 0.65;
}

.ps-chip {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
	font-family: var(--ps-font-head);
	font-weight: 800;
	font-size: var(--ps-tiny);
	letter-spacing: 0.09em;
	text-transform: uppercase;
	background: var(--ed, var(--ps-accent));
	color: var(--ed-on, var(--ps-carvao));
	padding: 5px 10px;
	border-radius: 6px;
	transition: transform var(--ps-t-fast) var(--ps-ease-pop);
}

.ps-chip:hover {
	transform: scale(1.06);
	color: var(--ed-on, var(--ps-carvao));
}

.ps-card__body {
	padding: var(--ps-sp-4) var(--ps-sp-4) var(--ps-sp-5);
}

.ps-card__titulo {
	font-size: var(--ps-title-card);
	line-height: 1.3;
	margin: 0 0 var(--ps-sp-3);
}

.ps-card--grande .ps-card__titulo {
	font-size: var(--ps-title);
}

.ps-card__titulo a {
	color: var(--ps-text);
}

.ps-card__titulo a:hover {
	color: var(--ed-ink, var(--ps-accent));
}

.ps-meta {
	display: flex;
	align-items: center;
	gap: var(--ps-sp-2);
	font-size: var(--ps-tiny);
	color: var(--ps-text-3);
}

.ps-meta__avatar {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	object-fit: cover;
}

.ps-meta__autor {
	color: var(--ps-text-2);
	font-weight: 600;
}

/* ============ 04 · CARD DESTAQUE (título em caixas) ============ */
.ps-card-destaque {
	position: relative;
	border-radius: var(--ps-radius);
	overflow: hidden;
	min-height: 340px;
	background: linear-gradient(150deg, var(--ps-ultra), var(--ps-carvao) 70%);
	transition: transform var(--ps-t) var(--ps-ease), box-shadow var(--ps-t) var(--ps-ease);
}

.ps-card-destaque:hover {
	transform: translateY(-4px);
	box-shadow: var(--ps-shadow-lg);
}

.ps-card-destaque__link {
	display: block;
	height: 100%;
	min-height: inherit;
}

.ps-card-destaque__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--ps-t-slow) var(--ps-ease);
}

.ps-card-destaque:hover .ps-card-destaque__img {
	transform: scale(1.03);
}

.ps-card-destaque__veu {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(11, 10, 28, 0.85) 0%, rgba(11, 10, 28, 0.25) 55%, rgba(11, 10, 28, 0.05) 100%);
}

.ps-card-destaque__conteudo {
	position: absolute;
	left: var(--ps-sp-5);
	right: var(--ps-sp-5);
	bottom: var(--ps-sp-5);
	display: block;
}

.ps-card-destaque__hashtag {
	display: inline-block;
	font-family: var(--ps-font-head);
	font-weight: 800;
	font-size: var(--ps-tiny);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	background: var(--ed, var(--ps-accent));
	color: var(--ed-on, var(--ps-carvao));
	padding: 5px 10px;
	margin-bottom: var(--ps-sp-3);
}

.ps-card-destaque__titulo {
	display: block;
	font-family: var(--ps-font-display);
	font-size: clamp(1.15rem, 2.2vw, 1.6rem);
	line-height: 1.42;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	max-width: 24ch;
}

/* A caixa branca quebra linha a linha (referência 3). */
.ps-card-destaque__titulo span {
	background: #fff;
	color: var(--ps-carvao);
	padding: 0.14em 0.38em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.ps-card-destaque__meta {
	display: block;
	margin-top: var(--ps-sp-3);
	font-size: var(--ps-tiny);
	color: rgba(255, 255, 255, 0.85);
}

/* ============ 05 · CARD LISTA ============ */
.ps-card-lista {
	display: flex;
	gap: var(--ps-sp-4);
	align-items: flex-start;
	padding: var(--ps-sp-3);
	border-radius: var(--ps-radius-sm);
	border: 1px solid transparent;
	transition: background var(--ps-t-fast) var(--ps-ease), border-color var(--ps-t-fast) var(--ps-ease);
}

.ps-card-lista:hover {
	background: var(--ps-surface);
	border-color: var(--ps-border);
}

.ps-card-lista__thumb {
	flex-shrink: 0;
	width: 132px;
	border-radius: var(--ps-radius-sm);
	overflow: hidden;
}

.ps-card-lista__thumb img,
.ps-card-lista__thumb .ps-card__semfoto {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.ps-card-lista__ed {
	font-family: var(--ps-font-head);
	font-weight: 800;
	font-size: var(--ps-tiny);
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--ed-ink, var(--ps-accent));
}

.ps-card-lista__titulo {
	font-size: 0.95rem;
	line-height: 1.35;
	margin: 4px 0 6px;
}

.ps-card-lista__titulo a {
	color: var(--ps-text);
}

.ps-card-lista__titulo a:hover {
	color: var(--ed-ink, var(--ps-accent));
}

.ps-card-lista__quando {
	font-size: var(--ps-tiny);
	color: var(--ps-text-3);
}

@media (max-width: 479px) {
	.ps-card-lista__thumb {
		width: 104px;
	}
}

/* ============ 06 · CARD NÚMERO (ranking) ============ */
.ps-card-num {
	display: flex;
	align-items: center;
	gap: var(--ps-sp-4);
	padding: var(--ps-sp-3) var(--ps-sp-2);
}

.ps-card-num + .ps-card-num {
	border-top: 1px solid var(--ps-border);
}

.ps-card-num__n {
	font-family: var(--ps-font-display);
	font-size: 3.4rem;
	line-height: 1;
	min-width: 58px;
	text-align: center;
	color: transparent;
	-webkit-text-stroke: 2px var(--ps-accent);
	flex-shrink: 0;
}

.ps-card-num:hover .ps-card-num__n {
	-webkit-text-stroke-color: var(--ed-ink, var(--ps-accent));
}

.ps-card-num__titulo {
	font-size: 0.95rem;
	line-height: 1.35;
	margin: 0 0 4px;
}

.ps-card-num__titulo a {
	color: var(--ps-text);
}

.ps-card-num__titulo a:hover {
	color: var(--ed-ink, var(--ps-accent));
}

.ps-card-num__views {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: var(--ps-font-num);
	font-size: var(--ps-tiny);
	color: var(--ps-text-3);
}

/* Autoria nos blocos compactos (ranking, lista, timeline). */
.ps-card-num__body .ps-meta,
.ps-card-lista__body .ps-meta,
.ps-timeline__body .ps-meta {
	margin-top: 5px;
	font-size: var(--ps-tiny);
	flex-wrap: wrap;
}

/* Sem isto o texto não encolhe dentro do flex e vaza a tela no celular. */
.ps-card-num__body,
.ps-card-lista__body,
.ps-timeline__body {
	min-width: 0;
}

.ps-card-num__titulo,
.ps-card-lista__titulo,
.ps-timeline__titulo {
	overflow-wrap: anywhere;
}

/* ============ 07 · CABEÇALHO DE ARQUIVO/CATEGORIA ============ */
.ps-arquivo__hero {
	background: var(--ps-surface);
	border-bottom: 1px solid var(--ps-border);
	padding: var(--ps-sp-7) 0 var(--ps-sp-5);
	position: relative;
	overflow: hidden;
}

/* Com imagem de fundo: véu escuro para o título continuar legível. */
.ps-arquivo__hero--imagem {
	background-size: cover;
	background-position: center;
}

.ps-arquivo__hero--imagem::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		160deg,
		color-mix(in srgb, var(--ed, var(--ps-ultra)) 45%, rgba(11, 10, 28, 0.72)),
		rgba(11, 10, 28, 0.86)
	);
	pointer-events: none;
}

.ps-arquivo__hero--imagem > .ps-container {
	position: relative;
	z-index: 1;
}

.ps-arquivo__hero--imagem .ps-arquivo__titulo,
.ps-arquivo__hero--imagem .ps-arquivo__desc {
	color: #fff;
}

/* A cor da editoria tinge o hero de leve. */
.ps-arquivo[data-ed] .ps-arquivo__hero:not(.ps-arquivo__hero--imagem) {
	background:
		radial-gradient(ellipse 90% 130% at 15% -30%, color-mix(in srgb, var(--ed, var(--ps-accent)) 18%, transparent), transparent 60%),
		var(--ps-surface);
}

.ps-arquivo__kicker {
	display: flex;
	align-items: center;
	gap: var(--ps-sp-2);
	font-family: var(--ps-font-num);
	font-size: var(--ps-small);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ed-ink, var(--ps-accent));
	margin: 0 0 var(--ps-sp-2);
}

.ps-arquivo__kicker .ps-bolt {
	background-color: var(--ed-ink, var(--ps-accent));
}

.ps-arquivo__titulo {
	font-family: var(--ps-font-display);
	font-size: var(--ps-display-1);
	text-transform: uppercase;
	letter-spacing: -0.02em;
	line-height: 0.98;
	margin: 0;
}

.ps-arquivo__titulo .ps-arquivo__termo {
	color: var(--ps-accent);
}

.ps-arquivo__desc {
	color: var(--ps-text-2);
	max-width: 560px;
	margin-top: var(--ps-sp-3);
}

.ps-arquivo__filtros {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--ps-sp-4);
	margin-top: var(--ps-sp-5);
}

.ps-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ps-sp-2);
}

.ps-chips--centro {
	justify-content: center;
	margin-top: var(--ps-sp-5);
}

.ps-arquivo__ordem {
	display: inline-flex;
	border: 1px solid var(--ps-border-strong);
	border-radius: var(--ps-radius-full);
	padding: 3px;
	gap: 2px;
}

.ps-arquivo__ordem-item {
	font-family: var(--ps-font-head);
	font-weight: 700;
	font-size: var(--ps-tiny);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ps-text-2);
	padding: 7px 14px;
	border-radius: var(--ps-radius-full);
}

.ps-arquivo__ordem-item.is-active {
	background: var(--ed, var(--ps-accent));
	color: var(--ed-on, var(--ps-accent-ink));
}

/* ============ 08 · PAGINAÇÃO ============ */
.ps-main .navigation.pagination {
	margin-top: var(--ps-sp-7);
}

.ps-main .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--ps-sp-2);
}

.ps-main .nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 var(--ps-sp-3);
	border: 1px solid var(--ps-border-strong);
	border-radius: var(--ps-radius-sm);
	font-family: var(--ps-font-num);
	font-weight: 700;
	font-size: var(--ps-small);
	color: var(--ps-text-2);
	transition: all var(--ps-t-fast) var(--ps-ease);
}

.ps-main .nav-links .page-numbers:hover {
	border-color: var(--ps-accent);
	color: var(--ps-accent);
}

.ps-main .nav-links .page-numbers.current {
	background: var(--ps-accent);
	border-color: var(--ps-accent);
	color: var(--ps-accent-ink);
}

.ps-main .nav-links .page-numbers.dots {
	border: 0;
}

/* ============ 09 · SINGLE — PROGRESSO E HERO ============ */
.ps-progresso {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: calc(var(--ps-z-header) + 1);
	height: 3px;
	background: transparent;
	pointer-events: none;
}

.ps-progresso__fill {
	height: 100%;
	width: 0;
	background: var(--ed, var(--ps-accent));
	box-shadow: 0 0 10px color-mix(in srgb, var(--ed, var(--ps-accent)) 70%, transparent);
	transition: width 80ms linear;
}

.ps-single-hero {
	position: relative;
	min-height: clamp(420px, 62vh, 640px);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	margin-top: calc(-1 * var(--ps-header-h));
	padding-top: var(--ps-header-h);
}

.ps-single-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ps-single-hero__veu {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to top, var(--ps-bg) 4%, color-mix(in srgb, var(--ps-bg) 72%, transparent) 38%, color-mix(in srgb, var(--ps-bg) 18%, transparent) 70%, transparent 100%);
}

.ps-single-hero--semfoto {
	background:
		radial-gradient(ellipse 90% 130% at 15% -30%, color-mix(in srgb, var(--ed, var(--ps-accent)) 20%, transparent), transparent 60%),
		var(--ps-surface);
	border-bottom: 1px solid var(--ps-border);
}

.ps-single-hero__conteudo {
	position: relative;
	width: 100%;
	padding-block: var(--ps-sp-6);
}

.ps-single-hero .ps-chip {
	position: static;
	display: inline-block;
	margin-bottom: var(--ps-sp-4);
}

.ps-single-hero__titulo {
	font-family: var(--ps-font-display);
	font-size: clamp(1.7rem, 4.2vw, 3.2rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	max-width: 22ch;
	margin: 0 0 var(--ps-sp-3);
}

.ps-single-hero__linha-fina {
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	color: var(--ps-text-2);
	max-width: 58ch;
	margin: 0 0 var(--ps-sp-5);
}

.ps-single-hero__meta {
	display: flex;
	align-items: center;
	gap: var(--ps-sp-3);
}

.ps-meta__avatar--g {
	width: 44px;
	height: 44px;
	border: 2px solid var(--ed, var(--ps-accent));
}

.ps-single-hero__autor {
	display: block;
	font-family: var(--ps-font-head);
	font-weight: 800;
	font-size: var(--ps-small);
	color: var(--ps-text);
}

.ps-single-hero__autor:hover {
	color: var(--ed-ink, var(--ps-accent));
}

.ps-single-hero__detalhes {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: var(--ps-tiny);
	color: var(--ps-text-2);
}

/* ============ 09b · SINGLE EM VÍDEO ============ */
/* O player abre a página; o título vem embaixo dele. */
.ps-single-video__palco {
	background: var(--ps-carvao);
	padding-block: var(--ps-sp-6);
	margin-top: calc(-1 * var(--ps-header-h));
	padding-top: calc(var(--ps-header-h) + var(--ps-sp-5));
	position: relative;
}

.ps-single-video__palco::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 70% 90% at 50% 0%, color-mix(in srgb, var(--ed, var(--ps-accent)) 22%, transparent), transparent 65%);
	pointer-events: none;
}

.ps-single-video__player {
	position: relative;
	z-index: 1;
	max-width: 1040px;
	margin-inline: auto;
	border-radius: var(--ps-radius);
	overflow: hidden;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55), 0 0 0 1px color-mix(in srgb, var(--ed, var(--ps-accent)) 30%, transparent);
	background: #000;
}

/* Qualquer embed vira 16:9 responsivo. */
.ps-single-video__player iframe,
.ps-single-video__player video,
.ps-single-video__player embed,
.ps-single-video__player object {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
}

.ps-single-video__player figure,
.ps-single-video__player .wp-block-embed__wrapper {
	margin: 0;
}

.ps-single-video__info {
	padding-block: var(--ps-sp-6) var(--ps-sp-2);
	max-width: min(var(--ps-container), 1040px);
}

.ps-single-video__info .ps-chip {
	position: static;
	display: inline-block;
	margin-bottom: var(--ps-sp-4);
}

.ps-single-video__titulo {
	font-family: var(--ps-font-display);
	font-size: clamp(1.6rem, 3.6vw, 2.7rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	max-width: 26ch;
	margin: 0 0 var(--ps-sp-3);
}

/* ============ 10 · SINGLE — CORPO E ARTIGO ============ */
.ps-single__corpo {
	display: grid;
	grid-template-columns: 64px minmax(0, var(--ps-container-narrow));
	justify-content: center;
	gap: var(--ps-sp-6);
	padding-block: var(--ps-sp-6);
}

.ps-single__rail {
	position: sticky;
	top: calc(var(--ps-header-h) + var(--ps-sp-5));
	align-self: start;
}

@media (max-width: 1023px) {
	.ps-single__corpo {
		grid-template-columns: minmax(0, 1fr);
	}

	.ps-single__rail {
		display: none;
	}
}

.ps-share {
	display: flex;
	gap: var(--ps-sp-2);
}

.ps-share--rail {
	flex-direction: column;
}

.ps-share__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--ps-border-strong);
	border-radius: 50%;
	background: var(--ps-surface);
	color: var(--ps-text-2);
	cursor: pointer;
	transition: all var(--ps-t-fast) var(--ps-ease);
}

.ps-share__btn:hover {
	color: var(--ps-accent);
	border-color: var(--ps-accent);
	transform: translateY(-2px);
	box-shadow: var(--ps-glow);
}

.ps-share__feito {
	position: absolute;
	left: calc(100% + 10px);
	top: 50%;
	transform: translateY(-50%) scale(0.9);
	background: var(--ps-accent);
	color: var(--ps-accent-ink);
	font-family: var(--ps-font-head);
	font-weight: 700;
	font-size: var(--ps-tiny);
	padding: 4px 10px;
	border-radius: 6px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--ps-t-fast) var(--ps-ease), transform var(--ps-t-fast) var(--ps-ease-pop);
}

.ps-share__copiar.is-copiado .ps-share__feito {
	opacity: 1;
	transform: translateY(-50%) scale(1);
}

.ps-share--linha .ps-share__feito {
	left: 50%;
	top: auto;
	bottom: calc(100% + 8px);
	transform: translateX(-50%) scale(0.9);
}

.ps-share--linha .ps-share__copiar.is-copiado .ps-share__feito {
	transform: translateX(-50%) scale(1);
}

/* Tipografia de leitura */
.ps-artigo {
	font-size: clamp(1.0625rem, 1.3vw, 1.125rem);
	line-height: 1.8;
	color: var(--ps-text);
}

.ps-artigo--pagina {
	max-width: var(--ps-container-narrow);
	margin-inline: auto;
	padding-block: var(--ps-sp-6);
}

.ps-artigo > p {
	margin: 0 0 1.4em;
}

.ps-artigo a {
	color: var(--ps-link);
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--ps-link) 40%, transparent);
	text-underline-offset: 3px;
}

.ps-artigo a:hover {
	text-decoration-color: var(--ps-link);
}

.ps-artigo h2,
.ps-artigo h3 {
	margin: 1.6em 0 0.6em;
	display: flex;
	align-items: baseline;
	gap: var(--ps-sp-2);
}

.ps-artigo h2::before,
.ps-artigo h3::before {
	content: '';
	flex-shrink: 0;
	width: 0.45em;
	height: 0.68em;
	background-color: var(--ed-ink, var(--ps-accent));
	-webkit-mask: url('../img/bolt.png') no-repeat center / contain;
	mask: url('../img/bolt.png') no-repeat center / contain;
}

.ps-artigo blockquote {
	margin: 1.8em 0;
	padding: var(--ps-sp-4) var(--ps-sp-5);
	border-left: 4px solid var(--ed, var(--ps-accent));
	border-radius: 0 var(--ps-radius) var(--ps-radius) 0;
	background: var(--ps-surface);
	font-family: var(--ps-font-head);
	font-weight: 600;
	font-size: 1.15em;
	line-height: 1.55;
}

.ps-artigo blockquote p {
	margin: 0;
}

.ps-artigo blockquote cite {
	display: block;
	margin-top: var(--ps-sp-3);
	font-family: var(--ps-font-body);
	font-weight: 400;
	font-size: var(--ps-small);
	font-style: normal;
	color: var(--ps-text-2);
}

.ps-artigo img,
.ps-artigo figure {
	border-radius: var(--ps-radius);
	margin: 1.8em auto;
}

.ps-artigo figure img {
	margin: 0;
}

.ps-artigo figcaption {
	font-size: var(--ps-tiny);
	color: var(--ps-text-3);
	text-align: center;
	margin-top: var(--ps-sp-2);
}

.ps-artigo ul,
.ps-artigo ol {
	margin: 0 0 1.4em;
	padding-left: 1.2em;
}

.ps-artigo li {
	margin-bottom: 0.4em;
}

.ps-artigo ul {
	list-style: none;
	padding-left: 0;
}

.ps-artigo ul > li {
	padding-left: 1.4em;
	position: relative;
}

.ps-artigo ul > li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.42em;
	width: 0.55em;
	height: 0.8em;
	background-color: var(--ed-ink, var(--ps-accent));
	-webkit-mask: url('../img/bolt.png') no-repeat center / contain;
	mask: url('../img/bolt.png') no-repeat center / contain;
}

.ps-artigo__tags {
	margin: var(--ps-sp-6) 0 0;
}

.ps-artigo__share-linha {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ps-sp-3);
	margin-top: var(--ps-sp-5);
	padding-top: var(--ps-sp-5);
	border-top: 1px solid var(--ps-border);
}

.ps-artigo__share-label {
	font-family: var(--ps-font-head);
	font-weight: 700;
	font-size: var(--ps-small);
	color: var(--ps-text-2);
}

/* ============ 11 · AUTOR, PREV/NEXT, RELACIONADOS ============ */
.ps-autor-box {
	display: flex;
	gap: var(--ps-sp-4);
	align-items: flex-start;
	background: var(--ps-surface);
	border: 1px solid var(--ps-border);
	border-radius: var(--ps-radius);
	padding: var(--ps-sp-5);
	margin-top: var(--ps-sp-6);
}

.ps-autor-box__avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	border: 2px solid var(--ed, var(--ps-accent));
	flex-shrink: 0;
}

.ps-autor-box__label {
	font-family: var(--ps-font-num);
	font-size: var(--ps-tiny);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ps-text-3);
	display: block;
	margin-bottom: 2px;
}

.ps-autor-box__nome {
	font-family: var(--ps-font-head);
	font-weight: 800;
	font-size: 1.1rem;
	color: var(--ps-text);
}

.ps-autor-box__nome:hover {
	color: var(--ed-ink, var(--ps-accent));
}

.ps-autor-box__bio {
	color: var(--ps-text-2);
	font-size: var(--ps-small);
	margin: var(--ps-sp-2) 0 0;
}

.ps-prevnext {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--ps-sp-4);
	margin-block: var(--ps-sp-6);
}

@media (max-width: 639px) {
	.ps-prevnext {
		grid-template-columns: 1fr;
	}
}

.ps-prevnext__item {
	display: block;
	background: var(--ps-surface);
	border: 1px solid var(--ps-border);
	border-radius: var(--ps-radius);
	padding: var(--ps-sp-4) var(--ps-sp-5);
	transition: border-color var(--ps-t-fast) var(--ps-ease), transform var(--ps-t-fast) var(--ps-ease);
}

.ps-prevnext__item:hover {
	border-color: var(--ps-accent);
	transform: translateY(-2px);
}

.ps-prevnext__item--next {
	text-align: right;
}

.ps-prevnext__dir {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: var(--ps-font-num);
	font-size: var(--ps-tiny);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ps-text-3);
	margin-bottom: var(--ps-sp-2);
}

.ps-prevnext__titulo {
	display: block;
	font-family: var(--ps-font-head);
	font-weight: 700;
	font-size: var(--ps-small);
	color: var(--ps-text);
	line-height: 1.4;
}

.ps-prevnext__item:hover .ps-prevnext__titulo {
	color: var(--ps-accent);
}

.ps-related {
	margin-block: var(--ps-sp-7);
}

/* ============ 12 · 404 ============ */
.ps-404 {
	display: flex;
	align-items: center;
	min-height: calc(100vh - var(--ps-header-h));
	text-align: center;
}

.ps-404__inner {
	position: relative;
	max-width: 640px;
	padding-block: var(--ps-sp-7);
}

.ps-404__numero {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.05em;
	font-family: var(--ps-font-display);
	font-size: clamp(6rem, 18vw, 11rem);
	line-height: 1;
	margin: 0 0 var(--ps-sp-4);
	color: transparent;
	-webkit-text-stroke: 3px var(--ps-accent);
}

.ps-404__raio {
	width: 0.62em;
	height: 0.95em;
	background-color: var(--ps-accent);
	filter: drop-shadow(0 0 18px color-mix(in srgb, var(--ps-accent) 60%, transparent));
}

.ps-404__titulo {
	font-family: var(--ps-font-display);
	font-size: var(--ps-display-2);
	text-transform: uppercase;
	margin-bottom: var(--ps-sp-3);
}

.ps-404__texto {
	color: var(--ps-text-2);
	max-width: 44ch;
	margin: 0 auto var(--ps-sp-5);
}

.ps-404 .ps-search-form {
	margin-inline: auto;
	max-width: 480px;
}

.ps-404 .ps-search-form__input {
	font-size: 1.3rem;
}

.ps-404__voltar {
	display: inline-flex;
	align-items: center;
	gap: var(--ps-sp-2);
	margin-top: var(--ps-sp-6);
	font-family: var(--ps-font-head);
	font-weight: 800;
	font-size: var(--ps-small);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	background: var(--ps-accent);
	color: var(--ps-accent-ink);
	padding: 14px 26px;
	border-radius: var(--ps-radius-full);
	transition: transform var(--ps-t-fast) var(--ps-ease-pop), box-shadow var(--ps-t-fast) var(--ps-ease);
}

.ps-404__voltar:hover {
	transform: translateY(-2px) scale(1.03);
	box-shadow: var(--ps-glow);
	color: var(--ps-accent-ink);
}

/* ============ 12b · HOME ============ */
.ps-home__hero {
	padding-top: var(--ps-sp-5);
}

.ps-home__ticker {
	margin-top: var(--ps-sp-5);
}

.ps-home__bloco {
	margin-block: var(--ps-section);
}

.ps-home__duplo {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--ps-sp-7);
}

@media (max-width: 1023px) {
	.ps-home__duplo {
		grid-template-columns: 1fr;
		gap: var(--ps-sp-5);
	}
}

/* Seção colorida por editoria (ref. Café POP): full-bleed, cards brancos. */
.ps-secao-ed {
	background-color: var(--ed, var(--ps-ultra));
	background-size: cover;
	background-position: center;
	padding-block: var(--ps-sp-7);
	margin-block: var(--ps-section);
	position: relative;
	overflow: hidden;
}

.ps-secao-ed::before {
	content: '';
	position: absolute;
	inset: -10%;
	background-image: url('../img/bolt.png');
	background-size: 52px;
	background-repeat: space;
	opacity: 0.09;
	transform: rotate(-8deg);
	pointer-events: none;
}

/* Com arte de fundo: a cor da editoria continua mandando, a arte entra como
 * textura por baixo. Assim a faixa não perde o impacto do bloco sólido. */
.ps-secao-ed--imagem::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		160deg,
		color-mix(in srgb, var(--ed, var(--ps-ultra)) 88%, transparent),
		color-mix(in srgb, var(--ed, var(--ps-ultra)) 72%, rgba(11, 10, 28, 0.35))
	);
	pointer-events: none;
}

.ps-secao-ed--imagem::before {
	display: none;
}

.ps-secao-ed .ps-container {
	position: relative;
	z-index: 1;
}

.ps-secao-ed__topo {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--ps-sp-2) var(--ps-sp-4);
	margin-bottom: var(--ps-sp-5);
	flex-wrap: wrap;
}

/* Título sobre o preenchimento da editoria: tinta que garante contraste
 * (carvão nas cores claras, branco no ultravioleta). Com arte de fundo
 * existe véu escuro, então volta a ser branco. */
.ps-secao-ed__titulo {
	display: flex;
	align-items: center;
	gap: var(--ps-sp-3);
	font-family: var(--ps-font-secao);
	font-weight: 400;
	font-size: var(--ps-display-2);
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: var(--ed-ontitulo, #fff);
	margin: 0;
	text-shadow: 0 2px 16px rgba(11, 10, 28, 0.22);
}

.ps-secao-ed__titulo .ps-bolt {
	width: 0.5em;
	height: 0.75em;
	background-color: currentColor;
}


.ps-secao-ed__vertudo {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: var(--ps-font-num);
	font-size: var(--ps-small);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ed-ontitulo, #fff);
	opacity: 0.85;
	white-space: nowrap;
}

.ps-secao-ed__vertudo:hover {
	opacity: 1;
}

.ps-secao-ed__fila {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--ps-sp-4);
}

@media (max-width: 1023px) {
	.ps-secao-ed__fila {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: var(--ps-sp-3);
		scrollbar-width: none;
	}

	.ps-secao-ed__fila::-webkit-scrollbar {
		display: none;
	}

	.ps-secao-ed__card {
		flex: 0 0 76%;
		max-width: 300px;
		scroll-snap-align: start;
	}
}

/* Cards sempre brancos sobre a cor, nos dois temas (ref. visual). */
.ps-secao-ed__card {
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(11, 10, 28, 0.25);
	transition: transform var(--ps-t) var(--ps-ease), box-shadow var(--ps-t) var(--ps-ease);
}

.ps-secao-ed__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(11, 10, 28, 0.35);
}

.ps-secao-ed__card a {
	display: block;
	color: #14132B;
}

.ps-secao-ed__thumb {
	display: block;
	position: relative;
}

.ps-secao-ed__thumb img,
.ps-secao-ed__semfoto {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

/* Chip dentro de um card que já é link: some o hover de escala. */
.ps-chip--estatico {
	pointer-events: none;
}

.ps-secao-ed__semfoto {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #14132B, #3B3A5E);
}

.ps-secao-ed__semfoto .ps-bolt {
	width: 26px;
	height: 40px;
}

.ps-secao-ed__texto {
	display: block;
	font-family: var(--ps-font-head);
	font-weight: 700;
	font-size: 0.92rem;
	line-height: 1.4;
	padding: 14px 16px 6px;
}

.ps-secao-ed__card:hover .ps-secao-ed__texto {
	color: var(--ed-inkc, var(--ps-ultra));
}

.ps-secao-ed__quando {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	font-size: 11px;
	color: #8B8AA3;
	padding: 0 16px 14px;
}

.ps-secao-ed__autor {
	font-weight: 600;
	color: #5A5972;
}

/* Vídeos: faixa sempre escura com pattern, nos dois temas. */
.ps-videos {
	background: var(--ps-carvao);
	padding-block: var(--ps-sp-7);
	margin-block: var(--ps-section);
}

.ps-videos .ps-sec__titulo,
.ps-videos .ps-sec__vertudo {
	color: #F4F4FA;
}

.ps-video-card a {
	display: block;
}

.ps-video-card__thumb {
	position: relative;
	display: block;
	border-radius: var(--ps-radius);
	overflow: hidden;
	background: linear-gradient(135deg, #1D1C3A, #14132B);
	aspect-ratio: 16 / 9;
}

.ps-video-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--ps-t-slow) var(--ps-ease), opacity var(--ps-t) var(--ps-ease);
}

.ps-video-card:hover .ps-video-card__thumb img {
	transform: scale(1.05);
	opacity: 0.75;
}

.ps-video-card__play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 54px;
	height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(11, 10, 28, 0.65);
	border: 2px solid var(--ed-inkd, var(--ps-volt));
	color: var(--ed-inkd, var(--ps-volt));
	backdrop-filter: blur(4px);
	transition: transform var(--ps-t-fast) var(--ps-ease-pop), background var(--ps-t-fast) var(--ps-ease);
}

.ps-video-card:hover .ps-video-card__play {
	transform: scale(1.12);
	background: var(--ed-inkd, var(--ps-volt));
	color: var(--ps-carvao);
}

.ps-video-card__titulo {
	display: block;
	font-family: var(--ps-font-head);
	font-weight: 700;
	font-size: 0.92rem;
	line-height: 1.4;
	color: #F4F4FA;
	margin-top: var(--ps-sp-3);
}

.ps-video-card:hover .ps-video-card__titulo {
	color: var(--ed-inkd, var(--ps-volt));
}

/* Bloco de rankings no fim das páginas de categoria. */
.ps-arquivo__extra {
	margin-top: var(--ps-section);
	padding-top: var(--ps-sp-7);
	border-top: 1px solid var(--ps-border);
}

/* Carregar mais */
.ps-loadmore-wrap {
	display: flex;
	justify-content: center;
	margin-top: var(--ps-sp-6);
}

.ps-loadmore {
	display: inline-flex;
	align-items: center;
	gap: var(--ps-sp-2);
	background: transparent;
	border: 2px solid var(--ps-accent);
	border-radius: var(--ps-radius-full);
	color: var(--ps-accent);
	font-family: var(--ps-font-head);
	font-weight: 800;
	font-size: var(--ps-small);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 14px 30px;
	cursor: pointer;
	transition: all var(--ps-t-fast) var(--ps-ease);
}

.ps-loadmore .ps-bolt {
	width: 0.6em;
	height: 0.9em;
	background-color: currentColor;
}

.ps-loadmore:hover {
	background: var(--ps-accent);
	color: var(--ps-accent-ink);
	box-shadow: var(--ps-glow);
}

.ps-loadmore.is-carregando {
	opacity: 0.7;
	pointer-events: none;
}

.ps-loadmore.is-carregando .ps-bolt {
	animation: ps-pulso-raio 0.8s ease-in-out infinite;
}

/* Contato */
.ps-pagina-hero {
	background: var(--ps-surface);
	border-bottom: 1px solid var(--ps-border);
	padding: var(--ps-sp-7) 0 var(--ps-sp-5);
	position: relative;
	overflow: hidden;
}

.ps-contato {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--ps-sp-4);
	padding-block: var(--ps-sp-6);
}

.ps-contato__card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	background: var(--ps-surface);
	border: 1px solid var(--ps-border);
	border-radius: var(--ps-radius);
	padding: var(--ps-sp-5);
	color: var(--ps-accent);
	transition: transform var(--ps-t) var(--ps-ease), border-color var(--ps-t) var(--ps-ease), box-shadow var(--ps-t) var(--ps-ease);
}

.ps-contato__card:hover {
	transform: translateY(-4px);
	border-color: var(--ps-accent);
	box-shadow: var(--ps-glow);
}

.ps-contato__titulo {
	font-family: var(--ps-font-head);
	font-weight: 800;
	font-size: 1.05rem;
	color: var(--ps-text);
	margin-top: var(--ps-sp-2);
}

.ps-contato__valor {
	font-size: var(--ps-small);
	color: var(--ps-text-2);
}

/* ============ 13 · COMENTÁRIOS ============ */
.ps-comentarios {
	max-width: var(--ps-container-narrow);
	margin: 0 auto var(--ps-sp-7);
}

.ps-comentarios__titulo {
	font-family: var(--ps-font-display);
	text-transform: uppercase;
	font-size: 1.4rem;
}

.ps-comentarios__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ps-comentarios .comment {
	background: var(--ps-surface);
	border: 1px solid var(--ps-border);
	border-radius: var(--ps-radius);
	padding: var(--ps-sp-4);
	margin-bottom: var(--ps-sp-3);
}

.ps-comentarios .comment .children {
	list-style: none;
	margin: var(--ps-sp-3) 0 0;
	padding-left: var(--ps-sp-5);
	border-left: 2px solid var(--ps-border);
}

.ps-comentarios .comment-form input[type='text'],
.ps-comentarios .comment-form input[type='email'],
.ps-comentarios .comment-form input[type='url'],
.ps-comentarios .comment-form textarea {
	width: 100%;
	background: var(--ps-surface);
	border: 1px solid var(--ps-border-strong);
	border-radius: var(--ps-radius-sm);
	color: var(--ps-text);
	font-family: var(--ps-font-body);
	font-size: var(--ps-small);
	padding: 12px 14px;
}

.ps-comentarios .comment-form input:focus,
.ps-comentarios .comment-form textarea:focus {
	outline: 2px solid var(--ps-accent);
	outline-offset: 1px;
}

.ps-comentarios .form-submit .submit {
	background: var(--ps-accent);
	color: var(--ps-accent-ink);
	border: 0;
	border-radius: var(--ps-radius-full);
	font-family: var(--ps-font-head);
	font-weight: 800;
	font-size: var(--ps-small);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 13px 28px;
	cursor: pointer;
	transition: transform var(--ps-t-fast) var(--ps-ease-pop), box-shadow var(--ps-t-fast) var(--ps-ease);
}

.ps-comentarios .form-submit .submit:hover {
	transform: translateY(-1px);
	box-shadow: var(--ps-glow);
}
