/* ============================================================
   EDIÇÃO + ITINERÂNCIA v3 — Port literal de BienalEdicao.tsx + BienalItinerancia.tsx
   ============================================================ */

/* ════════════════════════════════════
   PÁGINA EDIÇÃO (single-edicao)
   ════════════════════════════════════ */

.v3-ed-page { font-family: 'Inter', system-ui, sans-serif; }

/* HEADER colorido (cor da edição) */
.v3-ed-header {
	padding-top: 5rem;          /* pt-20 */
	padding-bottom: 4rem;       /* pb-16 */
	position: relative;
	overflow: hidden;
	color: #000;
	/* background: cor da edição via style inline */
}
.v3-ed-header__container {
	max-width: 1400px;
	margin-inline: auto;
	padding-inline: 1rem;
}
@media (min-width: 640px)  { .v3-ed-header__container { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .v3-ed-header__container { padding-inline: 2rem; } }
.v3-ed-header__back {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(0,0,0,0.5);
	text-decoration: none;
	margin-bottom: 2rem;
	transition: color 200ms ease;
}
.v3-ed-header__back:hover { color: #000; }
.v3-ed-header__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: end;
}
@media (min-width: 768px) {
	.v3-ed-header__grid { grid-template-columns: repeat(12, 1fr); }
}
.v3-ed-header__main { display: flex; align-items: end; gap: 1.5rem; }
@media (min-width: 768px) { .v3-ed-header__main { grid-column: span 8 / span 8; } }
.v3-ed-header__num {
	font-size: 8rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.05em;
	color: rgba(0,0,0,0.15);
}
@media (min-width: 768px) { .v3-ed-header__num { font-size: 12rem; } }
.v3-ed-header__year {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: rgba(0,0,0,0.5);
	margin: 0 0 0.5rem 0;
}
.v3-ed-header__title {
	font-size: 36px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.05em;
	line-height: 0.9;
	color: #000;
	margin: 0;
}
@media (min-width: 768px) { .v3-ed-header__title { font-size: 60px; } }
.v3-ed-header__cta-wrap {}
@media (min-width: 768px) { .v3-ed-header__cta-wrap { grid-column: 10 / span 3; } }
.v3-ed-header__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: #000;
	color: #fff;
	padding: 1rem 2rem;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-decoration: none;
}
.v3-ed-header__cta:hover { background: rgba(0,0,0,0.8); color: #fff; }

/* CARROSSEL */
.v3-ed-carousel {
	background: #f3f4f6;
	width: 100%;
}
.v3-ed-carousel img {
	width: 100%;
	height: 50vh;
	max-height: 600px;
	object-fit: cover;
	display: block;
}

/* SEÇÃO STICKY (kicker à esquerda, conteúdo à direita) — mesma do QuemSomos */
.v3-ed-section {
	padding-block: 5rem;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
.v3-ed-section--dark { background: #000; color: #fff; border-color: rgba(255,255,255,0.1); }
.v3-ed-section--gray { background: #f7f7f7; }
.v3-ed-section__container {
	max-width: 1400px;
	margin-inline: auto;
	padding-inline: 1rem;
}
@media (min-width: 640px)  { .v3-ed-section__container { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .v3-ed-section__container { padding-inline: 2rem; } }
.v3-ed-section__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}
@media (min-width: 768px) {
	.v3-ed-section__grid { grid-template-columns: repeat(12, 1fr); }
}
.v3-ed-section__kicker {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: rgba(0,0,0,0.35);
	margin: 0;
	position: sticky;
	top: 8rem;
	align-self: start;
}
.v3-ed-section--dark .v3-ed-section__kicker { color: rgba(255,255,255,0.5); }
@media (min-width: 768px) {
	.v3-ed-section__kicker-col { grid-column: span 3 / span 3; }
	.v3-ed-section__body { grid-column: span 8 / span 8; }
}

/* CONCEITO — texto serif grande */
.v3-ed-conceito {
	font-family: 'Spectral', Georgia, serif;
	font-size: 24px;
	line-height: 1.625;
	color: rgba(0,0,0,0.8);
	margin: 0;
}
@media (min-width: 768px) { .v3-ed-conceito { font-size: 30px; } }

/* NÚMEROS — grid de stats */
.v3-ed-numeros {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	background: rgba(255,255,255,0.1);
}
@media (min-width: 768px)  { .v3-ed-numeros { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .v3-ed-numeros { grid-template-columns: repeat(6, 1fr); } }
.v3-ed-numero {
	background: #000;
	padding: 1.5rem;
}
@media (min-width: 768px) { .v3-ed-numero { padding: 2rem; } }
.v3-ed-numero__value {
	font-size: 30px;
	font-weight: 900;
	letter-spacing: -0.05em;
	margin: 0 0 0.25rem 0;
}
@media (min-width: 768px) { .v3-ed-numero__value { font-size: 36px; } }
.v3-ed-numero__label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(255,255,255,0.3);
	margin: 0;
}

/* HOMENAGEADOS — grid 2 cols com border-left colorida */
.v3-ed-homenageados {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 768px) { .v3-ed-homenageados { grid-template-columns: repeat(2, 1fr); } }
.v3-ed-homenageado {
	padding: 0.5rem 0 0.5rem 2rem;
	border-left-width: 4px;
	border-left-style: solid;
}
.v3-ed-homenageado__pais {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	margin: 0 0 0.5rem 0;
}
.v3-ed-homenageado__nome {
	font-size: 24px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.05em;
	margin: 0 0 0.75rem 0;
}
@media (min-width: 768px) { .v3-ed-homenageado__nome { font-size: 30px; } }
.v3-ed-homenageado__bio {
	font-family: 'Spectral', Georgia, serif;
	font-size: 14px;
	color: rgba(0,0,0,0.6);
	line-height: 1.625;
	margin: 0;
}

/* LISTA DE ARTISTAS */
.v3-ed-artistas__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	padding-bottom: 1.5rem;
	margin-bottom: 2rem;
}
.v3-ed-artistas__count {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(0,0,0,0.35);
}
.v3-ed-artistas__grid {
	display: grid;
	grid-template-columns: 1fr;
}
@media (min-width: 640px)  { .v3-ed-artistas__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px)  { .v3-ed-artistas__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .v3-ed-artistas__grid { grid-template-columns: repeat(4, 1fr); } }
.v3-ed-artista {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 0.5rem;
	border-top: 1px solid rgba(0,0,0,0.05);
	transition: background 200ms ease;
}
.v3-ed-artista:hover { background: rgba(0,0,0,0.02); }
.v3-ed-artista__nome {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	transition: transform 200ms ease;
}
.v3-ed-artista:hover .v3-ed-artista__nome { transform: translateX(0.25rem); }
.v3-ed-artista__pais {
	font-size: 10px;
	color: rgba(0,0,0,0.4);
}

/* CURADORIA — grid de cards */
.v3-ed-curadoria {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 768px)  { .v3-ed-curadoria { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .v3-ed-curadoria { grid-template-columns: repeat(3, 1fr); } }
.v3-ed-curador {
	background: #fff;
	padding: 2rem;
}
.v3-ed-curador__avatar {
	width: 3rem;
	height: 3rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 18px;
	font-weight: 900;
	margin-bottom: 1.25rem;
}
.v3-ed-curador__nome {
	font-size: 18px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.025em;
	margin: 0 0 0.25rem 0;
}
.v3-ed-curador__papel {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0 0 0.75rem 0;
}
.v3-ed-curador__bio {
	font-size: 14px;
	color: rgba(0,0,0,0.65);
	line-height: 1.625;
	margin: 0;
}

/* ITINERÂNCIAS — grid de cards */
.v3-ed-itins {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 640px) { .v3-ed-itins { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px) { .v3-ed-itins { grid-template-columns: repeat(3, 1fr); } }
.v3-ed-itin {
	display: block;
	border: 1px solid rgba(255,255,255,0.1);
	color: inherit;
	text-decoration: none;
	transition: border-color 200ms ease;
}
.v3-ed-itin:hover { border-color: rgba(255,255,255,0.4); color: inherit; text-decoration: none; }
.v3-ed-itin__img {
	position: relative;
	height: 11rem;
	overflow: hidden;
	background: #1a1a1a;
}
.v3-ed-itin__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(100%);
	transition: filter 700ms ease;
}
.v3-ed-itin:hover .v3-ed-itin__img img { filter: grayscale(0%); }
.v3-ed-itin__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
}
.v3-ed-itin__cidade {
	position: absolute;
	bottom: 0.75rem;
	left: 0.75rem;
	right: 0.75rem;
	font-size: 18px;
	font-weight: 900;
	text-transform: uppercase;
	color: #fff;
}
.v3-ed-itin__body { padding: 1.5rem; }
.v3-ed-itin__local {
	font-size: 12px;
	color: rgba(255,255,255,0.6);
	margin: 0 0 0.25rem 0;
}
.v3-ed-itin__periodo {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(255,255,255,0.4);
	margin: 0 0 1rem 0;
}
.v3-ed-itin__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
	padding-top: 0.75rem;
	border-top: 1px solid rgba(255,255,255,0.1);
}
.v3-ed-itin__stat {
	text-align: left;
}
.v3-ed-itin__stat-val {
	font-size: 16px;
	font-weight: 900;
	color: #fff;
	margin: 0;
}
.v3-ed-itin__stat-lbl {
	font-size: 9px;
	color: rgba(255,255,255,0.4);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0;
}
.v3-ed-itin__cta {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(255,255,255,0.6);
	margin: 1rem 0 0 0;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

/* PARCEIROS — flex de grupos */
.v3-ed-parceiros {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
}
.v3-ed-parceiro-grupo { flex: 0 1 16rem; }
.v3-ed-parceiro-grupo__tipo {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0 0 0.75rem 0;
}
.v3-ed-parceiro-grupo__lista {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: 13px;
	color: rgba(0,0,0,0.65);
}

/* FICHA TÉCNICA */
.v3-ed-ficha {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}
@media (min-width: 768px) { .v3-ed-ficha { grid-template-columns: 1fr 1fr; gap: 0 3rem; } }
.v3-ed-ficha-row {
	display: flex;
	align-items: baseline;
	gap: 1.5rem;
	padding: 1rem 0;
	border-top: 1px solid rgba(0,0,0,0.05);
}
.v3-ed-ficha-row__papel {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(0,0,0,0.4);
	width: 12rem;
	flex-shrink: 0;
}
.v3-ed-ficha-row__nomes {
	font-size: 14px;
	color: rgba(0,0,0,0.7);
}

/* NAV ENTRE EDIÇÕES */
.v3-ed-nav {
	background: #fff;
	border-top: 1px solid rgba(0,0,0,0.1);
	padding-block: 2rem;
}
.v3-ed-nav__inner {
	max-width: 1400px;
	margin-inline: auto;
	padding-inline: 1rem;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}
@media (min-width: 640px)  { .v3-ed-nav__inner { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .v3-ed-nav__inner { padding-inline: 2rem; } }
.v3-ed-nav a {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(0,0,0,0.5);
	text-decoration: none;
}
.v3-ed-nav a:hover { color: #000; }


/* ════════════════════════════════════
   PÁGINA ITINERÂNCIA (single-itinerancia)
   ════════════════════════════════════ */

.v3-it-page { font-family: 'Inter', system-ui, sans-serif; }

/* HEADER — page hero pattern */
.v3-it-header {
	padding-top: 8rem;          /* pt-32 */
	padding-bottom: 5rem;       /* pb-20 */
	background: #fff;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
.v3-it-header__container {
	max-width: 1400px;
	margin-inline: auto;
	padding-inline: 1rem;
}
@media (min-width: 640px)  { .v3-it-header__container { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .v3-it-header__container { padding-inline: 2rem; } }

.v3-it-breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 2rem;
}
.v3-it-breadcrumb a { color: rgba(0,0,0,0.4); text-decoration: none; transition: color 200ms ease; }
.v3-it-breadcrumb a:hover { color: #000; }
.v3-it-breadcrumb__sep { color: rgba(0,0,0,0.2); }
.v3-it-breadcrumb__current { color: #000; }

.v3-it-header__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: start;
}
@media (min-width: 1024px) { .v3-it-header__grid { grid-template-columns: repeat(12, 1fr); } }
.v3-it-header__main {}
@media (min-width: 1024px) { .v3-it-header__main { grid-column: span 7 / span 7; } }

.v3-it-badge-edicao {
	display: inline-block;
	font-size: 9px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 0.25rem 0.625rem;
	color: #fff;
	margin-bottom: 1rem;
}
.v3-it-cidade-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 1.5rem;
}
.v3-it-h1 {
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.05em;
	line-height: 0.88;
	color: #000;
	margin: 0 0 1.5rem 0;
	font-size: clamp(2.5rem, 5.5vw, 6.5rem);
}
.v3-it-periodo {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 14px;
	color: rgba(0,0,0,0.6);
	margin: 0 0 0.75rem 0;
}
.v3-it-endereco {
	font-size: 14px;
	color: rgba(0,0,0,0.5);
	max-width: 32rem;
	margin: 0;
}

/* STATS verticais à direita */
.v3-it-stats {
	border: 1px solid rgba(0,0,0,0.1);
	display: flex;
	flex-direction: column;
}
@media (min-width: 1024px) { .v3-it-stats-col { grid-column: 9 / span 4; } }
.v3-it-stat {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.25rem 1.5rem;
	border-top: 1px solid rgba(0,0,0,0.08);
}
.v3-it-stat:first-child { border-top: 0; }
.v3-it-stat__label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(0,0,0,0.5);
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}
.v3-it-stat__value {
	font-size: 24px;
	font-weight: 900;
	letter-spacing: -0.05em;
}

/* Programação local — itens */
.v3-it-prog__list { display: flex; flex-direction: column; }
.v3-it-prog__item {
	padding: 1.75rem 0;
	border-top: 1px solid rgba(0,0,0,0.05);
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
.v3-it-prog__item:first-child { border-top: 0; }
@media (min-width: 768px) { .v3-it-prog__item { grid-template-columns: repeat(12, 1fr); gap: 1.25rem; } }
.v3-it-prog__data { font-size: 12px; color: rgba(0,0,0,0.5); }
@media (min-width: 768px) { .v3-it-prog__data { grid-column: span 2 / span 2; } }
.v3-it-prog__tag {
	display: inline-block;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 0.25rem 0.5rem;
	color: #fff;
}
@media (min-width: 768px) { .v3-it-prog__tag-col { grid-column: span 1 / span 1; } }
.v3-it-prog__info {}
@media (min-width: 768px) { .v3-it-prog__info { grid-column: span 9 / span 9; } }
.v3-it-prog__titulo {
	font-size: 18px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.025em;
	margin: 0 0 0.5rem 0;
}
.v3-it-prog__desc {
	font-family: 'Spectral', Georgia, serif;
	font-size: 14px;
	color: rgba(0,0,0,0.6);
	line-height: 1.625;
	margin: 0;
}
