/* Pagine senza un layout nel design: News ed Eventi, articolo, Contatti, Iscrizione, 404. */
@layer sections {
  .news-page__inner, .articolo-altre__inner { display: flex; flex-direction: column; gap: 32px; }
  .news-filters { display: flex; flex-direction: column; gap: 12px; }
  .news-filters .chip { font-size: 15px; font-weight: 500; padding: 10px 18px; }

  .articolo__inner { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
  .articolo__main { flex: 999 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
  .articolo__media { height: clamp(240px, 32vw, 440px); }
  .articolo__info {
    flex: 1 1 280px; max-width: 360px; position: sticky; top: 24px;
    display: flex; flex-direction: column; gap: 20px; padding: 24px;
    border-radius: var(--radius-l); background: var(--color-surface); box-shadow: inset 0 0 0 1px var(--color-line);
  }
  .articolo__date { display: flex; align-items: center; gap: 14px; }
  .articolo__day {
    width: 64px; height: 64px; flex: none; display: flex; align-items: center; justify-content: center;
    border-radius: var(--radius-m); background: var(--color-primary); color: #fff; font-weight: 800; font-size: 28px;
  }
  .articolo__month { font-weight: 700; font-size: 18px; text-transform: capitalize; }
  .articolo__list { margin: 0; display: grid; gap: 4px; font-size: 15px; & dt { font-size: 13px; font-weight: 600; color: var(--color-muted-text); } & dd { margin: 0 0 10px; } }
  .articolo-altre { padding-bottom: var(--section-space); }
  @media (max-width: 767px) {
    .articolo__info { position: static; max-width: none; }
  }

  .form-box--stack { grid-template-columns: 1fr; }
  .contatti__grid { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
  .contatti__grid .form-box { flex: 999 1 560px; }
  .contatti .form__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
  .contatti__info {
    flex: 1 1 280px; display: flex; flex-direction: column; gap: 20px; padding: 24px;
    border-radius: var(--radius-l); background: var(--color-surface); box-shadow: inset 0 0 0 1px var(--color-line);
  }
  .contatti__info-title { font-weight: 700; font-size: 24px; letter-spacing: -0.03em; }
  .contatti__manager { display: flex; flex-direction: column; gap: 2px; padding-top: 16px; border-top: 1px solid var(--color-line); font-size: 15px; & span { font-size: 13px; color: var(--color-muted-text); } }

  /* "Come funziona": passi numerati in riga (pagina per le attività) */
  .passi { padding-top: 56px; }
  .passi__title { margin-bottom: 20px; font-weight: 700; font-size: 24px; letter-spacing: -0.03em; }
  .passi__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; counter-reset: none; }
  .passi__item {
    display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; align-items: start; padding: 20px;
    border-radius: var(--radius-l); background: var(--color-surface); box-shadow: inset 0 0 0 1px var(--color-line);
  }
  .passi__num {
    width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: var(--color-accent); color: var(--color-on-accent); font-weight: 800; font-size: 15px;
  }
  .passi__text { display: flex; flex-direction: column; gap: 4px; & strong { font-size: 18px; letter-spacing: -0.02em; } & span { font-size: 15px; color: var(--color-ink-soft); } }
  @media (max-width: 767px) { .passi { padding-top: 40px; } }

  /* Domande frequenti (accordion) */
  .faq { padding-top: 0; }
  .faq__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 32px 64px; align-items: start; }
  .faq__head { display: flex; flex-direction: column; gap: 16px; }
  .faq__answer { padding-bottom: 20px; font-size: 17px; line-height: 1.55; color: var(--color-ink-soft); max-width: 680px; }
  @media (max-width: 900px) { .faq__grid { grid-template-columns: 1fr; } }

  .iscrizione .form-box { max-width: 960px; margin-inline: auto; }

  .pagina-404 { display: flex; gap: 12px; flex-wrap: wrap; }
}
