/* Lunatika Factory — single-edizione.css (Fase 2B, fixup fedeltà design pass).
   Riferimento 1:1: edizione.css + format.css (export 12/06). I valori del demo
   sono incollati, NON reinterpretati; i letterali chiari del demo (hero
   fotografico, sempre scuro in entrambi i temi) restano letterali, il resto è
   tradotto in token theme-aware. Le card vincitrici riusano il visual .hof-card
   (hall-of-fame.css, accodata su questa pagina) come il design pass; la timeline
   riusa la card archivio .lf-evcard. Divergenza dichiarata: l'hero è CONTENUTO
   nel .lf-container (non full-bleed) per direttiva "fixup, non ristrutturazione". */

.lf-edizione { padding: 3rem 0; }

/* ============================================================
   HERO — identità (eyebrow + pill stato) + H1 = tema editoriale
   ============================================================ */
.lf-edizione__hero {
	position: relative;
	overflow: hidden;
	padding: clamp(2rem, 5vw, 4rem) 0 clamp(2.5rem, 5vw, 4rem);
	margin-bottom: 2.5rem;
}

/* Watermark numerale romano (edizione.css: Cormorant corsivo, rame 13%) */
.lf-edizione__roman {
	position: absolute;
	right: clamp(-30px, 1vw, 60px);
	bottom: -0.16em;
	z-index: 0;
	font-family: var(--lf-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(200px, 30vw, 460px);
	line-height: 1;
	color: rgba(var(--lf-rame-rgb), .13);
	pointer-events: none;
	user-select: none;
}
.lf-edizione__hero > *:not(.lf-edizione__roman) { position: relative; z-index: 1; }

/* Back-link al format hub (rider ①: renderizzato solo se la hub esiste) */
.lf-edizione__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	align-self: flex-start;
	font-family: var(--lf-font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(var(--lf-fg-rgb), .55);
	margin-bottom: 20px;
	transition: color var(--lf-t-base) var(--lf-ease);
}
.lf-edizione__back:hover { color: var(--lf-rame-light); }

/* Riga identità: eyebrow + pill stato */
.lf-edizione__hero-row {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}
.lf-edizione__eyebrow {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--lf-rame);
}
.lf-edizione__eyebrow::before {
	content: "";
	display: inline-block;
	width: 36px;
	height: 1px;
	background: currentColor;
	margin-right: 14px;
	vertical-align: middle;
}

/* Pill stato edizione — 6 stati (edizione.css). Dark = valori demo (i token
   coincidono coi letterali); light = adattamento dichiarato (l'hero non-foto
   segue il tema). */
.lf-edz-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 16px;
	border-radius: 100px;
	border: 1px solid transparent;
	font-family: var(--lf-font-body);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	white-space: nowrap;
}
.lf-edz-status .dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	animation: lf-edz-blink 1.8s ease-in-out infinite;
}
@keyframes lf-edz-blink { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .lf-edz-status .dot { animation: none; } }

.lf-edz-status.is-conclusa {
	/* muted: testo a .62 — stessa soglia del fix badge (gate WCAG) */
	color: rgba(var(--lf-fg-rgb), .62);
	background: rgba(var(--lf-fg-rgb), .06);
	border-color: rgba(var(--lf-fg-rgb), .22);
}
.lf-edz-status.is-aperte {
	background: var(--lf-borgogna);
	border-color: var(--lf-borgogna);
	color: var(--lf-on-accent);
}
.lf-edz-status.is-corso {
	color: #d88aa9;
	background: rgba(139, 34, 82, .22);
	border-color: rgba(169, 56, 94, .5);
}
[data-theme="light"] .lf-edz-status.is-corso {
	color: var(--lf-borgogna);
	background: rgba(var(--lf-borgogna-rgb), .12);
	border-color: rgba(var(--lf-borgogna-rgb), .4);
}
.lf-edz-status.is-prossima {
	color: var(--lf-rame-light);
	background: rgba(var(--lf-rame-rgb), .12);
	border-color: rgba(var(--lf-rame-rgb), .4);
}
[data-theme="light"] .lf-edz-status.is-prossima { color: var(--lf-rame-dim); }
.lf-edz-status.is-rinviata {
	color: var(--lf-rame-light);
	background: transparent;
	border-color: rgba(var(--lf-rame-rgb), .4);
	border-style: dashed;
}
[data-theme="light"] .lf-edz-status.is-rinviata { color: var(--lf-rame-dim); }
.lf-edz-status.is-annullata {
	color: rgba(var(--lf-fg-rgb), .62);
	background: transparent;
	border-color: rgba(var(--lf-fg-rgb), .22);
	text-decoration: line-through;
	text-decoration-color: rgba(var(--lf-fg-rgb), .45);
	text-decoration-thickness: 1px;
}

/* H1 = tema editoriale (inversione da design pass; fmt-hero-h). Il campo
   tema_titolo è testo semplice (niente HTML nei campi): l'<em> del demo non è
   replicabile sul titolo — divergenza dichiarata, coerente coi vincoli. */
.lf-edizione__title {
	font-family: var(--lf-font-display);
	font-weight: 600;
	font-size: clamp(48px, 8vw, 110px);
	line-height: 1;
	letter-spacing: -.022em;
	color: var(--lf-avorio);
	margin: 0;
	max-width: 1000px;
	text-wrap: balance;
}
.lf-edizione__stand {
	margin: clamp(22px, 3vw, 36px) 0 0;
	max-width: 620px;
	font-family: var(--lf-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(18px, 1.7vw, 22px);
	line-height: 1.5;
	color: rgba(var(--lf-fg-rgb), .8);
	text-wrap: pretty;
}

/* CTA hero (fmt-cta fill/ghost) */
.lf-edizione__ctas { margin-top: clamp(28px, 4vw, 44px); display: flex; gap: 14px; flex-wrap: wrap; }
.lf-edz-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 30px;
	border-radius: 100px;
	border: 1px solid transparent;
	font-family: var(--lf-font-body);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all var(--lf-t-base) var(--lf-ease);
}
.lf-edz-cta--fill { background: var(--lf-borgogna); border-color: var(--lf-borgogna); color: var(--lf-on-accent); }
.lf-edz-cta--fill:hover { background: var(--lf-borgogna-light); border-color: var(--lf-borgogna-light); color: var(--lf-on-accent); transform: translateY(-2px); }
.lf-edz-cta--ghost { background: transparent; color: var(--lf-rame-light); border-color: rgba(var(--lf-rame-rgb), .4); }
.lf-edz-cta--ghost:hover { border-color: var(--lf-rame); color: var(--lf-avorio); background: rgba(var(--lf-rame-rgb), .07); transform: translateY(-2px); }
[data-theme="light"] .lf-edz-cta--ghost { color: var(--lf-rame-dim); }

/* --- Hero fotografico (modificatore --photo): immersivo, content in basso,
   superficie scura in ENTRAMBI i temi (segue la foto, non il tema). Letterali
   chiari voluti. Regole DOPO gli override [data-theme=light] dei pill, per
   vincere a parità di specificità in tema chiaro. --- */
.lf-edizione__hero--photo {
	background: var(--lf-nero);
	border-radius: 18px;
	min-height: clamp(440px, 64vh, 680px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 4vw, 3rem) clamp(2rem, 5vw, 3.5rem);
}
.lf-edizione__hero--photo > .lf-edizione__hero-img { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; filter: brightness(.5) saturate(1) contrast(1.04); }
.lf-edizione__hero--photo > .lf-edizione__hero-veil {
	position: absolute; inset: 0; z-index: 0;
	background:
		linear-gradient(180deg, rgba(12,11,14,.32) 0%, rgba(12,11,14,.55) 60%, rgba(12,11,14,.85) 100%),
		radial-gradient(75% 60% at 20% 80%, rgba(139,34,82,.38), transparent 62%);
}
.lf-edizione__hero--photo .lf-edizione__back { color: rgba(245,239,230,.6); }
.lf-edizione__hero--photo .lf-edizione__back:hover { color: var(--lf-rame-light); }
.lf-edizione__hero--photo .lf-edizione__eyebrow { color: #d88aa9; }
.lf-edizione__hero--photo .lf-edizione__title { color: #f5efe6; }
.lf-edizione__hero--photo .lf-edizione__stand { color: rgba(245,239,230,.82); }
.lf-edizione__hero--photo .lf-edz-cta--ghost { color: var(--lf-rame-light); }
.lf-edizione__hero--photo .lf-edz-cta--ghost:hover { color: #f5efe6; }
/* Pill di stato: sull'hero scuro trattati come nel demo, in entrambi i temi. */
.lf-edizione__hero--photo .lf-edz-status.is-conclusa { color: rgba(245,239,230,.62); background: rgba(245,239,230,.06); border-color: rgba(245,239,230,.22); }
.lf-edizione__hero--photo .lf-edz-status.is-annullata { color: rgba(245,239,230,.62); background: transparent; border-color: rgba(245,239,230,.22); text-decoration-color: rgba(245,239,230,.45); }
.lf-edizione__hero--photo .lf-edz-status.is-corso { color: #d88aa9; background: rgba(139,34,82,.22); border-color: rgba(169,56,94,.5); }
.lf-edizione__hero--photo .lf-edz-status.is-prossima,
.lf-edizione__hero--photo .lf-edz-status.is-rinviata { color: var(--lf-rame-light); }

/* Credito foto (fmt-hero-credit): pill in basso a destra sull'hero fotografico */
.lf-edizione__hero-credit {
	position: absolute;
	bottom: clamp(14px, 2vw, 26px);
	right: clamp(14px, 2vw, 26px);
	z-index: 2;
	font-family: var(--lf-font-body);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgba(245,239,230,.5);
	background: rgba(12,11,14,.55);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(196,149,106,.16);
	padding: 6px 12px;
	border-radius: 999px;
}

/* ============================================================
   TESTATA DI SEZIONE (fmt-sec-head / label / title)
   ============================================================ */
.lf-edizione section { margin-bottom: clamp(3rem, 6vw, 4.5rem); }
.lf-sec-head { margin-bottom: clamp(32px, 4vw, 56px); }
.lf-sec-label {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--lf-font-body);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--lf-rame);
	margin: 0 0 14px;
}
.lf-sec-label::before { content: ""; width: 28px; height: 1px; background: var(--lf-rame); }
.lf-sec-title {
	font-family: var(--lf-font-display);
	font-weight: 600;
	font-size: clamp(32px, 4.6vw, 54px);
	line-height: 1.05;
	letter-spacing: -.02em;
	color: var(--lf-avorio);
	margin: 0;
	text-wrap: balance;
	border: 0;
	padding: 0;
}
.lf-sec-title em { font-style: italic; font-weight: 400; color: var(--lf-rame-light); }
[data-theme="light"] .lf-sec-title em { color: var(--lf-rame-dim); }

/* ============================================================
   TEMA EDITORIALE — manifesto (drop-cap) + figura + pull quote
   ============================================================ */
.lf-edizione__tema-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .72fr);
	align-items: start;
	gap: clamp(32px, 5vw, 72px);
}
.lf-edizione__tema-desc {
	max-width: none;
	font-family: var(--lf-font-body);
	font-weight: 300;
	font-size: 17px;
	line-height: 1.78;
	color: rgba(var(--lf-fg-rgb), .86);
}
.lf-edizione__tema-desc p { margin: 0 0 22px; }
.lf-edizione__tema-desc p:last-child { margin-bottom: 0; }
/* Drop-cap della prima lettera del manifesto (fmt-manifesto) */
.lf-edizione__tema-desc p:first-of-type::first-letter {
	font-family: var(--lf-font-display);
	font-size: 72px;
	font-weight: 500;
	float: left;
	line-height: .86;
	padding: 7px 13px 0 0;
	color: var(--lf-borgogna);
}
[data-theme="light"] .lf-edizione__tema-desc p:first-of-type::first-letter { color: var(--lf-borgogna-soft); }
.lf-edizione__tema-desc em {
	font-style: italic;
	font-family: var(--lf-font-display);
	font-weight: 500;
	font-size: 1.06em;
	color: var(--lf-rame-light);
}
[data-theme="light"] .lf-edizione__tema-desc em { color: var(--lf-rame-dim); }
.lf-edizione__tema-desc strong { font-weight: 600; color: var(--lf-avorio); }

.lf-edizione__tema-img { margin: 0; }
.lf-edizione__tema-img img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 14px;
	border: 1px solid var(--lf-card-border);
	filter: saturate(.94) contrast(1.02);
}
.lf-edizione__tema-cap {
	font-family: var(--lf-font-display);
	font-style: italic;
	font-size: 13.5px;
	color: var(--lf-muted);
	padding-top: 12px;
}
.lf-edizione__pull {
	grid-column: 1 / -1;
	margin: clamp(20px, 3vw, 36px) auto 0;
	max-width: 760px;
	text-align: center;
	font-family: var(--lf-font-display);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.35;
	letter-spacing: -.01em;
	color: var(--lf-avorio);
	text-wrap: balance;
}
.lf-edizione__pull-glyph { display: block; font-style: normal; font-size: 20px; color: var(--lf-rame); margin-bottom: 14px; }

/* ============================================================
   TIMELINE — card archivio riusate; gap 14px come edz-list del demo
   ============================================================ */
.lf-edizione__eventi { scroll-margin-top: 90px; }
.lf-edizione__eventi .lf-arc-list { gap: 14px; }
.lf-edizione__empty-eventi { font-family: var(--lf-font-display); font-style: italic; color: var(--lf-muted); }

/* ============================================================
   VINCITRICI — riuso visual .hof-card (griglia 3-col come fmt-winners-grid)
   + foot-link alla Hall of Fame; stato vuoto decoroso (edz-empty)
   ============================================================ */
.lf-edizione__winners {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 2.5vw, 32px) clamp(16px, 2vw, 24px);
}
/* .hof-card è un reset da <button>; come <a> serve togliere la sottolineatura. */
.lf-edizione__winners .hof-card { text-decoration: none; }
.lf-edizione__winners-foot { margin-top: clamp(28px, 4vw, 40px); }
.lf-edz-see-all {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 26px;
	border: 1px solid rgba(var(--lf-rame-rgb), .4);
	border-radius: 100px;
	font-family: var(--lf-font-body);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--lf-rame-light);
	white-space: nowrap;
	transition: all var(--lf-t-base) var(--lf-ease);
}
.lf-edz-see-all:hover { border-color: var(--lf-rame); background: rgba(var(--lf-rame-rgb), .07); color: var(--lf-avorio); transform: translateY(-2px); }
[data-theme="light"] .lf-edz-see-all { color: var(--lf-rame-dim); }
[data-theme="light"] .lf-edz-see-all:hover { color: var(--lf-borgogna); }

.lf-edizione__albo-empty {
	text-align: center;
	padding: clamp(44px, 7vw, 72px) 24px;
	border: 1px dashed var(--lf-card-border-strong);
	border-radius: 20px;
}
.lf-edizione__albo-glyph { display: block; font-size: 36px; color: var(--lf-rame); margin-bottom: 14px; }
.lf-edizione__albo-empty p {
	font-family: var(--lf-font-display);
	font-style: italic;
	font-size: 17.5px;
	line-height: 1.55;
	color: var(--lf-muted);
	max-width: 460px;
	margin: 0 auto;
	text-wrap: pretty;
}

/* ============================================================
   GIURIA — griglia ritratti B/N 3-col (edz-giuria)
   ============================================================ */
.lf-giuria {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(18px, 2.5vw, 28px);
}
.lf-giuria__item { display: block; }
.lf-giuria__photo {
	display: block;
	aspect-ratio: 4 / 5;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid var(--lf-card-border);
	background: rgba(var(--lf-rame-rgb), .08);
}
.lf-giuria__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.06) brightness(.96); }
.lf-giuria__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--lf-rame); font-size: 2.6rem; }
.lf-giuria__body { display: block; }
.lf-giuria__nome {
	display: block;
	font-family: var(--lf-font-display);
	font-weight: 600;
	font-size: 23px;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--lf-avorio);
	margin: 16px 0 4px;
}
.lf-giuria__nome a { color: inherit; }
.lf-giuria__nome a:hover { color: var(--lf-rame); }
.lf-giuria__ruolo {
	display: block;
	font-family: var(--lf-font-display);
	font-style: italic;
	font-size: 14.5px;
	color: var(--lf-rame-light);
}
[data-theme="light"] .lf-giuria__ruolo { color: var(--lf-rame-dim); }

/* ============================================================
   BANDO (rider ②) — card contenitore (fmt-form-card) + intro; dentro il
   form GPFB reale via shortcode, vestito dalla skin GPFB del tema
   ============================================================ */
.lf-edizione__bando { scroll-margin-top: 90px; }
.lf-edizione__bando-card {
	background: var(--lf-card);
	border: 1px solid var(--lf-card-border);
	border-radius: 20px;
	padding: clamp(28px, 4vw, 52px);
	max-width: 860px;
}
.lf-edizione__bando-intro {
	font-family: var(--lf-font-display);
	font-style: italic;
	font-size: 17px;
	line-height: 1.55;
	color: var(--lf-muted);
	margin: 0 0 32px;
	max-width: 560px;
	text-wrap: pretty;
}
/* Avviso solo-redazione quando lo stato è "aperte" ma manca il form collegato. */
.lf-edizione__bando-admin {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-family: var(--lf-font-body);
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--lf-muted);
}
.lf-edizione__bando-admin-tag {
	display: inline-flex;
	align-items: center;
	padding: 4px 11px;
	border-radius: 100px;
	border: 1px dashed var(--lf-rame);
	color: var(--lf-rame);
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	white-space: nowrap;
}

/* ============================================================
   CHIUSURA (fmt-final) — copy + social + newsletter
   ============================================================ */
.lf-edizione__final { padding-top: clamp(2rem, 4vw, 3rem); border-top: 1px solid var(--lf-divider); }
.lf-edizione__final-grid {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: clamp(32px, 5vw, 64px);
	align-items: center;
}
.lf-edizione__final-copy .lf-sec-title { margin-bottom: 18px; }
.lf-edizione__final-sub {
	font-family: var(--lf-font-display);
	font-style: italic;
	font-size: 17px;
	line-height: 1.55;
	color: var(--lf-muted);
	margin: 0 0 26px;
	max-width: 480px;
}
.lf-edizione__final-socials { display: flex; gap: 10px; flex-wrap: wrap; }
.lf-soc-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	border-radius: 100px;
	border: 1px solid var(--lf-card-border);
	font-family: var(--lf-font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lf-muted);
	white-space: nowrap;
	transition: all var(--lf-t-base) var(--lf-ease);
}
.lf-soc-pill:hover { border-color: var(--lf-rame); color: var(--lf-rame-light); transform: translateY(-2px); }
[data-theme="light"] .lf-soc-pill:hover { color: var(--lf-rame-dim); }
.lf-soc-pill .lf-icon { flex: none; } /* icona (lf_icon) accanto alla label, come il demo */
/* Il trigger newsletter eredita .lf-iscriviti (display:none nell'header
   mobile): qui è un bottone di sezione, va riattivato. */
.lf-edizione__final-news .lf-iscriviti { display: inline-flex; }

/* ============================================================
   RESPONSIVE (breakpoint del demo: 960 / 768 / 560 / 460)
   ============================================================ */
@media (max-width: 960px) {
	.lf-edizione__tema-grid { grid-template-columns: 1fr; }
	.lf-edizione__tema-img { max-width: 480px; }
	.lf-giuria { grid-template-columns: 1fr 1fr; }
	.lf-edizione__final-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
	.lf-edizione__roman { font-size: clamp(140px, 36vw, 220px); opacity: .8; }
	.lf-edizione__title { font-size: clamp(38px, 11vw, 60px); }
	.lf-edizione__stand { font-size: 16px; }
	.lf-edizione__tema-desc { font-size: 15.5px; }
	.lf-edizione__tema-desc p:first-of-type::first-letter { font-size: 54px; padding: 4px 11px 0 0; }
	.lf-edizione__winners { grid-template-columns: repeat(2, 1fr); gap: 20px 12px; }
}
@media (max-width: 560px) {
	.lf-giuria { grid-template-columns: 1fr; }
	.lf-edizione__hero-row { gap: 12px; }
}
@media (max-width: 460px) {
	.lf-edizione__winners { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.lf-edz-cta, .lf-soc-pill, .lf-edizione__back { transition: none; }
	.lf-edz-cta:hover, .lf-soc-pill:hover { transform: none; }
}

/* [DS-muted 16/07] eyebrow AA in LIGHT: il rame (--lf-rame #8f6240 in light)
   sul crema scende sotto AA (~4.35:1, pink Permette Signorina 2.13) su testo
   minuscolo maiuscolo. Convenzione del tema (già su HoF card/modal, chi-siamo,
   taccuino feature): in LIGHT l'occhiello passa a --lf-borgogna-soft (#6e1c41 =
   7.3–10:1 sui fondi chiari). Dark invariato (rame ~7.3:1). Hero FOTO (fondo
   scuro) esclusi via :not(). */
[data-theme="light"] .lf-edizione__hero:not(.lf-edizione__hero--photo) .lf-edizione__eyebrow { color: var(--lf-borgogna-soft); }
