/* AssoFacile — delta CSS del nuovo restyling (AssoFacile_CSS_Delta_Sviluppo_v2.css), SEZIONI B e C
   riportate tali e quali. Unica modifica: la regola @media print del §7 (vedi nota sul posto).
   La SEZIONE A del file originale è solo documentazione (mappatura classi) e non contiene regole. */

/* ============================================================================
   SEZIONE B — DELTA DA AGGIUNGERE A base.css (o file modulo eventi.css)
   Componenti che il gestionale non ha ancora. Convenzioni base.css rispettate.
   ============================================================================ */

/* ---- 1. Interruttore on/off (regole, notifiche, template) ---- */
.interruttore{position:relative;display:inline-block;width:44px;height:24px;vertical-align:middle;}
.interruttore input{opacity:0;width:0;height:0;}
.interruttore i{position:absolute;inset:0;background-color:#C2CED3;border-radius:24px;cursor:pointer;transition:background .2s;}
.interruttore i:before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;}
.interruttore input:checked + i{background-color:#2E9E5B;}
.interruttore input:checked + i:before{transform:translateX(20px);}

/* ---- 2. Calendario settimanale (colonne giorno + blocchi evento) ---- */
.cal_settimana{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.cal_giorno{background:#fff;border:1px solid #D9D9D9;border-radius:8px;min-height:160px;padding:4px;}
.cal_giorno .intesta_giorno{background:#4D7CFE;color:#fff;text-align:center;border-radius:6px;padding:4px 2px;font-weight:600;margin-bottom:4px;}
.cal_blocco{color:#fff;border-radius:6px;padding:5px 7px;margin-bottom:4px;font-size:85%;cursor:pointer;line-height:1.25;}
.cal_blocco.pieno{outline:2px solid #C0392B;}
.cal_blocco.annullato{opacity:.45;text-decoration:line-through;}
.cal_blocco .orario{font-weight:bold;margin-right:4px;}
/* colore di sfondo del blocco = colore della tipologia (inline style dal dato) */

/* ---- 3. Griglia slot campi (prenotazioni risorse) ---- */
.griglia_slot{display:flex;flex-wrap:wrap;gap:6px;}
.slot_campo{border:1.5px solid #4D7CFE;border-radius:8px;background:#fff;color:#4D7CFE;min-width:76px;padding:6px 4px;text-align:center;cursor:pointer;font-size:90%;}
.slot_campo:hover{background:#F0F5FF;}
.slot_campo.fascia_peak{border-color:#F39200;color:#d26600;}
.slot_campo.occupato{background:#EEF1F6;border-color:#C2CED3;color:#6B7280;cursor:default;}
.slot_campo.mio{background:#4D7CFE;border-color:#00228E;color:#fff;}

/* ---- 4. Barra credito (wallet / carnet residuo) ---- */
.barra_credito{position:relative;background:#C2CED3;border-radius:8px;height:12px;overflow:hidden;}
.barra_credito span{position:absolute;left:0;top:0;bottom:0;background:#2E9E5B;border-radius:8px;}
.barra_credito.in_esaurimento span{background:#F39200;}

/* ---- 5. Chip filtro attivabile (layer calendario, filtri elenco) ---- */
.chip_filtro{display:inline-block;border:1.5px solid #C2CED3;border-radius:20px;background:#fff;color:#6B7280;padding:3px 12px;font-size:90%;cursor:pointer;transition:all .15s;}
.chip_filtro .pallino{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:baseline;}
.chip_filtro.attivo{border-color:#4D7CFE;background:#F0F5FF;color:#00228E;font-weight:600;}

/* ---- 6. Passi del wizard (creazione corso) ---- */
.passi_wizard{display:flex;gap:4px;margin:0.5em 0;}
.passi_wizard span{flex:1;height:6px;border-radius:4px;background:#C2CED3;}
.passi_wizard span.fatto{background:#4D7CFE;}
.piede_wizard{position:sticky;bottom:0;background:#fff;border-top:1px solid #D9D9D9;padding:0.5em;text-align:right;}

/* ---- 7. Foglio di stampa (ricevute, scheda RASD, registro firme) ---- */
.foglio_stampa{background:#fff;border:1px solid #D9D9D9;border-radius:8px;padding:1.5em;font-size:95%;}
.foglio_stampa .titolo_foglio{text-align:center;color:#4D7CFE;font-weight:bold;font-size:130%;text-transform:uppercase;margin:0.5em 0;}
.foglio_stampa .riga_firma{border-bottom:1px solid #999;min-width:200px;display:inline-block;}
/* [portale agenti] regola di stampa limitata alle pagine che contengono un .foglio_stampa:
   nella versione originale ogni pagina SENZA .foglio_stampa veniva stampata vuota, e venivano
   nascosti anche i contenitori del foglio (quindi il foglio stesso, se non è figlio diretto di body). */
@media print{.foglio_stampa{border:none;} body:has(.foglio_stampa) *:not(.foglio_stampa):not(.foglio_stampa *):not(:has(.foglio_stampa)){display:none;}}

/* ---- 8. Posizione lista d'attesa / stato prenotazione ---- */
.stato_turno{display:inline-block;border-radius:12px;padding:1px 10px;font-size:85%;font-weight:600;background:#F0F5FF;color:#00228E;}
.stato_turno.attesa{background:#FFF4E0;color:#d26600;}
.stato_turno.noshow{background:#FDECEA;color:#C0392B;}

/* ---- 9. Camp: fascia colorata a sinistra delle card ---- */
/* Usata su card camp, blocco "Camp oggi", card famiglia e tessera KPI del Cruscotto:
   il colore arriva dal dato (tipologia del camp), quindi resta inline. */
.riquadro.bordo_tipologia{border-left-width:4px;border-left-style:solid;}

/* ---- 10. Camp: riepilogo a chip di una giornata ---- */
/* "18 attesi · 16 entrati · 2 non ancora arrivati · 3 uscite anticipate":
   riusa .stato_turno per i singoli chip, questa è solo la riga che li contiene. */
.riga_chip{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.riga_chip .a_destra{margin-left:auto;}

/* ============================================================================
   SEZIONE C — INTERVENTI SU base.css (non componenti nuovi, correzioni)
   Emersi durante lo sviluppo del mockup fino alla v3.24. Vanno verificati sul
   gestionale reale: se base.css ha lo stesso comportamento, ha lo stesso difetto.
   ============================================================================ */

/* ---- C1. Campi data e ora nelle griglie di form  [BUG VERIFICATO] ----
   Sintomo: nei form a colonne i campi <input type="date"> si sovrappongono al
   campo accanto (visibile nel filtro "Dal / Al" del registro ricevute).
   Causa: due concause, servono entrambe le correzioni.
   a) la regola che dà width:100% agli input elenca i tipi uno per uno e NON
      include date/time: quei campi usano la larghezza intrinseca del browser;
   b) in flex/grid la dimensione minima di un elemento è il suo contenuto, quindi
      la colonna non si comprime e il campo sfonda.
   Da verificare in base.css: se la regola input elenca i tipi, aggiungerli. */
input[type=date],input[type=time],input[type=email],input[type=tel],input[type=search]{
  width:100%; min-width:0;   /* stessa resa degli altri campi del form */
}
.no_float_mobile.due > *,
.no_float_mobile.tre > *,
.no_float_mobile.quattro > *{min-width:0;}   /* consente alla colonna di comprimersi */

/* ---- C2. Contrasto del rosa sui testi  [ACCESSIBILITÀ AA] ----
   #E91E63 su bianco dà 4,35:1 — sotto la soglia AA di 4,5:1 per il testo normale
   (misurato sul link "cambia password", 13,5px).
   Il rosa pieno resta valido come colore di SFONDO (contrasto calcolato sul bianco
   del testo sopra); va scurito solo quando è il colore del testo. */
.subbar .dx .utente a,
.subbar .dx .super{color:#C2185B;}   /* 5,87:1 — AA */

/* ---- C3. Barra dei tab della scheda ----
   La scheda camp ha 9 tab (Anagrafica, Settimane, Iscritti, Servizi, Check-in,
   Mensa, Gruppi, Animatori, Documenti): oltre le ~6 dei corsi la barra sfora.
   Se .tab_interna è flex, va aggiunto flex-wrap; se è inline-block va già a capo. */
.tab_interna{flex-wrap:wrap;}

/* ---- C4. Badge contatori ----
   10px è sotto la soglia di leggibilità: portare a 11–12px senza toccare il resto. */
.cerchietto_menu,.badge_novita{font-size:11.5px;}

/* ============================================================================
   NOTA SUGLI STILI INLINE
   Il mockup usa ~1100 attributi style="". Due categorie, da trattare diversamente:
   - VALORE DAL DATO (~60): colore della tipologia su card, blocchi calendario e
     bordi. Restano inline anche in produzione: il colore è un dato, non uno stile.
   - MICRO-SPAZIATURE (il resto): margin-top, text-align, display:flex ripetuti.
     NON vanno portati: sono aggiustamenti del mockup, in produzione li assorbono
     le utility e i margini di default di base.css.
   ============================================================================ */
