/* Washi — strato della sezione «allievo» (16 ott 2026). Un file per ogni giro di pagine, così tre mani non si pestano su app.css. Si legge DOPO app.css. */

/* ============================================================================
   GIRO WASHI · LATO ALLIEVO (16 ott 2026): la logica della scheda socio — si legge, poi si
   modifica — portata pagina per pagina. Qui solo ciò che app.css non ha già: le classi
   condivise (.cv, .matita, .testata, .striscia, .riga, .filtro) restano le sue.
   ============================================================================ */

/* --- la striscia dei numeri sotto una testata, dentro una pila (budopass, presenze) ---------- */
.pila > .mb-striscia { margin-top: 0; }
.pm-striscia { margin-top: 0; }

/* --- i filtri delle notizie: le pastiglie di casa, a sinistra sotto il titolo ---------------- */
.nz-filtro { margin: 0 0 .9rem; }

/* --- le notifiche come righe: la non letta in grassetto su fondo tenue, il «quando» in coda --- */
.riga.nt-riga.un { background: var(--page-tenue); }
.riga.nt-riga.un .riga-titolo { font-weight: 700; }
.nt-quando { font-size: .74rem; color: var(--muted); white-space: nowrap; }
.riga.nt-riga .riga-coda { align-items: center; gap: .4rem; }

/* --- il piede della carta-modulo: «Salva» non perso in fondo ma nel piede, col filo sopra,
       come il piede del foglio (Dichiara*, Chiedi*, Apri un ente) ---------------------------- */
.piede-carta {
  display: flex; justify-content: flex-end; align-items: center; gap: .6rem; flex-wrap: wrap;
  margin: 1.1rem -1.25rem -1.25rem; padding: .9rem 1.25rem; border-top: 1px solid var(--border);
  background: var(--page-tenue); border-radius: 0 0 14px 14px;
}
.piede-carta .etichetta, .piede-carta .spiega { flex: 1 1 14rem; font-size: .85rem; }
.piede-carta .fila-destra { margin: 0; }

/* --- la testa delle notifiche sul telefono: il titolo su una riga sua, i comandi sotto --------- */
@media (max-width: 640px) {
  .nz-head { flex-wrap: wrap; gap: .6rem; }
  .nz-head h1 { flex: 1 1 100%; }
  .nz-head .spazio { flex: 0; }
}

/* --- la scheda del grado / della qualifica nella logica della scheda socio ------------------
       copertina in testa, testata compatta, tessere dei comandi, poi le carte su due colonne da PC --- */
.sg-pagina { max-width: 1040px; }
.sg-pagina > .sg-cop { max-width: 680px; }
.sg-pagina > .testata { margin-top: .2rem; }
.sg-pagina .sg-tessere { max-width: 680px; margin-top: 0; }
.sg-pagina .sg-cond { max-width: 680px; }
.sg-colonne { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 1rem; align-items: start; }
.sg-col { display: grid; gap: 1rem; align-content: start; min-width: 0; }
@media (min-width: 1000px) { .sg-colonne { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.sg-cv .cv-azione > b { display: inline-flex; align-items: center; justify-content: flex-end; }
.sg-privato { display: inline-flex; align-items: center; gap: .3rem; }
.sg-privato svg { width: 13px; height: 13px; }
/* Dentro la Testata il segno del grado è l'avatar: la misura di un volto, non quella della carta. */
.testata-av .sg-token .token-svg { width: 48px; }
.testata-av .sg-token .segno-qualifica { width: 48px; height: 48px; font-size: 1.5rem; }
.testata-sotto .sg-logo.piccolo { width: 22px; height: 22px; border-radius: 6px; font-size: .62rem; }
/* Le carte di firme e storia hanno già il loro corpo a righe: la carta esterna non aggiunge
   padding e la vecchia cornice interna (.sg-carta) sparisce dentro di lei. */
.sg-carta-firme, .sg-carta-storia { padding: 0; }
.sg-carta-firme > .sg-carta, .sg-carta-storia > .sg-carta { border: 0; border-radius: inherit; background: transparent; }
.sg-pagina .sg-gal { margin-top: 0; }

/* --- l'evento lato allievo nella logica della scheda socio ----------------------------------
       la locandina come banner, la testata compatta, le carte su due colonne da PC ------------ */
.evp { max-width: 1040px; }
.ev-banner { overflow: hidden; }
.ev-banner .ev-cover { border-radius: inherit; }
.ev-banner .ev-cover.senza-titolo { min-height: 150px; cursor: zoom-in; }
.ev-banner .ev-cover.senza-titolo:not(.con-img) { cursor: default; }
.evp > .testata { margin-top: 1rem; }
.evp > .ev-stato { margin-bottom: 1rem; }
.evp-colonne { display: grid; grid-template-columns: 1fr; gap: 1rem; align-items: start; }
.evp-col { display: grid; gap: 1rem; align-content: start; min-width: 0; }
@media (min-width: 1000px) { .evp-colonne { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.evp .carta > .ev-rolo:first-child, .evp .carta > .ev-sess:first-child, .evp .carta > .ev-doc:first-child, .evp .carta > .ev-req:first-child { padding-top: 0; }
.evp .carta > .ev-rolo:first-child { border-top: 0; }
.evp .carta > .sg-gal { margin-top: 0; }
.testata-sotto .risalto { color: var(--text); font-weight: 600; }

/* --- «Le mie affiliazioni»: una carta per ente, il logo e i fatti dell'ente in testa al corpo --- */
.aff-testa { display: flex; align-items: center; gap: .8rem; }
.aff-testa .iniziali { width: 40px; height: 40px; flex: 0 0 40px; font-size: .85rem; }
.aff-testa-corpo { min-width: 0; display: grid; gap: .15rem; }
.aff-testa + .aff-discipline { margin-top: .9rem; }
