/* =============================================================
   Brindisi Tabernacle APS ETS, prototipo v2
   Pagine C: Dona, Notizie (archivio e articolo), Privacy, Cookie.
   Si carica dopo style.css solo in queste pagine.
   Ogni blocco .p-* è un pattern autonomo (futuro block pattern WordPress).
   ============================================================= */

.p-hero-pagina__media picture { display: contents; }

/* Voce di menu attiva anche dentro una sezione (es. singolo articolo in Notizie) */
.nav__link[aria-current="true"]::after { transform: scaleX(1); }
.menu-mobile__lista a[aria-current] { color: var(--giallo); }

/* Schede in elenco: la scheda riempie la cella della griglia */
.p-archivio__griglia > li, .p-correlate__griglia > li { display: flex; }
.p-archivio__griglia > li > .scheda-notizia, .p-correlate__griglia > li > .scheda-notizia { flex: 1; }

/* ---------- Salti rapidi alle sezioni (ancore) ---------- */
.salti { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
.salti a {
  display: inline-flex; align-items: center; min-height: 2.75rem; padding: .5rem 1rem;
  border-radius: 999px; border: 1.5px solid rgba(255, 255, 255, .6); color: var(--bianco);
  font-size: .88rem; font-weight: 700; text-decoration: none;
  transition: background-color var(--t-veloce) var(--ease-out), color var(--t-veloce) var(--ease-out), border-color var(--t-veloce) var(--ease-out);
}
.salti a:hover { background: var(--giallo); color: var(--nero); border-color: var(--giallo); }

/* ---------- Pulsante copia (usa data-copia di main.js) ---------- */
.copia {
  flex: none; display: inline-flex; align-items: center; gap: .4rem; min-height: 2.75rem; padding: .4rem .85rem;
  border: 1.5px solid var(--nero); border-radius: var(--r-btn); color: var(--nero);
  font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
  transition: background-color var(--t-veloce) var(--ease-out), color var(--t-veloce) var(--ease-out);
}
.copia svg { width: 1rem; height: 1rem; }
.copia:hover { background: var(--nero); color: var(--bianco); }
.fondo-nero .copia { border-color: var(--giallo); color: var(--giallo); }
.fondo-nero .copia:hover { background: var(--giallo); color: var(--nero); }

/* ---------- Elenco dati (etichetta + valore) ---------- */
.dati { border-top: 1px solid var(--linea); }
.dati__riga { display: grid; gap: .2rem; padding: .95rem 0; border-bottom: 1px solid var(--linea); }
.dati__riga dt { font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--testo-2); }
.dati__riga dd {
  margin: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem;
  font-weight: 700; font-variant-numeric: tabular-nums;
}
.dati__riga dd a { text-decoration-color: var(--giallo); text-decoration-thickness: 2px; }
.dati__valore { letter-spacing: .02em; }
@media (min-width: 30rem) { .dati__riga { grid-template-columns: 8.5rem 1fr; align-items: center; gap: 1rem; } }

/* =============================================================
   DONA
   ============================================================= */
.p-hero-dona { min-height: clamp(36rem, 92svh, 52rem); }
.p-hero-dona .p-hero-pagina__contenuto { max-width: 50rem; }
@media (min-width: 48rem) {
  .p-hero-dona .p-hero-pagina__media::after {
    background:
      linear-gradient(to right, rgba(0,0,0,.72) 0%, rgba(0,0,0,.45) 42%, rgba(0,0,0,0) 68%),
      linear-gradient(to top, rgba(0,0,0,.7) 0%, rgba(0,0,0,.15) 55%, rgba(0,0,0,.1) 100%);
  }
}
/* Mobile: foto sopra, testo sotto sul nero, così il volto resta libero */
@media (max-width: 47.99rem) {
  .p-hero-dona { display: block; min-height: 0; }
  .p-hero-dona .p-hero-pagina__media { position: relative; z-index: 0; aspect-ratio: 4 / 5; }
  .p-hero-dona .p-hero-pagina__media::after { background: linear-gradient(to top, var(--nero) 0%, rgba(11,11,11,.55) 22%, rgba(0,0,0,0) 45%, rgba(0,0,0,.35) 100%); }
  .p-hero-dona .contenitore { position: relative; z-index: 1; margin-top: -4.5rem; }
  .p-hero-dona .p-hero-pagina__contenuto { padding-top: 0; }
}
.p-hero-dona__sommario { margin-top: 1.25rem; max-width: 36rem; font-size: clamp(1rem, .95rem + .4vw, 1.2rem); color: rgba(255, 255, 255, .92); text-wrap: balance; }

/* Dichiarazione in serif (blocco giallo) */
.p-dichiarazione__griglia { display: grid; gap: 2rem; }
.p-dichiarazione__frase {
  font-family: var(--serif); font-style: italic; font-weight: 400;
  font-size: clamp(3rem, 1.5rem + 6.2vw, 6.5rem); line-height: .94; letter-spacing: -.015em; text-wrap: balance;
}
.p-dichiarazione__frase--media { font-size: clamp(2.3rem, 1.4rem + 3.6vw, 4.5rem); line-height: 1; }
.p-dichiarazione__testo { max-width: 34rem; }
.p-dichiarazione__testo p + p { margin-top: 1rem; }
.p-dichiarazione__testo .link-freccia { margin-top: 1.5rem; }
@media (min-width: 60rem) {
  .p-dichiarazione__griglia { grid-template-columns: 1.35fr 1fr; align-items: end; gap: clamp(3rem, 6vw, 6rem); }
}

/* Modi per donare un contributo */
.p-modi__griglia { display: grid; gap: 1.25rem; margin-top: 2.75rem; }
.modo-card { border-radius: var(--r-card); overflow: hidden; display: flex; flex-direction: column; }
.modo-card--nero { background: var(--nero); color: var(--bianco); }
.modo-card--bordo { background: var(--bianco); color: var(--nero); border: 2px solid var(--nero); }
.modo-card .foto { aspect-ratio: 16 / 9; }
.modo-card__corpo { padding: clamp(1.5rem, 3vw, 2.25rem); display: flex; flex-direction: column; gap: 1rem; flex: 1; }
.modo-card__etichetta { font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.modo-card--nero .modo-card__etichetta { color: var(--giallo); }
.modo-card h3 { font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.2rem); font-weight: 700; line-height: 1.1; letter-spacing: -.03em; text-wrap: balance; }
.modo-card--nero p { color: var(--testo-su-nero-2); }
.modo-card--bordo p { color: var(--testo-2); }
.modo-card .btn { align-self: flex-start; margin-top: auto; }
.modo-card__nota { font-size: .88rem; }
.modo-card .dati { margin-top: .25rem; }
@media (min-width: 60rem) { .p-modi__griglia { grid-template-columns: 1fr 1.2fr; gap: 1.5rem; } }

/* 5×1000 (blocco nero) */
.p-cinque__griglia { display: grid; gap: 3rem; align-items: center; }
.p-cinque .sottotitolo { margin-top: 1.25rem; }
.p-cinque .passi { border-top-color: var(--linea-chiara); margin-top: 2rem; }
.p-cinque .passo { border-bottom-color: var(--linea-chiara); padding-block: 1.35rem; }
.p-cinque .passo::before { color: var(--giallo); font-size: 3.4rem; }
.p-cinque .passo p { color: var(--testo-su-nero-2); }
.valore-grande {
  margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1.25rem 1.5rem; border: 1.5px solid var(--giallo); border-radius: var(--r-card);
}
.valore-grande__etichetta { display: block; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--testo-su-nero-2); }
.valore-grande__numero { display: block; margin-top: .2rem; font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.5rem); font-weight: 800; letter-spacing: .04em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.p-cinque .video-ambiente { width: 100%; max-width: 26rem; justify-self: center; }
@media (min-width: 60rem) { .p-cinque__griglia { grid-template-columns: 1.25fr 1fr; gap: clamp(3rem, 6vw, 6rem); } }

/* Dove vanno le donazioni (blocco giallo) */
.p-destinazione__griglia { display: grid; gap: 1.25rem; margin-top: 2.75rem; }
.scheda-uso { background: var(--bianco); color: var(--nero); border-radius: var(--r-card); overflow: hidden; display: flex; flex-direction: column; }
.scheda-uso .foto { aspect-ratio: 4 / 3; }
.scheda-uso__corpo { padding: 1.5rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.scheda-uso h3 { font-size: 1.2rem; font-weight: 700; line-height: 1.2; letter-spacing: -.015em; text-wrap: balance; }
.scheda-uso p { font-size: .95rem; color: var(--testo-2); }
.scheda-uso .link-freccia { margin-top: auto; padding-top: .5rem; align-self: flex-start; font-size: .88rem; border-bottom: 0; }
@media (min-width: 40rem) { .p-destinazione__griglia { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64rem) { .p-destinazione__griglia { grid-template-columns: repeat(4, 1fr); } }

/* Donare con fiducia */
.p-fiducia__griglia { display: grid; margin-top: 2.75rem; border-top: 3px solid var(--nero); }
.fatto { padding: 1.75rem 0; border-bottom: 1px solid var(--linea); }
.fatto__valore { display: block; font-size: clamp(2.4rem, 1.6rem + 3vw, 3.75rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.fatto h3 { margin-top: .9rem; font-size: 1.1rem; font-weight: 700; letter-spacing: -.01em; }
.fatto p { margin-top: .35rem; color: var(--testo-2); font-size: .98rem; max-width: 36ch; text-wrap: pretty; }
.fatto a { font-weight: 600; text-decoration-color: var(--giallo); text-decoration-thickness: 2px; }
@media (min-width: 56rem) {
  .p-fiducia__griglia { grid-template-columns: repeat(3, 1fr); }
  .fatto { padding: 2rem 2rem 1rem 0; border-bottom: 0; }
  .fatto + .fatto { padding-left: 2rem; border-left: 1px solid var(--linea); }
}

/* Domande frequenti */
.p-faq__griglia { display: grid; gap: 2rem; padding-top: clamp(2.5rem, 5vw, 4rem); border-top: 3px solid var(--nero); }
.p-faq__testa .sottotitolo { margin-top: 1rem; }
.faq { border-top: 1px solid var(--linea); }
.faq details { border-bottom: 1px solid var(--linea); }
.faq summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  min-height: 3rem; padding: 1.2rem 0; font-size: 1.1rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.3;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary svg { width: 1.2rem; height: 1.2rem; flex: none; transition: transform var(--t-veloce) var(--ease-out); }
.faq details[open] summary svg { transform: rotate(180deg); }
.faq summary:hover span { text-decoration: underline; text-decoration-color: var(--giallo); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.faq__risposta { padding: 0 0 1.5rem; color: var(--testo-2); max-width: 60ch; text-wrap: pretty; }
.faq__risposta a { color: var(--nero); font-weight: 600; text-decoration-color: var(--giallo); text-decoration-thickness: 2px; }
@media (min-width: 60rem) {
  .p-faq__griglia { grid-template-columns: 1fr 1.6fr; gap: clamp(3rem, 6vw, 6rem); align-items: start; }
  .p-faq__testa { position: sticky; top: calc(var(--header-h) + 2rem); }
}

/* Aziende e fondazioni (blocco giallo) */
.p-aziende__griglia { display: grid; gap: 2.5rem; align-items: center; }
.p-aziende .foto { border-radius: var(--r-card); aspect-ratio: 4 / 3; }
.p-aziende__testo .sottotitolo { margin-top: 1.25rem; max-width: 36rem; }
.p-aziende__testo .btn-gruppo { margin-top: 2rem; }
@media (min-width: 60rem) { .p-aziende__griglia { grid-template-columns: 1.1fr 1fr; gap: clamp(3rem, 6vw, 6rem); } }

/* =============================================================
   HERO COMPATTO (nero, senza foto di sfondo)
   ============================================================= */
.p-hero-compatto {
  position: relative; background: var(--nero); color: var(--bianco);
  padding-top: calc(var(--header-h) + clamp(2.5rem, 6vw, 4.5rem)); padding-bottom: clamp(3rem, 7vw, 5rem);
}
.p-hero-compatto__griglia { display: grid; gap: 1.5rem 3rem; align-items: end; }
.p-hero-compatto__accento { display: block; margin-top: .9rem; font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.6rem); color: var(--giallo); text-wrap: balance; }
.p-hero-compatto__intro { margin-top: 1.25rem; max-width: 40rem; color: var(--testo-su-nero-2); text-wrap: pretty; }
.p-hero-compatto__nota { font-size: .9rem; color: var(--testo-su-nero-2); max-width: 30rem; text-wrap: pretty; }
.p-hero-compatto__nota .tag { margin-bottom: .6rem; }
.p-hero-compatto .tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
@media (min-width: 60rem) { .p-hero-compatto__griglia { grid-template-columns: 1.5fr 1fr; } }

/* =============================================================
   NOTIZIE: in evidenza, archivio, paginazione
   ============================================================= */
.p-evidenza { margin-top: clamp(2.5rem, 5vw, 4rem); display: grid; gap: 1.75rem; align-items: center; color: inherit; text-decoration: none; }
.p-evidenza .foto { border-radius: var(--r-card); aspect-ratio: 16 / 10; }
.p-evidenza .foto img { transition: transform 1.2s var(--ease-out); }
.p-evidenza:hover .foto img { transform: scale(1.03); }
.p-evidenza .foto .tag--segnaposto { position: absolute; top: .75rem; left: .75rem; z-index: 2; background: rgba(255,255,255,.92); color: var(--nero); }
.p-evidenza__meta { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; font-size: .85rem; font-weight: 600; color: var(--testo-su-nero-2); }
.p-evidenza__titolo { margin-top: .5rem; font-size: clamp(1.9rem, 1.3rem + 2.2vw, 3rem); font-weight: 700; line-height: 1.08; letter-spacing: -.03em; text-wrap: balance; }
.p-evidenza__sommario { margin-top: 1rem; color: var(--testo-su-nero-2); max-width: 42ch; text-wrap: pretty; }
.p-evidenza .link-freccia { margin-top: 1.5rem; color: var(--giallo); }
.p-evidenza:hover .link-freccia svg { transform: translateX(4px); }
@media (min-width: 60rem) { .p-evidenza { grid-template-columns: 1.35fr 1fr; gap: clamp(2.5rem, 5vw, 4.5rem); } }

.p-archivio__barra {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.25rem;
  padding-bottom: 1.5rem; border-bottom: 3px solid var(--nero);
}
.p-archivio__barra .titolo-3 { flex: 1 1 100%; }
.filtri { display: flex; flex-wrap: wrap; gap: .5rem; }
.filtri a {
  display: inline-flex; align-items: center; min-height: 2.75rem; padding: .5rem 1.05rem; border-radius: 999px;
  border: 1.5px solid var(--nero); font-size: .88rem; font-weight: 700; text-decoration: none;
  transition: background-color var(--t-veloce) var(--ease-out), border-color var(--t-veloce) var(--ease-out), color var(--t-veloce) var(--ease-out);
}
.filtri a:hover { background: var(--giallo); border-color: var(--giallo); }
.filtri a[aria-current="page"] { background: var(--nero); color: var(--bianco); border-color: var(--nero); }
.p-archivio__conteggio { font-size: .85rem; font-weight: 600; color: var(--testo-2); }
@media (min-width: 64rem) { .p-archivio__barra .titolo-3 { flex: 0 1 auto; } }
.p-archivio__griglia { display: grid; gap: 1.5rem; margin-top: 2.5rem; }
@media (min-width: 40rem) { .p-archivio__griglia { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64rem) { .p-archivio__griglia { grid-template-columns: repeat(3, 1fr); gap: 1.75rem; } }

.paginazione { margin-top: 3.5rem; }
.paginazione ul { display: flex; justify-content: center; align-items: center; gap: .5rem; flex-wrap: wrap; }
.paginazione a, .paginazione span {
  min-width: 2.75rem; height: 2.75rem; padding: 0 .9rem; display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  border-radius: var(--r-btn); font-size: .92rem; font-weight: 700; text-decoration: none;
}
.paginazione a { border: 1.5px solid var(--nero); transition: background-color var(--t-veloce) var(--ease-out), border-color var(--t-veloce) var(--ease-out); }
.paginazione a:hover { background: var(--giallo); border-color: var(--giallo); }
.paginazione a[aria-current="page"] { background: var(--nero); color: var(--bianco); border-color: var(--nero); }
.paginazione__spento { color: var(--testo-2); border: 1.5px dashed var(--linea); }
.paginazione svg { width: 1.1em; height: 1.1em; }

/* =============================================================
   ARTICOLO
   ============================================================= */
.p-hero-compatto--articolo .display { font-size: clamp(2.4rem, 1.3rem + 4.4vw, 4.2rem); }
.p-hero-compatto--articolo .p-hero-compatto__intro { font-size: clamp(1.1rem, 1rem + .5vw, 1.35rem); line-height: 1.5; color: rgba(255, 255, 255, .9); }
.meta-articolo {
  margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--linea-chiara);
  display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; font-size: .88rem; font-weight: 600; color: var(--testo-su-nero-2);
}
.meta-articolo strong { color: var(--bianco); font-weight: 700; }

.p-copertina { background: linear-gradient(to bottom, var(--nero) 0 50%, var(--bianco) 50% 100%); }
.p-copertina .foto { border-radius: var(--r-card); aspect-ratio: 16 / 9; box-shadow: var(--ombra-video); }
.p-copertina .didascalia { max-width: 42rem; }

.p-articolo { padding-top: clamp(2.5rem, 5vw, 4rem); }
.p-articolo__griglia { display: grid; gap: 2.5rem; }
.p-articolo__lato { display: none; }
.testo-articolo { max-width: 42rem; font-size: 1.125rem; line-height: 1.75; }
.testo-articolo > * + * { margin-top: 1.35em; }
.testo-articolo p { text-wrap: pretty; }
.testo-articolo .attacco { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); line-height: 1.5; font-weight: 500; letter-spacing: -.01em; }
.testo-articolo h2 { margin-top: 2.2em; font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); line-height: 1.15; font-weight: 700; letter-spacing: -.025em; text-wrap: balance; }
.testo-articolo h3 { margin-top: 2em; font-size: 1.3rem; line-height: 1.25; font-weight: 700; letter-spacing: -.015em; text-wrap: balance; }
.testo-articolo h2 + *, .testo-articolo h3 + * { margin-top: .7em; }
.testo-articolo a { font-weight: 600; text-decoration-color: var(--giallo); text-decoration-thickness: 2px; }
.testo-articolo ul { display: grid; gap: .55em; }
.testo-articolo ul li { position: relative; padding-left: 1.6rem; }
.testo-articolo ul li::before { content: ""; position: absolute; left: 0; top: .82em; width: .8rem; height: 3px; background: var(--giallo); }
.testo-articolo blockquote { margin: 2.2em 0 0; padding-top: 1.25rem; position: relative; }
.testo-articolo blockquote::before { content: ""; position: absolute; top: 0; left: 0; width: 3rem; height: 3px; background: var(--giallo); }
.testo-articolo blockquote + * { margin-top: 2.2em; }
.testo-articolo blockquote p { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: clamp(1.9rem, 1.4rem + 1.8vw, 2.7rem); line-height: 1.1; letter-spacing: -.005em; text-wrap: balance; }
.testo-articolo blockquote footer { margin-top: 1rem; font-size: .9rem; font-weight: 700; }
.testo-articolo figure { margin-top: 2.2em; }
.testo-articolo figure + * { margin-top: 2.2em; }
.testo-articolo figure .foto { border-radius: var(--r-card); aspect-ratio: 3 / 2; }
.box-info { padding: 1.5rem 1.75rem; background: var(--giallo); color: var(--nero); border-radius: var(--r-card); font-size: 1rem; line-height: 1.55; }
.box-info__titolo { font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.box-info dl { margin-top: .75rem; display: grid; }
.box-info dl div { display: grid; gap: .1rem; padding: .6rem 0; border-top: 1px solid rgba(11, 11, 11, .2); }
.box-info dt { font-weight: 700; }
.box-info dd { margin: 0; color: var(--testo-su-giallo-2); }
@media (min-width: 30rem) { .box-info dl div { grid-template-columns: 6.5rem 1fr; gap: 1rem; } }

.condividi { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.condividi__titolo { flex: 1 1 100%; font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.condividi a {
  min-height: 2.75rem; display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .95rem;
  border: 1.5px solid var(--nero); border-radius: 999px; font-size: .85rem; font-weight: 700; text-decoration: none;
  transition: background-color var(--t-veloce) var(--ease-out), border-color var(--t-veloce) var(--ease-out);
}
.condividi a:hover { background: var(--giallo); border-color: var(--giallo); }
.condividi svg { width: 1rem; height: 1rem; flex: none; }

.p-articolo__piede { max-width: 42rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 3px solid var(--nero); display: grid; gap: 1.5rem; }
.etichette { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.p-articolo__lato .link-freccia { margin-top: 2rem; font-size: .9rem; }
.p-articolo__lato .link-freccia svg { transform: scaleX(-1); }
.p-articolo__lato .link-freccia:hover svg { transform: scaleX(-1) translateX(4px); }
@media (min-width: 64rem) {
  .p-articolo__griglia { grid-template-columns: 11rem minmax(0, 42rem); justify-content: center; gap: clamp(3rem, 5vw, 5rem); }
  .p-articolo__lato { display: block; position: sticky; top: calc(var(--header-h) + 2rem); align-self: start; }
  .p-articolo__lato .condividi { flex-direction: column; align-items: stretch; }
  .p-articolo__piede .condividi { display: none; }
}

.p-correlate__griglia { display: grid; gap: 1.5rem; margin-top: 2.5rem; }
@media (min-width: 40rem) { .p-correlate__griglia { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64rem) { .p-correlate__griglia { grid-template-columns: repeat(3, 1fr); gap: 1.75rem; } }

/* =============================================================
   DOCUMENTI LEGALI: privacy e cookie
   ============================================================= */
.p-legale__griglia { display: grid; gap: 2.5rem; }
.p-legale__griglia > * { min-width: 0; }
.indice-legale { border-top: 3px solid var(--nero); padding-top: 1.25rem; }
.indice-legale__titolo { font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.indice-legale ol { margin-top: .75rem; counter-reset: voce; }
.indice-legale li { counter-increment: voce; }
.indice-legale a { display: grid; grid-template-columns: 2.1rem 1fr; padding: .5rem 0; font-size: .92rem; font-weight: 600; line-height: 1.35; text-decoration: none; }
.indice-legale a::before { content: counter(voce, decimal-leading-zero); padding-top: .12rem; font-size: .78rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--testo-2); }
.indice-legale a:hover span { text-decoration: underline; text-decoration-color: var(--giallo); text-decoration-thickness: 2px; text-underline-offset: .2em; }

.documento { max-width: 46rem; counter-reset: sezione; }
.documento__sezione { counter-increment: sezione; padding-block: 2.25rem; border-top: 1px solid var(--linea); scroll-margin-top: calc(var(--header-h) + 1rem); }
.documento__sezione:first-child { border-top: 3px solid var(--nero); padding-top: 1.75rem; }
.documento__sezione h2 { display: flex; align-items: baseline; gap: .9rem; font-size: clamp(1.4rem, 1.2rem + .8vw, 1.8rem); font-weight: 700; line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.documento__sezione h2::before { content: counter(sezione); min-width: 1.3ch; font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 1.6em; line-height: .8; }
.documento__sezione > * + * { margin-top: 1rem; }
.documento__sezione p { max-width: 62ch; text-wrap: pretty; }
.documento__sezione a { font-weight: 600; text-decoration-color: var(--giallo); text-decoration-thickness: 2px; }
.scheda-titolare { border: 2px solid var(--nero); border-radius: var(--r-card); padding: .25rem 1.5rem; }
.scheda-titolare .dati { border-top: 0; }
.scheda-titolare .dati__riga:last-child { border-bottom: 0; }
.segnaposto-testo { border: 1.5px dashed var(--nero); border-radius: var(--r-card); padding: 1.25rem 1.5rem; display: grid; gap: .7rem; justify-items: start; }
.segnaposto-testo p { color: var(--testo-2); font-size: .98rem; }
.nota-conferma { background: var(--giallo); color: var(--nero); border-radius: var(--r-card); padding: 1.25rem 1.5rem; display: grid; gap: .6rem; justify-items: start; }
.nota-conferma p { font-size: .98rem; }
.tabella-scorrimento { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tabella-legale { width: 100%; min-width: 34rem; border-collapse: collapse; font-size: .92rem; line-height: 1.45; }
.tabella-legale caption { text-align: left; font-size: .85rem; font-weight: 600; color: var(--testo-2); padding-bottom: .75rem; }
.tabella-legale th { text-align: left; padding: .75rem 1rem .75rem 0; border-bottom: 2px solid var(--nero); font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tabella-legale td { padding: .9rem 1rem .9rem 0; border-bottom: 1px solid var(--linea); color: var(--testo-2); }
.p-legale__chiusura { margin-top: 1rem; background: var(--nero); color: var(--bianco); border-radius: var(--r-card); padding: clamp(1.5rem, 3vw, 2.25rem); display: grid; gap: 1rem; }
.p-legale__chiusura h2 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.8rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
.p-legale__chiusura p { color: var(--testo-su-nero-2); }
.p-legale__chiusura .btn-gruppo { margin-top: .5rem; }
@media (min-width: 60rem) {
  .p-legale__griglia { grid-template-columns: 16rem minmax(0, 46rem); gap: clamp(3rem, 6vw, 6rem); }
  .indice-legale { position: sticky; top: calc(var(--header-h) + 2rem); align-self: start; }
}
