/* ==========================================================================
   PAGINE INTERNE — apertura, briciole, sfondo e contenuto libero
   (prototipo: style.css righe 506-528, 667-673, 809-813, 816-825)
   ========================================================================== */

/* Un solo sfondo sotto l'apertura: la discesa dallo spazio agli abissi.
   Parte dal colore con cui finisce l'apertura, così non c'è giunzione.
   Le sezioni sono trasparenti, tranne le chiare (fondo carta). */
.sb-page { background: var(--sb-space-1); }
.sb-page__content { background: linear-gradient(var(--sb-space-1) 0, var(--sb-sea-3) 30%, var(--sb-sea-2) 55%, var(--sb-abyss) 85%, var(--sb-abyss-0)); }

/* Briciole di pane */
.breadcrumbs { display: flex; gap: 8px; font-size: .9rem; color: var(--sb-muted); margin-bottom: 36px; }
.breadcrumbs > * { flex: none; }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { color: var(--sb-gold-lt); }
.breadcrumbs [aria-current] { color: var(--sb-text); }
/* Il titolo di un articolo può essere lungo: resta sulla stessa riga e si accorcia con i puntini */
.breadcrumbs > .breadcrumb--last { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Apertura */
.sb-phero { position: relative; isolation: isolate; overflow: hidden;
  padding-top: clamp(150px, 16vw, 210px); padding-bottom: clamp(56px, 6vw, 88px);
  background: linear-gradient(var(--sb-space-0), var(--sb-space-1)); }
.sb-phero__edition { font-size: 1.1rem; font-weight: 600; color: var(--sb-gold-lt); font-variation-settings: "wdth" 100; margin-bottom: 18px; }
.sb-phero__title { font-size: clamp(2.8rem, 7vw, 6.6rem); font-weight: 600; font-variation-settings: "wdth" 125; line-height: .96; letter-spacing: -.04em; max-width: 17ch; text-wrap: balance; margin-bottom: 28px; }
.sb-phero .sb-lead { max-width: 38ch; }
.sb-phero .sb-actions { margin-top: 32px; }

/* Testo + immagine a lato (Progetto, Chi siamo, Rivista) */
.sb-phero--laterale .sb-phero__grid { display: grid; grid-template-columns: 7fr 4fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.sb-phero__media { margin: 0; justify-self: end; width: 100%; max-width: 420px; }
.sb-phero__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 45% 20%; border-radius: 4px; }

/* Foto di sfondo (Forum, Contatti) */
.sb-phero--sfondo { min-height: 88vh; display: flex; align-items: flex-end; }
.sb-phero--sfondo > .sb-wrap { width: 100%; }
.sb-phero--sfondo .sb-phero__title { font-size: clamp(2.5rem, 6.2vw, 5.8rem); }
.sb-phero__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.sb-phero__shade { position: absolute; inset: 0; z-index: -1; background:
  linear-gradient(180deg, color-mix(in srgb, var(--sb-space-0) 80%, transparent) 0%, color-mix(in srgb, var(--sb-space-0) 25%, transparent) 30%, color-mix(in srgb, var(--sb-space-1) 70%, transparent) 62%, var(--sb-space-1) 100%),
  linear-gradient(90deg, color-mix(in srgb, var(--sb-space-0) 60%, transparent), color-mix(in srgb, var(--sb-space-0) 0%, transparent) 70%); }

/* Contenuto scritto direttamente nella pagina, fuori dai blocchi: resta nella colonna */
.sb-page__content > :not(section):not(.sb-band) { width: min(100% - 2 * var(--sb-gutter), 48rem); margin-inline: auto; }
.sb-page__content > :not(section):not(.sb-band):first-child { margin-top: var(--sb-section); }
.sb-page__content > :not(section):not(.sb-band):last-child { margin-bottom: var(--sb-section); }
.sb-page__content > p, .sb-page__content > ul, .sb-page__content > ol { margin-block: 1em; color: var(--sb-text-soft); }
.sb-page__content > h2, .sb-page__content > h3 { margin-block: 1.6em .6em; font-weight: 600; font-variation-settings: "wdth" 100; }

@media (max-width: 860px) {
  .sb-phero--laterale .sb-phero__grid { grid-template-columns: 1fr; }
  .sb-phero__media { justify-self: start; max-width: 320px; }
  .sb-phero--sfondo { min-height: 72vh; }
}

/* Elenchi scritti nel contenuto o dentro una Sezione: base.css azzera tutte le liste,
   qui tornano puntini e numeri */
.sb-page__content > ul, .sb-page__content > ol, .sb-section__body .wp-block-list { padding-left: 1.25em; list-style: disc; }
.sb-page__content > ol, .sb-section__body ol.wp-block-list { list-style: decimal; }
.sb-page__content > ul li + li, .sb-page__content > ol li + li, .sb-section__body .wp-block-list li + li { margin-top: .4em; }
.sb-section__body .wp-block-list { color: var(--sb-text-soft); max-width: 62ch; }
.sb-light .sb-section__body .wp-block-list { color: var(--sb-ink-muted); }

/* Dati dell'edizione nell'apertura (prototipo: .sb-facts, righe 523-525) */
.sb-facts { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 20px clamp(32px, 5vw, 72px); margin-top: clamp(40px, 5vw, 64px); padding-top: 28px; border-top: 1px solid var(--sb-line); }
.sb-facts dt { font-size: .88rem; color: var(--sb-gold-lt); font-weight: 600; margin-bottom: 4px; }
.sb-facts dd { margin: 0; line-height: 1.45; }

/* Schede delle edizioni (prototipo: .sb-editions, righe 564-573) */
.sb-editions { padding-block: var(--sb-section); }
.sb-editions__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); margin-top: clamp(48px, 6vw, 80px); }
.sb-edition { position: relative; display: block; text-decoration: none; }
.sb-edition img, .sb-edition__placeholder { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 4px; filter: saturate(.8) brightness(.9); transition: filter .3s; }
.sb-edition__placeholder { background: linear-gradient(135deg, var(--sb-space-1), var(--sb-sea-2)); }
.sb-edition:hover img { filter: saturate(1) brightness(1); }
.sb-edition__year { display: block; margin-top: -0.55em; position: relative; font-size: clamp(3.4rem, 6vw, 5.4rem); font-weight: 700; font-variation-settings: "wdth" 62; line-height: 1; color: var(--sb-gold-lt); padding-left: 20px; }
.sb-edition h3 { margin-top: 10px; font-size: 1.35rem; font-weight: 600; font-variation-settings: "wdth" 100; }
.sb-edition:hover h3 { color: var(--sb-gold-lt); }
.sb-edition p { margin-top: 8px; color: var(--sb-muted); max-width: 50ch; }
.sb-phero__text { margin-top: 1.25em; color: var(--sb-muted); max-width: 56ch; }

@media (max-width: 860px) {
  .sb-facts, .sb-editions__grid { grid-template-columns: 1fr; }
}

/* Pagina con il blocco Contatti: apertura con foto più bassa (prototipo: .sb-phero--contact, riga 817) */
.sb-has-contatti .sb-phero--sfondo { min-height: 62vh; }
@media (max-width: 860px) { .sb-has-contatti .sb-phero--sfondo { min-height: 62vh; } }
