/* =========================================================
   SerformanceP — HOME DE EDIÇÃO (plugin Acervo 1.12)
   Usa os tokens e peças do sistema .sp-root que já estão nos
   Estilos globais (sp-largura, sp-selo, sp-card, sp-placa,
   sp-link, sp-regua). Aqui só o que é próprio da home, com
   prefixo sp-ed-. Três cores, Open Sans, sem recurso externo.
   ========================================================= */

.sp-ed { overflow-x: clip; }
.sp-ed .sp-ed-bloco { margin-block: 0; }
.sp-ed ul, .sp-ed ol, .sp-ed dl, .sp-ed dd { margin: 0; padding: 0; }
.sp-ed h2, .sp-ed h3, .sp-ed h4 { margin: 0; }

/* rótulo pequeno em caixa alta — padrão de toda a home */
.sp-ed-etiqueta, .sp-ed-rotulo, .sp-ed-passagem__rotulo,
.sp-ed .sp-ed-sintese dt, .sp-ed-lentes__rotulo {
	font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; line-height: 1.3;
}

.sp-ed-credito {
	font-family: ui-monospace, "Courier New", monospace; font-size: .625rem; letter-spacing: .06em;
	text-transform: uppercase; opacity: .75;
}
.sp-ed-ponto { color: var(--sp-destaque); font-weight: 700; padding: 0 6px; }

/* aviso de pré-visualização (só para quem está logado) */
.sp-ed .sp-ed-aviso {
	margin: var(--sp-e4) 0 0; padding: var(--sp-e3) var(--sp-e4); background: var(--sp-mudo-claro);
	border-left: 4px solid var(--sp-destaque); font-size: .875rem; font-weight: 600; line-height: 1.5;
}

/* ---------- TOPO: marca + trilha ---------- */
.sp-ed-topo { display: flex; align-items: center; gap: var(--sp-e4); padding-top: var(--sp-e4); }
.sp-ed-marca { display: block; flex: none; line-height: 0; }
.sp-ed-marca img { width: 44px; height: 44px; }
.sp-ed-marca:focus-visible { outline: 3px solid var(--sp-foco); outline-offset: 3px; border-radius: 50%; }
.sp-ed-trilha { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px;
	font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.sp-ed-trilha li { display: inline-flex; align-items: center; gap: 10px; }
.sp-ed-trilha li + li::before { content: ""; width: 7px; height: 7px; background: var(--sp-destaque); transform: rotate(45deg); }
.sp-ed .sp-ed-trilha a { color: var(--sp-tinta); text-decoration: underline; text-decoration-thickness: 2px;
	text-underline-offset: 4px; text-decoration-color: var(--sp-destaque); }
.sp-ed .sp-ed-trilha a:hover { background: var(--sp-destaque); color: var(--sp-papel); text-decoration-color: var(--sp-papel); }
.sp-ed-trilha a:focus-visible { outline: 3px solid var(--sp-foco); outline-offset: 3px; }

/* ---------- 1. DOBRA ---------- */
/* celular: título, imagem, texto, síntese. Desktop: texto | imagem + síntese */
.sp-ed-dobra { display: flex; flex-direction: column; gap: var(--sp-e5); padding: var(--sp-e6) 0 var(--sp-e7); }
.sp-ed-dobra__col { display: contents; }
.sp-ed-dobra__cab { order: 1; }
.sp-ed-dobra__imagem { order: 2; }
.sp-ed-dobra__texto { order: 3; }
.sp-ed-sintese { order: 4; }
.sp-ed-dobra__cab { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-e4); }
.sp-ed .sp-ed-dobra__cab .sp-selo { margin: 0; }
.sp-ed-titulo { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.sp-ed-titulo__marca { font-size: clamp(1rem, 2vw, 1.25rem); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; line-height: 1.2; }
.sp-ed-titulo__ano {
	font-size: clamp(5rem, 22vw, 10.5rem); font-weight: 800; line-height: .8; letter-spacing: -.055em;
	margin-left: -.04em; color: var(--sp-tinta);
}
.sp-ed-titulo__ano::after {
	content: ""; display: block; width: clamp(72px, 12vw, 128px); height: 6px; margin: clamp(14px, 2vw, 22px) 0 0 .04em;
	background: var(--sp-destaque);
}
.sp-ed-dobra__imagem { margin: 0; display: flex; flex-direction: column; gap: var(--sp-e2); min-width: 0; }
.sp-ed-dobra__imagem img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--sp-tinta); }
.sp-ed-dobra__imagem figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--sp-e2); font-size: .8125rem; font-weight: 600; }
.sp-ed-dobra__texto { max-width: 60ch; }
.sp-ed .sp-ed-dobra__texto p { font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); line-height: 1.6; text-wrap: pretty; margin: 0 0 var(--sp-e4); }
.sp-ed .sp-ed-dobra__texto p:last-child { margin-bottom: 0; }

@media (min-width: 1024px) {
	.sp-ed-dobra { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sp-e7); align-items: start; padding-top: var(--sp-e5); }
	.sp-ed-dobra__col { display: flex; flex-direction: column; gap: var(--sp-e6); min-width: 0; }
	.sp-ed-dobra__col--imagem { gap: var(--sp-e6); }
}

/* ---------- síntese ---------- */
.sp-ed-sintese { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-e5) var(--sp-e5); }
.sp-ed-sintese__item { display: flex; flex-direction: column; gap: 6px; border-top: 4px solid var(--sp-tinta); padding-top: var(--sp-e3); min-width: 0; }
.sp-ed .sp-ed-sintese__valor { font-size: clamp(1.125rem, 1.8vw, 1.5rem); font-weight: 800; line-height: 1.15; letter-spacing: -.01em; }
.sp-ed .sp-ed-sintese__valor .sp-link { text-decoration-thickness: 3px; }
.sp-ed .sp-ed-sintese__sub { font-size: .875rem; font-weight: 600; line-height: 1.4; }

/* ---------- 2. CURADORIA: faixa preta com corte ---------- */
.sp-ed-faixa {
	background: var(--sp-tinta); color: var(--sp-papel);
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 3.5vw), 0 100%);
	padding: clamp(48px, 7vw, 96px) 0 clamp(80px, 11vw, 150px);
}
.sp-ed-curadoria { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e6); }
@media (min-width: 1024px) { .sp-ed-curadoria { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sp-e7); align-items: start; } }
.sp-ed-curadoria__cab { display: flex; flex-direction: column; gap: var(--sp-e5); }
.sp-ed-etiqueta { display: flex; align-items: center; gap: 12px; margin: 0; }
.sp-ed-triangulo { width: 22px; height: 22px; background: var(--sp-destaque); clip-path: polygon(0 0, 100% 0, 0 100%); flex: none; }
.sp-ed .sp-ed-curadoria__titulo { color: var(--sp-papel); font-size: clamp(2.125rem, 5.2vw, 4rem); font-weight: 800; line-height: .98; letter-spacing: -.03em; text-wrap: balance; }
.sp-ed-curadoria__corpo { display: flex; flex-direction: column; gap: var(--sp-e5); max-width: 62ch; }
.sp-ed .sp-ed-curadoria__resumo { font-size: clamp(1.0625rem, 1.6vw, 1.3125rem); line-height: 1.6; font-weight: 400; margin: 0; }
.sp-ed-lentes { border-top: 3px solid var(--sp-destaque); padding-top: var(--sp-e4); display: flex; flex-direction: column; gap: var(--sp-e3); }
.sp-ed .sp-ed-lentes__rotulo { margin: 0; }
.sp-ed-lentes ul { list-style: none; display: flex; flex-direction: column; gap: var(--sp-e2); }
.sp-ed-lentes li { display: flex; gap: 12px; align-items: baseline; font-size: clamp(1rem, 1.4vw, 1.125rem); font-weight: 700; line-height: 1.35; }
.sp-ed-lentes li::before { content: ""; flex: none; width: 10px; height: 10px; background: var(--sp-destaque); transform: rotate(45deg) translateY(-2px); }
.sp-ed-curadoria--cartaz { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) { .sp-ed-curadoria--cartaz { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
@media (min-width: 1024px) { .sp-ed-curadoria--cartaz { grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr); } }
.sp-ed-cartaz { margin: 0; display: flex; flex-direction: column; gap: var(--sp-e2); align-self: start; max-width: 340px; }
.sp-ed-cartaz a { display: block; line-height: 0; }
.sp-ed-cartaz img { width: 100%; height: auto; border: 2px solid var(--sp-papel); }
.sp-ed-cartaz a:hover img { border-color: var(--sp-destaque); }
.sp-ed-cartaz a:focus-visible { outline: 3px solid var(--sp-papel); outline-offset: 3px; }
.sp-ed-cartaz__rotulo { font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
@media (min-width: 768px) and (max-width: 1023px) { .sp-ed-curadoria--cartaz .sp-ed-curadoria__cab { grid-column: 1 / -1; } }
.sp-ed .sp-ed-acao-inv { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 22px; border: 2px solid var(--sp-papel);
	color: var(--sp-papel); font-weight: 700; text-decoration: none; }
.sp-ed .sp-ed-acao-inv:hover { background: var(--sp-papel); color: var(--sp-tinta); }
.sp-ed-acao-inv:focus-visible { outline: 3px solid var(--sp-papel); outline-offset: 3px; }

/* ---------- seções de conteúdo ---------- */
.sp-ed-secao { padding-top: clamp(48px, 7vw, 96px); }
.sp-ed-secao__cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--sp-e2) var(--sp-e5); margin-bottom: var(--sp-e4); }
.sp-ed .sp-ed-h2 { font-size: clamp(1.875rem, 4.6vw, 3.25rem); font-weight: 800; line-height: 1.02; letter-spacing: -.025em; }
.sp-ed .sp-ed-h2--menor { font-size: clamp(1.5rem, 3vw, 2rem); margin: var(--sp-e4) 0 var(--sp-e5); }
.sp-ed .sp-ed-contagem { margin: 0; font-size: .8125rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--sp-destaque); }
.sp-ed .sp-regua { height: 4px; width: 100%; background: repeating-linear-gradient(90deg, var(--sp-tinta) 0 24px, transparent 24px 32px); }
.sp-ed-filete { height: 4px; width: 100%; background: var(--sp-tinta); }

/* ---------- 3. PRESENCIAIS: dia × local ---------- */
.sp-ed-dia { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e5); padding-top: var(--sp-e6); }
.sp-ed-dia + .sp-ed-dia { margin-top: var(--sp-e6); border-top: 2px solid var(--sp-tinta); }
@media (min-width: 1024px) {
	.sp-ed-dia { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--sp-e7); align-items: start; }
	.sp-ed-dia__lugar { position: sticky; top: var(--sp-e5); }
}
.sp-ed-dia__lugar { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.sp-ed-dia__foto { margin: 0 0 6px; display: flex; flex-direction: column; gap: 6px; }
.sp-ed-dia__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--sp-tinta); }
.sp-ed .sp-ed-dia__data { margin: 0; font-size: clamp(1.25rem, 2.4vw, 1.75rem); font-weight: 800; line-height: 1.1; letter-spacing: -.015em; color: var(--sp-destaque); }
.sp-ed .sp-ed-dia__local { font-size: clamp(1.375rem, 2.4vw, 1.875rem); font-weight: 800; line-height: 1.1; letter-spacing: -.02em; }
.sp-ed .sp-ed-dia__local .sp-link { text-decoration-thickness: 3px; text-underline-offset: 5px; }
.sp-ed .sp-ed-dia__endereco { margin: 0; font-size: .9375rem; font-weight: 600; line-height: 1.45; }
.sp-ed .sp-ed-dia__atividades { margin: 4px 0 0; font-size: .9375rem; line-height: 1.55; border-left: 3px solid var(--sp-destaque); padding-left: 12px; }
.sp-ed-dia__obras { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e6) var(--sp-e5); }
@media (min-width: 600px) { .sp-ed-dia__obras { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sp-ed .sp-ed-card .sp-card__titulo { font-size: 1.1875rem; line-height: 1.2; }
.sp-ed .sp-ed-card .sp-card__meta { margin: 6px 0 0; font-size: .9375rem; font-weight: 600; }
.sp-ed-hora { margin-left: auto; font-size: .75rem; font-weight: 800; letter-spacing: .1em; padding: 2px 8px; background: var(--sp-tinta); color: var(--sp-papel); }
.sp-ed .sp-ed-card .sp-card__vitrine:focus-visible { outline: 3px solid var(--sp-foco); outline-offset: 3px; }

/* ---------- 4. REGISTROS: mosaico justificado ---------- */
.sp-ed-registros { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--sp-e5); }
.sp-ed-registro { margin: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sp-ed-registro a { display: block; height: clamp(180px, 22vw, 300px); background: var(--sp-tinta); overflow: hidden; }
.sp-ed-registro img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.sp-ed-registro a:hover img { transform: scale(1.03); }
.sp-ed-registro a:focus-visible { outline: 3px solid var(--sp-foco); outline-offset: 3px; }
@media (max-width: 599px) { .sp-ed-registro { flex-basis: 100% !important; } .sp-ed-registro a { height: auto; aspect-ratio: 3 / 2; } }

/* ---------- 5. CRÉDITOS ---------- */
.sp-ed-creditos { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e6); }
@media (min-width: 768px) { .sp-ed-creditos { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--sp-e6) var(--sp-e7); } }
.sp-ed-creditos__col { display: flex; flex-direction: column; gap: var(--sp-e3); min-width: 0; }
.sp-ed .sp-ed-rotulo { color: var(--sp-destaque); }
.sp-ed-ficha { display: flex; flex-direction: column; gap: var(--sp-e3); }
.sp-ed-ficha dt { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sp-ed-ficha dd { font-size: 1.0625rem; font-weight: 700; line-height: 1.35; }
.sp-ed-parcerias { list-style: none; display: flex; flex-direction: column; gap: 6px; font-weight: 600; }
.sp-ed-logos { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-e4) var(--sp-e5); }
.sp-ed-logos img { max-height: 56px; width: auto; }
/* 1.21.6 — logos por chancela */
.sp-ed-chancelas { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--sp-e6) var(--sp-e7); }
.sp-ed-chancela { flex: 0 0 auto; display: flex; flex-direction: column; gap: var(--sp-e3); max-width: 100%; }
.sp-ed-logos li { flex: 0 0 auto; max-width: 100%; }
.sp-ed-logos img { max-width: 100%; height: auto; }

/* ---------- 6. SAÍDA: fecha a página em preto ---------- */
/* .sp-ed na frente de cada regra de link: o kit do Elementor pinta todo <a> de vermelho com peso maior */
.sp-ed-saida {
	background: var(--sp-tinta); color: var(--sp-papel);
	clip-path: polygon(0 5vw, 100% 0, 100% 100%, 0 100%); margin-top: clamp(56px, 8vw, 112px);
	padding: clamp(80px, 11vw, 150px) 0 clamp(32px, 4vw, 56px);
}
.sp-ed-saida__inner { display: flex; flex-direction: column; gap: var(--sp-e7); }
.sp-ed-passagem { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e4); }
@media (min-width: 768px) { .sp-ed-passagem { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sp-ed .sp-ed-passagem__item { display: flex; flex-direction: column; gap: 6px; min-height: 148px; padding: var(--sp-e5); border: 2px solid var(--sp-papel);
	color: var(--sp-papel); text-decoration: none; }
.sp-ed a.sp-ed-passagem__item:hover { background: var(--sp-destaque); border-color: var(--sp-destaque); color: var(--sp-papel); }
a.sp-ed-passagem__item:focus-visible { outline: 3px solid var(--sp-papel); outline-offset: 3px; }
.sp-ed .sp-ed-passagem__item--vazio { border-style: dashed; opacity: .7; justify-content: space-between; }
.sp-ed-passagem__ano { font-size: clamp(2.75rem, 7vw, 4.5rem); font-weight: 800; line-height: .9; letter-spacing: -.045em; }
.sp-ed-passagem__ord { font-size: .9375rem; font-weight: 600; }
.sp-ed-passagem__nota { font-size: 1.0625rem; font-weight: 600; }
.sp-ed .sp-ed-passagem__rotulo { color: var(--sp-papel); margin: 0; }
.sp-ed-indice-bloco { display: flex; flex-direction: column; gap: var(--sp-e4); scroll-margin-top: var(--sp-e5); }
.sp-ed-indice { list-style: none; display: flex; flex-wrap: wrap; gap: var(--sp-e2); }
.sp-ed .sp-ed-indice__ano { display: inline-flex; align-items: center; justify-content: center; min-width: 76px; min-height: 44px; padding: 0 var(--sp-e3);
	border: 2px solid var(--sp-papel); color: var(--sp-papel); font-size: .9375rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; }
.sp-ed a.sp-ed-indice__ano:hover { background: var(--sp-destaque); border-color: var(--sp-destaque); color: var(--sp-papel); }
a.sp-ed-indice__ano:focus-visible { outline: 3px solid var(--sp-papel); outline-offset: 3px; }
.sp-ed .sp-ed-indice__ano--atual { background: var(--sp-papel); color: var(--sp-tinta); }
.sp-ed-fim { display: flex; flex-direction: column; gap: var(--sp-e5); padding-top: var(--sp-e5); }
.sp-ed .sp-ed-fim__marca { display: inline-flex; align-items: center; gap: var(--sp-e4); color: var(--sp-papel); text-decoration: none;
	font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.5; align-self: flex-start; }
.sp-ed-fim__marca img { width: 56px; height: 56px; }
.sp-ed .sp-ed-fim__marca:hover { color: var(--sp-papel); }
.sp-ed-fim__marca:hover span { text-decoration: underline; text-decoration-color: var(--sp-destaque); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sp-ed-fim__marca:focus-visible { outline: 3px solid var(--sp-papel); outline-offset: 4px; }
.sp-ed-regua-vermelha { height: 10px; width: 100%; background: repeating-linear-gradient(135deg, var(--sp-destaque) 0 8px, transparent 8px 16px); }

/* ---------- 3b. VIDEOPERFORMANCES na home: imagem, uma linha e o link (1.14) ---------- */
.sp-ed-formato { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e5); padding-top: var(--sp-e6); align-items: center; }
@media (min-width: 768px) { .sp-ed-formato { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sp-e7); } }
.sp-ed .sp-ed-formato--sem-imagem { grid-template-columns: minmax(0, 1fr); }
.sp-ed-formato__imagem { margin: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sp-ed-formato__imagem a { position: relative; display: block; line-height: 0; background: var(--sp-tinta); overflow: hidden; }
.sp-ed-formato__imagem img { width: 100%; height: auto; max-height: 34rem; object-fit: cover; transition: transform .4s ease; }
.sp-ed-formato__imagem a:hover img { transform: scale(1.03); }
.sp-ed-formato__play { position: absolute; left: 0; bottom: 0; width: 64px; height: 64px; background: var(--sp-tinta); }
.sp-ed-formato__placa { aspect-ratio: 4 / 3; line-height: 1.2; }
.sp-ed .sp-ed-formato__placa .sp-placa__titulo { font-size: clamp(2rem, 5vw, 3.5rem); }
.sp-ed-formato__play::after { content: ""; position: absolute; inset: 20px 18px 20px 24px; background: var(--sp-destaque); clip-path: polygon(0 0, 100% 50%, 0 100%); }
.sp-ed-formato__texto { display: flex; flex-direction: column; gap: var(--sp-e5); max-width: 46ch; min-width: 0; }
.sp-ed .sp-ed-formato__texto p { margin: 0; }
.sp-ed .sp-ed-formato__linha { font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 800; line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; }
.sp-ed .sp-ed-formato__meta { font-size: 1.0625rem; font-weight: 600; line-height: 1.5; border-left: 3px solid var(--sp-destaque); padding-left: 12px; }
.sp-ed-formato__rotulo { display: block; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.sp-ed .sp-ed-acao { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 22px; border: 2px solid var(--sp-tinta);
	color: var(--sp-tinta); font-weight: 700; text-decoration: none; }
.sp-ed .sp-ed-acao:hover { background: var(--sp-destaque); border-color: var(--sp-destaque); color: var(--sp-papel); }
.sp-ed-acao:focus-visible { outline: 3px solid var(--sp-foco); outline-offset: 3px; }

/* ---------- PÁGINA /edicoes/ANO/videoperformances/ (1.14) ---------- */
.sp-ed-sub__dobra { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e6); padding: var(--sp-e6) 0 var(--sp-e2); }
@media (min-width: 1024px) {
	.sp-ed-sub__dobra { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--sp-e7); align-items: start; }
	.sp-ed-sub__cab { grid-column: 1 / -1; }
}
.sp-ed-sub__cab { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-e4); min-width: 0; }
.sp-ed .sp-ed-sub__cab .sp-selo { margin: 0; }
.sp-ed-sub__titulo { display: flex; flex-direction: column; gap: 6px; margin: 0; max-width: 100%; }
.sp-ed-sub__nome { font-size: clamp(1.75rem, 9vw, 7rem); font-weight: 800; line-height: .9; letter-spacing: -.05em; margin-left: -.04em; overflow-wrap: anywhere; }
.sp-ed-sub__nome::after { content: ""; display: block; width: clamp(72px, 12vw, 128px); height: 6px; margin: clamp(14px, 2vw, 22px) 0 0 .04em; background: var(--sp-destaque); }
.sp-ed-sub__intro { display: flex; flex-direction: column; gap: var(--sp-e4); max-width: 60ch; min-width: 0; }
.sp-ed .sp-ed-sub__linha { margin: 0; font-size: clamp(1.375rem, 2.6vw, 2rem); font-weight: 800; line-height: 1.15; letter-spacing: -.015em; text-wrap: balance; }
.sp-ed .sp-ed-sub__texto { margin: 0; font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); line-height: 1.6; text-wrap: pretty; }
.sp-ed .sp-ed-sub__sintese { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) and (max-width: 1023px) { .sp-ed .sp-ed-sub__sintese { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sp-ed-vsecao { padding-top: clamp(40px, 5vw, 64px); }
.sp-ed-vlista { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e6) var(--sp-e5); padding-top: var(--sp-e6); }
@media (min-width: 600px) { .sp-ed-vlista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .sp-ed-vlista { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sp-ed .sp-ed-vcard__artista { margin: 0 0 6px; font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; }
.sp-ed .sp-ed-vcard .sp-card__meta { gap: 6px 10px; align-items: center; }
.sp-ed-vcard__situacao { font-size: .6875rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 2px 8px; border: 2px solid var(--sp-tinta); }
.sp-ed .sp-ed-voltar { margin: var(--sp-e7) 0 0; }
.sp-ed-vdia + .sp-ed-vdia { margin-top: var(--sp-e6); }
.sp-ed .sp-ed-vdia__data { margin: var(--sp-e6) 0 0; font-size: clamp(1.25rem, 2.4vw, 1.75rem); font-weight: 800; line-height: 1.1; letter-spacing: -.015em; color: var(--sp-destaque); }
.sp-ed-vdia .sp-ed-vlista { padding-top: var(--sp-e4); }
.sp-ed-vcard__data { font-weight: 700; }

@media (prefers-reduced-motion: reduce) { .sp-ed-registro img, .sp-ed-formato__imagem img { transition: none; } }

/* ------------------------------------------------------------------ */
/* 1.18 — página de curadoria (/edicoes/ANO/curadoria/)                */
/* ------------------------------------------------------------------ */
.sp-ed-cur__corpo { display: flex; flex-direction: column; gap: var(--sp-e4); max-width: 64ch; min-width: 0; }
.sp-ed .sp-ed-cur__tema { margin: 0; font-size: clamp(1.75rem, 3.6vw, 2.75rem); font-weight: 800; line-height: 1.02; letter-spacing: -.025em; text-wrap: balance; }
.sp-ed .sp-ed-cur__texto { margin: 0; font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); line-height: 1.65; text-wrap: pretty; }
.sp-ed-cur__lado { display: flex; flex-direction: column; gap: var(--sp-e6); min-width: 0; }
.sp-ed-cur .sp-ed-cartaz img { border-color: var(--sp-tinta); }
.sp-ed .sp-ed-lentes__nota { margin: var(--sp-e5) 0 0; max-width: 62ch; font-size: 1rem; line-height: 1.55; font-style: italic; }
.sp-ed-lentes-lista { display: flex; flex-direction: column; }
.sp-ed-lente { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e5); padding: var(--sp-e6) 0; border-bottom: 2px solid var(--sp-tinta); }
.sp-ed-lente:last-child { border-bottom: 0; }
@media (min-width: 1024px) { .sp-ed-lente { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: var(--sp-e7); align-items: start; } }
.sp-ed-lente__cab { display: flex; flex-direction: column; gap: var(--sp-e3); min-width: 0; }
.sp-ed .sp-ed-lente__num { margin: 0; font-size: .875rem; font-weight: 800; letter-spacing: .16em; color: var(--sp-destaque); }
.sp-ed .sp-ed-lente__nome { margin: 0; font-size: clamp(1.5rem, 2.6vw, 2.125rem); font-weight: 800; line-height: 1.05; letter-spacing: -.02em; text-wrap: balance; }
.sp-ed .sp-ed-lente__texto { margin: 0; font-size: 1.0625rem; line-height: 1.6; text-wrap: pretty; }
.sp-ed-lente__exemplos { min-width: 0; }
.sp-ed .sp-ed-lente__rotulo { margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.sp-ed .sp-ed-vlista--compacta { padding-top: var(--sp-e4); }
@media (min-width: 600px) { .sp-ed .sp-ed-vlista--compacta { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 1.19 — vídeo da edição e imagem de referência da curadoria */
.sp-ed-video-registro { margin: var(--sp-e6) 0 0; display: flex; flex-direction: column; gap: 8px; max-width: 960px; }
.sp-ed-video-registro__player { position: relative; aspect-ratio: 16 / 9; background: var(--sp-tinta); }
.sp-ed-video-registro__player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sp-ed-video-registro + .sp-ed-registros { margin-top: var(--sp-e6); }
.sp-ed-referencia figcaption { line-height: 1.4; }
.sp-ed-cur .sp-ed-referencia img { border-color: var(--sp-tinta); }

/* ---------- 1.20 — PRESENCIAIS NA HOME: uma linha de encontros ---------- */
.sp-ed-encontros { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e6) var(--sp-e5); margin-top: var(--sp-e5); }
@media (min-width: 600px) { .sp-ed-encontros { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .sp-ed-encontros { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sp-ed-encontro { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.sp-ed-encontro__cab { display: flex; flex-direction: column; gap: 4px; }
.sp-ed .sp-ed-encontro__data { margin: 0; font-size: .8125rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--sp-destaque); }
.sp-ed .sp-ed-encontro__local { margin: 0; font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 800; line-height: 1.15; letter-spacing: -.015em; }
.sp-ed .sp-ed-encontro__local .sp-link { text-decoration-thickness: 3px; text-underline-offset: 5px; }
.sp-ed-encontro__foto { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.sp-ed-encontro__foto img, .sp-ed-encontro__foto .sp-placa { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background-color: var(--sp-tinta); }
.sp-ed-encontro__foto .sp-placa { position: relative; }
.sp-ed-encontro__foto .sp-placa__nota { position: absolute; left: 12px; bottom: 10px; }
.sp-ed .sp-ed-encontro__artistas { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 1rem; font-weight: 700; line-height: 1.35; }
.sp-ed .sp-ed-encontro__artistas li { margin: 0; padding: 0; }
.sp-ed .sp-ed-encontros__acao { margin: var(--sp-e6) 0 0; }
/* Um encontro só (2015, 2018): foto à esquerda, nomes à direita. */
@media (min-width: 600px) {
	.sp-ed-encontros--um { grid-template-columns: minmax(0, 1fr); }
	.sp-ed-encontros--um .sp-ed-encontro { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-areas: "foto cab" "foto lista"; grid-template-rows: auto 1fr; gap: 12px var(--sp-e6); }
	.sp-ed-encontros--um .sp-ed-encontro__cab { grid-area: cab; }
	.sp-ed-encontros--um .sp-ed-encontro__foto { grid-area: foto; }
	.sp-ed-encontros--um .sp-ed-encontro__artistas { grid-area: lista; align-content: start; }
}

/* ---------- 1.20.1 — PÁGINA DE PRESENCIAIS: o local é o guarda-chuva das obras ---------- */
.sp-ed-encontro-p { margin-top: var(--sp-e6); }
.sp-ed-encontro-p + .sp-ed-encontro-p { margin-top: var(--sp-e8); }
.sp-ed-encontro-p__cab { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e5); padding: var(--sp-e5); background: var(--sp-mudo-claro); border-top: var(--sp-filete-grosso, 4px) solid var(--sp-tinta); }
@media (min-width: 768px) {
	.sp-ed-encontro-p__cab { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: var(--sp-e6); padding: var(--sp-e6); }
	.sp-ed-encontro-p__cab--sem-foto { grid-template-columns: minmax(0, 1fr); }
}
.sp-ed-encontro-p__texto { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.sp-ed-encontro-p__texto .sp-ed-dia__atividades { max-width: 52ch; }
.sp-ed-encontro-p__foto { margin: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sp-ed-encontro-p__foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--sp-tinta); }
.sp-ed-encontro-p__obras { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-e6) var(--sp-e5); margin-top: var(--sp-e5); }
@media (min-width: 600px) { .sp-ed-encontro-p__obras { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .sp-ed-encontro-p__obras { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- 1.20.2 — CURADORIA: título em linha própria, sem quebrar palavras ---------- */
/* O título ocupa a largura toda da faixa; resumo e imagem vêm embaixo, lado a lado.
   Se mesmo assim a palavra mais longa não couber (celular, título com palavra enorme),
   a letra encolhe até ela caber: --sp-maior vem do PHP, em letras. */
.sp-ed-curadoria__cab { container-type: inline-size; min-width: 0; }
.sp-ed .sp-ed-curadoria__titulo { overflow-wrap: normal; word-break: normal; hyphens: manual;
	font-size: min(clamp(2.125rem, 5.2vw, 4rem), calc(100cqi / (var(--sp-maior, 10) * .6))); }
@media (min-width: 1024px) {
	.sp-ed-curadoria, .sp-ed-curadoria--cartaz { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); row-gap: var(--sp-e6); }
	.sp-ed-curadoria__cab { grid-column: 1 / -1; }
}

/* ---------- 1.21 — WORKSHOPS: página no desenho da curadoria, um bloco por encontro ---------- */
.sp-ed-ws .sp-ed-cartaz { max-width: 420px; }
.sp-ed-ws .sp-ed-cartaz img { border-color: var(--sp-tinta); }
.sp-ed .sp-ed-wsdia__lugar { margin: 0; font-size: 1rem; font-weight: 700; line-height: 1.4; }
.sp-ed-wsdia .sp-ed-lente__exemplos { display: flex; flex-direction: column; gap: 0; }
.sp-ed-wsdia__fotos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: var(--sp-e4); }
@media (min-width: 600px) { .sp-ed-wsdia__fotos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sp-ed-wsfoto { margin: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sp-ed-wsfoto a { display: block; aspect-ratio: 4 / 3; background: var(--sp-tinta); overflow: hidden; }
.sp-ed-wsfoto img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.sp-ed-wsfoto a:hover img { transform: scale(1.03); }
.sp-ed-wsfoto a:focus-visible { outline: 3px solid var(--sp-foco); outline-offset: 3px; }
.sp-ed .sp-ed-wsdia__credito { margin: 8px 0 0; }
@media (prefers-reduced-motion: reduce) { .sp-ed-wsfoto img { transition: none; } }
.sp-ed .sp-ed-ws__ficha { margin: var(--sp-e5) 0 0; }
.sp-ed-ws__item { padding-bottom: var(--sp-e7); }
.sp-ed-ws__item .sp-ed-sub__dobra { padding-top: var(--sp-e5); }

/* ---------- 1.21.4 — imagem da lente na página de curadoria ---------- */
.sp-ed-lente__imagem { margin: var(--sp-e3) 0 0; display: flex; flex-direction: column; gap: 6px; max-width: 420px; }
.sp-ed-lente__imagem a { display: block; line-height: 0; }
.sp-ed-lente__imagem img { width: 100%; height: auto; border: 2px solid var(--sp-tinta); }
.sp-ed-lente__imagem a:hover img { border-color: var(--sp-destaque); }
.sp-ed-lente__imagem figcaption { line-height: 1.4; }
