/* =========================================================
   SerformanceP — PÁGINAS INSTITUCIONAIS (plugin Acervo 1.23)
   Sobre, home da edição atual e próximas. Blocos nativos com classes sp-pg-*, sobre a
   base da home de edição (topo, faixa preta, tokens .sp-root).
   Separação entre seções: filete preto ou bloco invertido.
   ========================================================= */

.sp-pg { overflow-x: clip; }
.sp-pg :where(h1, h2, h3, p, ul, ol, figure, figcaption) { margin: 0; }
.sp-pg :where(ul, ol) { padding: 0; list-style: none; }
.sp-pg :where(h1, h2, h3) { font-family: inherit; }
/* os Estilos globais põem outra fonte em todo parágrafo: aqui vale a da marca */
.sp-ed.sp-pg :where(p, li, figcaption) { font-family: inherit; }
.sp-pg .wp-block-group { margin-block: 0; }

/* ---------- peças comuns ---------- */
.sp-ed .sp-pg-rotulo {
	display: inline-flex; align-items: center; gap: 10px; font-size: .75rem; font-weight: 700; letter-spacing: .16em;
	text-transform: uppercase; line-height: 1.3;
}
.sp-pg-rotulo::before { content: ""; width: 7px; height: 7px; background: var(--sp-destaque); transform: rotate(45deg); flex: none; }
.sp-ed .sp-pg-h2 { font-size: clamp(1.75rem, 3.6vw, 3rem); font-weight: 800; line-height: 1.04; letter-spacing: -.025em; text-wrap: balance; }
.sp-ed .sp-pg-texto :where(p), .sp-ed .sp-pg-p { font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); line-height: 1.6; text-wrap: pretty; max-width: 62ch; }
.sp-pg-texto { display: flex; flex-direction: column; gap: var(--sp-e4); min-width: 0; }
.sp-ed.sp-pg a:not(.sp-pg-numero):not(.sp-pg-chip):not(.sp-ed-marca):not(.sp-ed-indice__ano):not(.sp-ed-fim__marca):not(.sp-ed-acao) {
	color: var(--sp-tinta); text-decoration: underline; text-decoration-color: var(--sp-destaque); text-decoration-thickness: 2px; text-underline-offset: 4px;
}
.sp-ed.sp-pg a:not(.sp-pg-numero):not(.sp-pg-chip):not(.sp-ed-marca):not(.sp-ed-indice__ano):not(.sp-ed-fim__marca):not(.sp-ed-acao):hover {
	background: var(--sp-destaque); color: var(--sp-papel); text-decoration-color: var(--sp-papel);
}
.sp-pg a:focus-visible { outline: 3px solid var(--sp-foco); outline-offset: 3px; }

/* seção: rótulo e título à esquerda, texto à direita no desktop */
.sp-pg-secao { padding-top: clamp(56px, 8vw, 112px); }
.sp-pg-secao__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e5); padding-top: var(--sp-e5); border-top: 3px solid var(--sp-tinta); }
.sp-pg-secao__cab { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-e4); min-width: 0; }
@media (min-width: 1024px) {
	.sp-pg-secao__inner { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--sp-e7); align-items: start; }
}

/* ---------- dobra ---------- */
.sp-pg-dobra__inner { display: flex; flex-direction: column; gap: var(--sp-e5); padding-top: var(--sp-e6); }
.sp-ed .sp-pg-titulo {
	font-size: clamp(2rem, 5.2vw, 4.25rem); font-weight: 800; line-height: 1.04; letter-spacing: -.03em; max-width: 22ch; text-wrap: balance;
}
.sp-ed .sp-pg-titulo strong {
	font-weight: 800; text-decoration: underline; text-decoration-color: var(--sp-destaque);
	text-decoration-thickness: .09em; text-underline-offset: .12em; text-decoration-skip-ink: none;
}
.sp-ed .sp-pg-lead { font-size: clamp(1.25rem, 2vw, 1.625rem); font-weight: 600; line-height: 1.4; max-width: 46ch; text-wrap: balance; }

/* números do acervo */
.sp-ed .sp-pg-numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-e4); padding-top: var(--sp-e3); }
.sp-ed .sp-pg-numero {
	display: flex; flex-direction: column; gap: 6px; height: 100%; padding-top: var(--sp-e3); border-top: 3px solid var(--sp-tinta);
	color: var(--sp-tinta); text-decoration: none;
}
.sp-pg-numero__n { font-size: clamp(2.5rem, 7vw, 5.5rem); font-weight: 800; line-height: .9; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.sp-pg-numero__rotulo { font-size: clamp(.75rem, 1.2vw, .875rem); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.3; }
.sp-ed .sp-pg-numero:hover { border-top-color: var(--sp-destaque); color: var(--sp-destaque); }

/* fotos do acervo: corte central, mesma altura no desktop */
.sp-pg-fotos { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e5); padding-top: var(--sp-e5); }
.sp-pg .sp-pg-foto { display: flex; flex-direction: column; gap: var(--sp-e2); min-width: 0; }
.sp-pg .sp-pg-foto img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: var(--sp-tinta); }
.sp-pg .sp-pg-foto figcaption { font-size: .8125rem; font-weight: 600; line-height: 1.45; text-align: left; }
@media (min-width: 768px) {
	.sp-pg-fotos { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); align-items: start; }
	.sp-pg .sp-pg-foto img { aspect-ratio: auto; height: clamp(16rem, 28vw, 24rem); }
}

/* ---------- itens em colunas (formas de participação, modos de operar) ---------- */
.sp-ed .sp-pg-itens { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e5); padding-top: var(--sp-e3); }
@media (min-width: 768px) { .sp-ed .sp-pg-itens { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sp-pg-item { display: flex; flex-direction: column; gap: var(--sp-e2); padding-top: var(--sp-e3); border-top: 2px solid var(--sp-tinta); min-width: 0; }
.sp-ed .sp-pg-item h3 { font-size: 1.125rem; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; }
.sp-ed .sp-pg-item p { font-size: 1rem; line-height: 1.55; }

/* ---------- bloco invertido (curadoria) ---------- */
.sp-pg .sp-pg-invertido { margin-top: clamp(56px, 8vw, 112px); padding: clamp(56px, 8vw, 104px) 0; background: var(--sp-tinta); color: var(--sp-papel); }
.sp-pg-invertido .sp-pg-secao { padding-top: 0; }
.sp-pg-invertido .sp-pg-secao__inner { border-top-color: var(--sp-papel); }
.sp-ed .sp-pg-invertido .sp-pg-rotulo, .sp-ed .sp-pg-invertido .sp-pg-h2, .sp-ed .sp-pg-invertido p { color: var(--sp-papel); }
.sp-ed .sp-pg-invertido a:not(.sp-pg-chip) { color: var(--sp-papel) !important; text-decoration-color: var(--sp-destaque); }
.sp-ed .sp-pg-invertido a:not(.sp-pg-chip):hover { background: var(--sp-destaque); color: var(--sp-papel) !important; }
.sp-pg-invertido a:focus-visible { outline-color: var(--sp-papel); }
.sp-pg-invertido + .sp-pg-secao { padding-top: clamp(56px, 8vw, 112px); }

/* duas escutas da curadoria */
.sp-ed .sp-pg-escutas { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e4); }
@media (min-width: 768px) { .sp-ed .sp-pg-escutas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sp-pg-escuta { display: flex; flex-direction: column; gap: var(--sp-e2); padding: var(--sp-e4); border: 2px solid var(--sp-papel); min-width: 0; }
.sp-ed .sp-pg-escuta h3 { font-size: 1.25rem; font-weight: 800; line-height: 1.15; color: var(--sp-papel); }
.sp-ed .sp-pg-escuta p { font-size: 1rem; line-height: 1.55; }

/* ---------- parceiros ---------- */
.sp-ed.sp-pg .sp-pg-parceiros li a { color: var(--sp-tinta); }
.sp-ed .sp-pg-parceiros { display: flex; flex-wrap: wrap; gap: var(--sp-e2); padding-top: var(--sp-e2); }
.sp-ed .sp-pg-parceiros li { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 14px; border: 2px solid var(--sp-tinta); font-size: .9375rem; font-weight: 700; line-height: 1.25; }
.sp-ed .sp-pg-parceiros li a { text-decoration: none !important; }
.sp-ed .sp-pg-parceiros li:has(a:hover) { background: var(--sp-destaque); border-color: var(--sp-destaque); }
.sp-ed .sp-pg-parceiros li a:hover { background: transparent !important; color: var(--sp-papel) !important; }
.sp-ed p.sp-pg-nota { font-size: .875rem; font-weight: 600; line-height: 1.5; }

/* ---------- contato ---------- */
.sp-ed .sp-pg-email { font-size: clamp(1.375rem, 3.2vw, 2.25rem); font-weight: 800; line-height: 1.15; letter-spacing: -.015em; overflow-wrap: anywhere; }
.sp-ed .sp-pg-redes { display: flex; flex-wrap: wrap; gap: var(--sp-e2) var(--sp-e5); font-size: 1.0625rem; font-weight: 700; }

/* o fechamento preto não pode colar na última seção */
.sp-pg .sp-ed-saida { margin-top: clamp(64px, 9vw, 128px); }
.sp-pg-topo { padding-bottom: 0; }

/* =========================================================
   HOME DA EDIÇÃO ATUAL (1.23) — página inicial, prefixo sp-hm-
   Dobra: logo + datas, os dois polos com a lente que inverte a
   cidade, faixa de dados, programação por dia e bloco Sobre.
   ========================================================= */
.sp-ed.sp-hm :where(.wp-block-group, .wp-block-image, figure, p, h1, h2, h3, ul) { margin-block: 0; }
.sp-ed .sp-pg-h2 strong {
	font-weight: 800; text-decoration: underline; text-decoration-color: var(--sp-destaque);
	text-decoration-thickness: .09em; text-underline-offset: .12em; text-decoration-skip-ink: none;
}

/* ---------- dobra: logo e datas ---------- */
.sp-hm-cab { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; padding-top: 28px; padding-bottom: 24px; }
.sp-hm-cab__marca { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.sp-ed .sp-hm-titulo { line-height: 0; }
.sp-ed .sp-hm-titulo img { display: block; width: clamp(240px, 34vw, 430px) !important; max-width: 100%; height: auto !important; }
.sp-ed .sp-hm-sub { max-width: 30ch; font-size: clamp(1rem, 1.8vw, 1.375rem); font-weight: 600; line-height: 1.3; }
.sp-hm-datas { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sp-ed .sp-hm-dias { font-size: clamp(3.5rem, 9vw, 7rem); font-weight: 800; line-height: .85; letter-spacing: -.05em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sp-ed .sp-hm-dias mark { background: none; color: var(--sp-destaque); }
.sp-ed .sp-hm-mes { font-size: clamp(1.25rem, 2.7vw, 2.125rem); font-weight: 800; line-height: 1; letter-spacing: -.02em; }
@media (min-width: 768px) {
	.sp-hm-cab { flex-direction: row; justify-content: space-between; align-items: flex-end; gap: 32px; padding-top: 44px; padding-bottom: 40px; }
	.sp-hm-cab__marca { gap: 18px; }
	.sp-hm-datas { align-items: flex-end; gap: 10px; text-align: right; }
}

/* ---------- dobra: os dois polos e a lente ---------- */
.sp-hm-polos { --h: clamp(300px, 42vw, 560px); --r: min(calc(var(--h) * .37), 22vw); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sp-hm-polo { position: relative; display: flex; flex-direction: column; min-width: 0; }
.sp-hm-polo__quadro { position: relative; height: var(--h); overflow: hidden; background: var(--sp-tinta); }
.sp-ed .sp-hm-polo__quadro .wp-block-image { position: absolute; inset: 0; margin: 0; }
.sp-ed .sp-hm-polo__quadro img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.sp-hm-polo__lente { z-index: 1; }
.sp-hm-polo--centro .sp-hm-polo__lente { clip-path: circle(var(--r) at 100% 50%); }
.sp-hm-polo--periferia .sp-hm-polo__lente { clip-path: circle(var(--r) at 0% 50%); }
.sp-ed .sp-hm-polo__rot {
	display: flex; flex-direction: column; gap: 3px; padding: 12px 16px 0;
	font-size: .625rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; line-height: 1.3;
}
.sp-ed .sp-hm-polo__rot strong { font-size: .9375rem; font-weight: 800; letter-spacing: 0; text-transform: none; line-height: 1.15; }
.sp-hm-polo--periferia .sp-hm-polo__rot { align-items: flex-end; text-align: right; }
@media (min-width: 768px) {
	.sp-ed .sp-hm-polo__rot { position: absolute; z-index: 2; bottom: 24px; gap: 4px; padding: 10px 14px; font-size: .75rem; letter-spacing: .16em; }
	.sp-ed .sp-hm-polo__rot strong { font-size: clamp(1.125rem, 1.8vw, 1.375rem); letter-spacing: -.01em; line-height: 1.1; }
	.sp-ed .sp-hm-polo--centro .sp-hm-polo__rot { left: clamp(16px, 3.75vw, 48px); background: var(--sp-tinta); color: var(--sp-papel); }
	.sp-ed .sp-hm-polo--periferia .sp-hm-polo__rot { right: clamp(16px, 3.75vw, 48px); background: var(--sp-mudo-claro); color: var(--sp-tinta); }
}

/* ---------- faixa de dados ---------- */
.sp-hm-dados__lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; padding-top: 24px; }
.sp-hm-dado { display: flex; flex-direction: column; gap: 4px; padding-top: 12px; border-top: 3px solid var(--sp-tinta); min-width: 0; }
.sp-ed .sp-hm-dado__rot { font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; line-height: 1.3; }
.sp-ed .sp-hm-dado__v { margin-top: 2px; font-size: clamp(1.1875rem, 2.1vw, 1.625rem); font-weight: 800; line-height: 1.1; letter-spacing: -.01em; }
.sp-ed .sp-hm-dado__s { font-size: clamp(.8125rem, 1.2vw, .9375rem); line-height: 1.4; }
@media (min-width: 768px) { .sp-hm-dados__lista { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-top: 40px; } }

/* ---------- programação por dia ---------- */
.sp-hm .sp-hm-prog .sp-pg-secao__inner { grid-template-columns: minmax(0, 1fr); }
.sp-hm-prog .sp-pg-secao__cab { max-width: 46rem; }
.sp-ed p.sp-hm-breve { font-size: clamp(1.0625rem, 1.4vw, 1.25rem); font-weight: 600; line-height: 1.5; border-left: 3px solid var(--sp-destaque); padding-left: 12px; }
.sp-hm-dias-lista { display: flex; flex-direction: column; }
.sp-hm-dia { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 24px 0; border-top: 2px solid var(--sp-tinta); }
.sp-hm-dia:last-child { border-bottom: 2px solid var(--sp-tinta); }
.sp-hm-dia > * { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sp-hm-dia__quando { flex-direction: row !important; flex-wrap: wrap; align-items: baseline; gap: 4px 14px !important; }
.sp-ed .sp-hm-dia__data { font-size: clamp(2.25rem, 4.6vw, 3.5rem); font-weight: 800; line-height: .95; letter-spacing: -.04em; white-space: nowrap; }
.sp-ed .sp-hm-dia__data span { font-size: .5em; letter-spacing: -.01em; }
.sp-ed .sp-hm-dia__semana { font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; line-height: 1.3; }
.sp-ed .sp-hm-dia__hora { font-size: 1.0625rem; font-weight: 700; line-height: 1.3; }
.sp-ed .sp-hm-dia h3 { font-size: clamp(1.25rem, 2.2vw, 1.75rem); font-weight: 800; line-height: 1.12; letter-spacing: -.015em; text-wrap: balance; }
.sp-ed .sp-hm-dia__end { font-size: .9375rem; line-height: 1.45; }
.sp-ed .sp-hm-dia__tipo { font-size: clamp(1.0625rem, 1.5vw, 1.25rem); font-weight: 800; line-height: 1.25; }
.sp-ed .sp-hm-dia__nota { font-size: 1rem; line-height: 1.5; }
@media (min-width: 768px) {
	.sp-hm-dia { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr); gap: 32px; padding: 28px 0; }
	.sp-hm-dia__quando { flex-direction: column !important; align-items: flex-start; gap: 6px !important; }
}
.sp-ed p.sp-hm-online { font-size: 1rem; font-weight: 600; line-height: 1.5; max-width: 62ch; }

/* ---------- bloco Sobre ---------- */
.sp-hm-sobre .sp-pg-numeros { padding-top: 0; }
.sp-ed .sp-hm-sobre .sp-pg-h2 { font-size: clamp(1.625rem, 3vw, 2.5rem); }
.sp-ed p.sp-hm-acao { padding-top: var(--sp-e2); }
.sp-ed .sp-hm-acao .sp-ed-acao { font-size: 1rem; }
