/* =========================================================
   Stili condivisi per le pagine interne
   ========================================================= */

/* ----- Intestazione di pagina (8.x, 10, 12) ----- */
.pagina-intestazione {
  position: relative;
  height: 52vh;
  min-height: 340px;
  max-height: 560px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background: var(--bianco-freddo);
}

.pagina-intestazione img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.pagina-intestazione__testo {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding: clamp(32px, 5vw, 56px) clamp(20px, 5vw, 48px);
}

.pagina-intestazione__testo .occhiello {
  color: var(--bordeaux);
  margin-bottom: 0.6rem;
}

.pagina-intestazione__testo .titolo-grande {
  color: var(--grafite);
  margin-bottom: 0.6rem;
  text-shadow: 0 1px 2px rgba(255, 255, 255, .8);
}

.pagina-intestazione__sottotitolo {
  font-size: 1.125rem;
  color: var(--grigio-testo);
  margin: 0;
  max-width: 62ch;
  text-shadow: 0 1px 2px rgba(255, 255, 255, .8);
}

.pagina-intestazione .pennellata--basso {
  z-index: 1;
}

/* ----- Sezione descrizione del servizio ----- */
.pagina-testo-centro {
  text-align: center;
}

/* Il blocco sta al centro della pagina, ma i paragrafi lunghi si allineano a sinistra:
   sei righe centrate hanno il bordo sinistro a zigzag e si leggono peggio. Titoli e
   righe corte restano centrati. */
.pagina-testo-centro p {
  margin-inline: auto;
  text-align: left;
}

.pagina-testo-centro p.riga-corta,
.pagina-testo-centro .occhiello,
.pagina-testo-centro h1,
.pagina-testo-centro h2,
.pagina-testo-centro h3 {
  text-align: center;
}

/* ----- Sottovoci (militare, calcio) ----- */
.sottovoci__track {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 32px);
}

.sottovoci__track .servizio-card__corpo h3 {
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
}

@media (max-width: 900px) {
  .sottovoci__track {
    grid-template-columns: 1fr;
  }
}

/* ----- Protocollo P.A.F.C. (chi sono) ----- */
.protocollo__griglia {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
}

.protocollo__intro {
  grid-column: 1 / -1;
  max-width: 72ch;
}

.protocollo__intro p {
  max-width: 62ch;
}

.protocollo__schede {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 2.5vw, 24px);
}

.protocollo__card {
  padding: clamp(20px, 2.5vw, 28px);
  background: var(--bianco);
  border: 1px solid var(--bordo);
  border-radius: 16px;
  box-shadow: var(--ombra);
}

.protocollo__lettera {
  font-family: 'IBM Plex Mono', monospace;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
  color: var(--bordeaux);
  line-height: 1;
  margin-bottom: 8px;
}

.protocollo__nome {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}

.protocollo__card p {
  font-size: 1rem;
  margin: 0;
}

.protocollo__media {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--bianco-freddo);
  min-height: 320px;
}

.protocollo__media img,
.protocollo__media video {
  width: 100%;
  height: auto;
  display: block;
}

.protocollo__chiusura {
  grid-column: 1 / -1;
  text-align: center;
  margin-top: 8px;
}

.protocollo__chiusura p {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  color: var(--grafite);
  margin: 0;
  max-width: none;
}

@media (max-width: 900px) {
  .protocollo__griglia {
    grid-template-columns: 1fr;
  }

  .protocollo__media {
    order: -1;
    max-width: 480px;
    margin-inline: auto;
  }
}

@media (max-width: 560px) {
  .protocollo__schede {
    grid-template-columns: 1fr;
  }
}

/* ----- Titoli di studio e dove lavoro (chi sono) ----- */
/* NON USATA OGGI: la tabella dei titoli di studio, scritta per chi-sono.html. Il 2026-08-22 si e' deciso che quel contenuto vive
   nella pagina iniziale, quindi la pagina non esiste. La regola resta perche' il design
   package prevede ancora quella pagina: se non si fara', si cancella. */
.tabella-semplice {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
}

.tabella-semplice th,
.tabella-semplice td {
  padding: 16px 0;
  text-align: left;
  border-bottom: 1px solid var(--bordo);
  vertical-align: top;
}

.tabella-semplice th {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--bordeaux);
  font-weight: 500;
}

.tabella-semplice td {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--grigio-testo);
}

.tabella-semplice td strong {
  color: var(--grafite);
  font-weight: 500;
}

.tabella-semplice .col-anno {
  width: 110px;
  white-space: nowrap;
}

@media (max-width: 560px) {
  .tabella-semplice .col-anno {
    width: 80px;
  }
}

/* ----- Pagina contatti, a tutta pagina ----- */
/* NON USATA OGGI: la pagina contatti a se stante. Il 2026-08-22 si e' deciso che quel contenuto vive
   nella pagina iniziale, quindi la pagina non esiste. La regola resta perche' il design
   package prevede ancora quella pagina: se non si fara', si cancella. */
.contatti-pagina {
  padding-top: 112px;
  min-height: 100vh;
}

/* ----- Rispetto delle animazioni ridotte ----- */
@media (prefers-reduced-motion: reduce) {
  .pagina-intestazione img {
    transform: none;
  }
}

/* =========================================================
   Pagina Allenamento 1:1
   ========================================================= */

/* Intestazione su bianco */
.fascia--all11-intestazione {
  padding-top: calc(var(--altezza-barra) + clamp(48px, 7vw, 96px));
}

.all11-sottotitolo {
  font-size: 1.125rem;
  color: var(--grigio-testo);
  margin: 0;
  max-width: 62ch;
}

/* Fascia foto */
.fascia-foto--all11 {
  height: min(56vh, 460px);
}

/* Descrizione */
.all11-descrizione {
  max-width: 62ch;
  margin-inline: auto;
}

.all11-nota {
  font-size: 0.875rem;
  color: var(--grigio-testo);
  max-width: 62ch;
  margin-inline: auto;
}

/* Le due schede Full Body, uomo e donna, con la riga di introduzione sopra */
.all11-schede {
  display: grid;
  grid-template-columns: minmax(0, 520px);
  justify-content: center;
  gap: clamp(20px, 3vw, 32px);
  text-align: center;
}

.all11-schede > .occhiello,
.all11-schede > .titolo-sezione,
.all11-schede > .all11-schede__intro {
  grid-column: 1 / -1;
}

.all11-schede__intro {
  font-size: 1rem;
  color: var(--grigio-testo);
  margin: 0 auto;
  /* Senza misura la riga si spezzava male in mezzo a "una per lui e una per lei". */
  max-width: 56ch;
}

@media (min-width: 760px) {
  .all11-schede {
    grid-template-columns: repeat(2, minmax(0, 520px));
  }
}

/* Scheda PDF */
.all11-scheda-pdf {
  max-width: 520px;
  width: 100%;
  background: var(--bianco);
  border: 1px solid var(--bordo);
  border-radius: 16px;
  box-shadow: var(--ombra);
  padding: clamp(24px, 4vw, 40px);
  text-align: center;
}

.all11-scheda-pdf__titolo {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: clamp(1.4rem, 3vw, 1.8rem);
  margin: 0 0 0.6rem;
  color: var(--grafite);
}

.all11-scheda-pdf__riga {
  font-size: 1rem;
  color: var(--grigio-testo);
  margin: 0 0 1.2rem;
  max-width: none;
}

/* Dal 13 settembre qui c'e' la copertina vera, estratta dalla prima pagina del PDF.
   Era 168px col bordo tratteggiato perche' era un segnaposto: una copertina vera
   merita di vedersi, e la proporzione e' quella dell'A4, non 3/4. */
.all11-scheda-pdf__copertina {
  aspect-ratio: 210 / 297;
  width: 220px;
  margin: 0 auto 1.2rem;
  border: 1px solid var(--bordo);
  border-radius: 8px;
  overflow: hidden;
  background: var(--bianco);
}

.all11-scheda-pdf__copertina img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.all11-scheda-pdf .bottone {
  margin-bottom: 0.8rem;
}

.all11-scheda-pdf__dettaglio {
  font-size: 0.8125rem;
  color: var(--grigio-testo);
  margin: 0;
  max-width: none;
}

/* Il modulo che prende il posto del bottone quando il PDF si chiede per email.
   Sta dentro la scheda, quindi eredita il testo centrato. */
.scarica {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: auto;
  text-align: left;
}

.scarica__invito {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--grigio-testo);
  max-width: none;
  text-align: center;
}

.scarica__campo {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--grigio-testo);
}

.scarica__campo input {
  font-family: 'Instrument Sans', sans-serif;
  font-size: 1rem;
  text-transform: none;
  letter-spacing: 0;
  color: var(--grafite);
  padding: 12px 14px;
  border: 1px solid var(--bordo);
  border-radius: 10px;
  background: var(--bianco);
}

.scarica__campo input:focus {
  outline: 2px solid var(--bordeaux);
  outline-offset: 2px;
}

/* La casella del consenso: non e' mai pre-spuntata, e si vede che e' facoltativa. */
.scarica__consenso {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--grigio-testo);
}

.scarica__consenso input {
  margin-top: 3px;
  flex: none;
  width: 18px;
  height: 18px;
  accent-color: var(--bordeaux);
}

.scarica__nota {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--grigio-testo);
  max-width: none;
}

.scarica__esito {
  margin: 0;
  font-size: 0.875rem;
  color: var(--bordeaux);
  max-width: none;
  text-align: center;
}

.scarica__esito:empty { display: none; }

/* Social */
.all11-social__invito {
  font-size: 1.0625rem;
  color: var(--grigio-testo);
  margin: 0 0 1.2rem;
  max-width: none;
}

.all11-social__fila {
  display: flex;
  justify-content: center;
  gap: 24px;
}

.all11-social__fila a {
  color: var(--grigio-testo);
  transition: color 220ms ease;
}

.all11-social__fila a:hover {
  color: var(--bordeaux);
}

/* Modulo di contatto */
.all11-contatti__intro {
  max-width: 62ch;
  margin-inline: auto;
}

.all11-form {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-align: left;
}

.all11-form__riga {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.all11-form__campo {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.all11-form__campo label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--grafite);
}

.all11-form__campo input,
.all11-form__campo textarea {
  font-family: 'Instrument Sans', sans-serif;
  font-size: 1rem;
  padding: 12px 14px;
  border: 1px solid var(--bordo);
  border-radius: 10px;
  background: var(--bianco);
  color: var(--grafite);
  resize: vertical;
}

.all11-form__campo input:focus,
.all11-form__campo textarea:focus {
  outline: 2px solid var(--bordeaux);
  outline-offset: 1px;
  border-color: var(--bordeaux);
}

.all11-form .bottone {
  align-self: flex-start;
}

.all11-form__nota {
  font-size: 0.8125rem;
  color: var(--grigio-testo);
  margin: 0;
  max-width: none;
}

@media (max-width: 560px) {
  .all11-form__riga {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .all11-social__fila a {
    transition: none;
  }
}

/* =========================================================
   Pagina Preparazione atletica calcio
   ========================================================= */

/* Intestazione su bianco */
.fascia--calcio-intestazione {
  padding-top: calc(var(--altezza-barra) + clamp(48px, 7vw, 96px));
}

.calcio-sottotitolo {
  font-size: 1.125rem;
  color: var(--grigio-testo);
  margin: 0;
  max-width: 62ch;
}

/* Fascia foto */
.fascia-foto--calcio {
  height: min(56vh, 460px);
}

/* Descrizione */
.calcio-descrizione {
  max-width: 62ch;
  margin-inline: auto;
}

.calcio-nota {
  font-size: 0.875rem;
  color: var(--grigio-testo);
  max-width: 62ch;
  margin-inline: auto;
}

/* Barretta di navigazione appiccicosa */
.calcio-nav {
  position: sticky;
  top: var(--altezza-barra);
  z-index: 10;
  display: flex;
  justify-content: center;
  gap: clamp(16px, 3vw, 32px);
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--bordo);
}

.calcio-nav a {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--grigio-testo);
  text-decoration: none;
  transition: color 220ms ease;
}

.calcio-nav a:hover,
.calcio-nav a.attivo {
  color: var(--bordeaux);
}

/* Sezioni alternate foto/testo */
.calcio-sezione {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: start;
}

.calcio-sezione--invertita .calcio-sezione__foto {
  order: 2;
}

.calcio-sezione--invertita .calcio-sezione__testo {
  order: 1;
}

.calcio-sezione__foto {
  border-radius: 16px;
  overflow: hidden;
}

.calcio-sezione__foto img {
  width: 100%;
  height: auto;
  display: block;
}

.calcio-sezione__testo h2 {
  margin-bottom: 1rem;
}

.calcio-sezione__testo p {
  max-width: 62ch;
  margin-bottom: 1.5rem;
}

@media (max-width: 900px) {
  .calcio-sezione {
    grid-template-columns: 1fr;
  }

  .calcio-sezione--invertita .calcio-sezione__foto,
  .calcio-sezione--invertita .calcio-sezione__testo {
    order: unset;
  }

  .calcio-sezione__foto {
    max-width: 480px;
    margin-inline: auto;
  }
}

/* Rispetto delle animazioni ridotte */
@media (prefers-reduced-motion: reduce) {
  .calcio-nav a {
    transition: none;
  }
}

/* =========================================================
   Pagina Preparazione fisica militare
   ========================================================= */

/* Intestazione su bianco */
.fascia--militare-intestazione {
  padding-top: calc(var(--altezza-barra) + clamp(48px, 7vw, 96px));
}

.militare-sottotitolo {
  font-size: 1.125rem;
  color: var(--grigio-testo);
  margin: 0;
  max-width: 62ch;
}

/* Fascia foto */
.fascia-foto--militare {
  height: min(56vh, 460px);
}

/* Descrizione */
.militare-descrizione {
  max-width: 62ch;
  margin-inline: auto;
}

.militare-nota {
  font-size: 0.875rem;
  color: var(--grigio-testo);
  max-width: 62ch;
  margin-inline: auto;
}

/* Barretta di navigazione appiccicosa */
.militare-nav {
  position: sticky;
  top: var(--altezza-barra);
  z-index: 10;
  display: flex;
  justify-content: center;
  gap: clamp(16px, 3vw, 32px);
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--bordo);
}

.militare-nav a {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--grigio-testo);
  text-decoration: none;
  transition: color 220ms ease;
}

.militare-nav a:hover,
.militare-nav a.attivo {
  color: var(--bordeaux);
}

/* Rispetto delle animazioni ridotte */
@media (prefers-reduced-motion: reduce) {
  .militare-nav a {
    transition: none;
  }
}

/* =========================================================
   Pagina Collaborazione con le societa' di calcio
   ========================================================= */

/* Intestazione su bianco */
.fascia--societa-intestazione {
  padding-top: calc(var(--altezza-barra) + clamp(48px, 7vw, 96px));
}

.societa-sottotitolo {
  font-size: 1.125rem;
  color: var(--grigio-testo);
  margin: 0;
  max-width: 62ch;
}

/* Fascia foto */
.fascia-foto--societa {
  height: min(56vh, 460px);
}

/* Descrizione */
.societa-descrizione {
  max-width: 62ch;
  margin-inline: auto;
}

/* Tre passaggi del servizio */
.societa-passaggi {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 32px);
}

.societa-passaggio {
  padding: clamp(20px, 2.5vw, 28px);
  background: var(--bianco);
  border: 1px solid var(--bordo);
  border-radius: 16px;
  box-shadow: var(--ombra);
}

.societa-passaggio__numero {
  font-family: 'IBM Plex Mono', monospace;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
  color: var(--bordeaux);
  line-height: 1;
  display: block;
  margin-bottom: 12px;
}

.societa-passaggio__titolo {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
  color: var(--grafite);
}

.societa-passaggio__testo {
  font-size: 1rem;
  color: var(--grigio-testo);
  margin: 0;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .societa-passaggi {
    grid-template-columns: 1fr;
  }
}

/* Formule di collaborazione (segnaposto) */
.societa-formule__intro {
  max-width: 62ch;
  margin-inline: auto;
  margin-bottom: clamp(24px, 4vw, 40px);
}

.societa-formule {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 32px);
}

.societa-formula {
  max-width: 520px;
  width: 100%;
  margin-inline: auto;
  background: var(--bianco);
  border: 1px solid var(--bordo);
  border-radius: 16px;
  box-shadow: var(--ombra);
  padding: clamp(24px, 4vw, 40px);
  text-align: center;
  display: flex;
  flex-direction: column;
}

/* I tre testi sono lunghi diversi, ma le schede sono alte uguali: senza questo
   i tre pulsanti finiscono a tre altezze diverse e la fila sembra storta. */
.societa-formula .bottone {
  margin-top: auto;
  align-self: center;
}

.societa-formula__titolo {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: clamp(1.4rem, 3vw, 1.8rem);
  margin: 0 0 0.6rem;
  color: var(--grigio-testo);
}

.societa-formula__riga {
  font-size: 1rem;
  color: var(--grigio-testo);
  margin: 0 0 0.8rem;
  max-width: none;
}

.societa-formule__incluso { max-width: 62ch; margin-inline: auto; margin-bottom: clamp(28px, 4vw, 44px); font-size: 0.95rem; color: var(--grigio-testo); }
.societa-formula__testo { font-size: 1rem; color: var(--grigio-testo); margin: 0 0 1.5rem; max-width: none; }

@media (max-width: 900px) {
  .societa-formule {
    grid-template-columns: 1fr;
  }
}

/* Modulo di contatto */
.societa-contatti__intro {
  max-width: 62ch;
  margin-inline: auto;
}

/* =========================================================
   Pagine legali (privacy, cookie, note legali)
   ========================================================= */

.legale-intestazione {
  padding-top: calc(var(--altezza-barra) + clamp(48px, 7vw, 80px));
  padding-bottom: clamp(32px, 5vw, 56px);
  background: var(--bianco-freddo);
}

.legale-intestazione__testo {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
}

.legale-intestazione__testo .occhiello {
  color: var(--bordeaux);
  margin-bottom: 0.6rem;
}

.legale-intestazione__testo .titolo-grande {
  color: var(--grafite);
  margin-bottom: 0;
}

.legale-corpo {
  max-width: 70ch;
  margin-inline: auto;
  padding: clamp(32px, 5vw, 56px) clamp(20px, 5vw, 48px);
}

.legale-corpo h2 {
  margin-top: clamp(32px, 4vw, 48px);
  margin-bottom: 1rem;
}

.legale-corpo h2:first-child {
  margin-top: 0;
}

.legale-corpo p {
  margin-bottom: 1rem;
  line-height: 1.6;
}

.legale-corpo ul {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

.legale-corpo li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}

.legale-aggiornamento {
  margin-top: clamp(40px, 5vw, 64px);
  padding-top: 24px;
  border-top: 1px solid var(--bordo);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.8125rem;
  color: var(--grigio-testo);
}

/* =========================================================
   Ritmo verticale delle pagine interne
   ========================================================= */

/* Le pagine interne sono fatte di blocchi corti, non di grandi scene come la pagina
   iniziale: col respiro della home (fino a 130px sopra e sotto ogni fascia) fra un
   blocco e l'altro restavano quasi trecento pixel di bianco, e la pagina sembrava
   vuota invece che arieggiata. Qui si stringe di circa un terzo. */
main .fascia {
  padding-block: clamp(52px, 6vw, 88px);
}

/* Due fasce bianche di fila non hanno bisogno del doppio respiro in mezzo. */
main .fascia + .fascia:not(.fascia--grigia) {
  padding-top: clamp(28px, 3.5vw, 48px);
}

/* Subito dopo una fascia di foto il testo puo' cominciare piu' vicino: la pennellata
   fa gia' da stacco. */
main .fascia-foto + .fascia {
  padding-top: clamp(36px, 4.5vw, 64px);
}

/* Nelle sezioni del militare i programmi sono due, non uno: impilati allungavano la
   colonna del testo e lasciavano un vuoto enorme accanto alla foto. Si affiancano da
   soli, senza toccare il segno in pagina: la colonna del testo diventa una griglia a due
   colonne e il titolo col paragrafo la attraversano tutta. Vale solo quando le schede
   sono davvero due, cosi' nel calcio, che ne ha una sola, non cambia niente. */
@media (min-width: 901px) {
  .calcio-sezione__testo:has(.all11-scheda-pdf:nth-of-type(2)) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
  }

  .calcio-sezione__testo:has(.all11-scheda-pdf:nth-of-type(2)) > h2,
  .calcio-sezione__testo:has(.all11-scheda-pdf:nth-of-type(2)) > p {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }

  /* La foto resta accanto al testo mentre si scorre, cosi' la sezione non si sbilancia
     quando il testo e' piu' alto della foto. */
  .calcio-sezione__foto {
    position: sticky;
    top: calc(var(--altezza-barra) + 90px);
  }
}
