/* ==========================================================
   Repeto — ritocchi per telefono (≤ 720px)
   Caricato dopo lo <style> di ogni pagina: a parità di selettore vince questo.
   Obiettivi: nessun testo sotto i 13px, corpo a 17px, meno vuoto tra le sezioni.
   Se modifichi questo file, aumenta ?v= nel <link> delle pagine
   (gli /assets/ sono in cache immutabile, vedi _headers).
   ========================================================== */

@media (max-width: 720px) {

  /* ---------- Base ---------- */
  html, body { font-size: 17px; line-height: 1.6; }

  .wrap,
  .wrap-narrow { padding: 0 1.25rem; }

  /* ---------- Header e menu ---------- */
  header.site .row { padding: 0.7rem 1.25rem; }
  header.site nav ul { padding: 0.5rem 1.25rem 1.25rem; gap: 0; }
  header.site nav a {
    display: block;
    font-size: 1.1rem;
    padding: 0.7rem 0;
    color: var(--ink);
    border-bottom: 1px solid var(--rule);
  }
  header.site nav li:last-child a { border-bottom: none; }

  /* ---------- Spazi verticali ---------- */
  section { padding: 2.5rem 0; }

  .hero { padding: 2.5rem 0 2.75rem; }
  .page-header { padding: 2.5rem 0 1.25rem; }
  .event-hero { padding-top: 2.5rem; }
  .numbers { padding: 2.25rem 0; }
  .numbers .row { gap: 1.5rem; }

  .quote-band,
  .claim-band,
  .crosslink,
  .back-cta,
  .final-cta,
  .post-note { padding: 2.75rem 0; }

  .hero-image { padding-bottom: 2rem; }
  .legal { padding: 1rem 0 3rem; }

  .section-head { margin-bottom: 1.5rem; }
  .section-head .kicker { margin-bottom: 0.6rem; }

  .hero .eyebrow { margin-bottom: 1.25rem; }
  .hero h1 { margin-bottom: 1.25rem; }
  .hero .lede { margin-bottom: 1.75rem; }

  .about .kicker { margin-bottom: 1rem; }
  .about .claim { margin-bottom: 1.75rem; }
  .about .closing-claim { margin: 1.75rem auto 1.5rem; }

  .method ol { gap: 0; }
  .method ol li { padding: 0.9rem 0; }

  .cards .grid { gap: 1rem; }
  .cards .card,
  .audience .card { padding: 1.4rem 1.25rem 1.5rem; }
  .days .card { padding: 1.3rem 1.2rem 1.4rem; }
  .step { padding: 1.4rem 1.25rem; }

  .contact .contact-fallback { margin-top: 2rem; padding-top: 1.5rem; }

  footer.site { padding: 2.25rem 0 2rem; }
  footer.site .layout { gap: 1.5rem; margin-bottom: 1.5rem; }

  /* ---------- Testi correnti: 17px ---------- */
  .about .body,
  .cards .card p,
  .event-banner .text p,
  .method ol li span,
  .numbers .lbl,
  .audience .card p,
  .days .card p,
  .days .note,
  .doctrine .refs,
  .program p,
  .person .bio,
  .step ul li,
  .track p,
  .where p,
  .why .stat .lbl,
  .stadium .small,
  .incampo-head .hint,
  .org .meta,
  .legal .toc,
  .page-header .updated { font-size: 1rem; line-height: 1.6; }

  /* ---------- Link e pulsanti: 16px, area di tocco ≥ 44px ---------- */
  .about .more,
  .cards .card .arrow,
  .event-banner .text .arrow,
  .where a.maps { font-size: 0.95rem; }

  .hero .cta,
  .event-hero .cta,
  .final-cta .cta,
  .crosslink a,
  .back-cta a,
  form button {
    font-size: 0.95rem;
    min-height: 48px;
    padding: 0.8rem 1.5rem;
  }

  /* ---------- Etichette maiuscole: da 12px a 13.5px ---------- */
  .kicker,
  .section-head .kicker,
  .about .kicker,
  .cards .card .kicker,
  .event-banner .text .kicker,
  .team .section-head .kicker,
  .hero .eyebrow,
  .page-header .eyebrow,
  .event-hero .eyebrow,
  .focus .focus-tag,
  .legal .toc-label,
  .post-note .box .label,
  .track .n,
  .method-detail .unit-meta,
  footer.site h4 { font-size: 0.8rem; letter-spacing: 0.12em; }

  /* in progetto.html questa etichetta ha lo stile inline */
  .partner .kicker { font-size: 0.8rem !important; letter-spacing: 0.12em !important; }

  .program .tag { font-size: 0.75rem; letter-spacing: 0.08em; }

  /* ---------- Testi secondari: almeno 15px ---------- */
  .chips .chip,
  .days .card .hours,
  .program .time,
  .person .role,
  .quote-band blockquote footer,
  form label,
  form .status { font-size: 0.9rem; }

  form input,
  form textarea { font-size: 1rem; } /* 17px: evita anche lo zoom automatico di iOS */

  /* ---------- Footer ---------- */
  footer.site { font-size: 0.9rem; }
  footer.site ul li { margin-bottom: 0.55rem; }
  footer.site .legal,
  footer.site .legal-row { font-size: 0.8rem; }
}
