/* Percorso di iscrizione a passi (/iscrizioni). Colori, larghezza, angoli e colonne arrivano dalle impostazioni
   di ogni passo come proprieta' --iscr-* sul contenitore .iscr (vedi App\Iscrizioni\Passi::stile). */
.iscr{background:var(--iscr-sfondo,var(--soft));padding:32px 0 64px}
/* l'attributo hidden (usato dagli script per mostrare/nascondere) deve vincere su display:flex/grid delle classi */
.iscr [hidden],.iscr-avviso-pag [hidden],.iscr-comuni-fin [hidden]{display:none!important}
.iscr-wrap{max-width:var(--iscr-larg,1104px);margin:0 auto;padding:0 20px}
.iscr-titolo{margin:8px 0 24px}

/* barra dei passaggi */
.iscr-passi{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;margin:0 0 28px;padding:0;counter-reset:none}
.iscr-passi li{display:flex;align-items:center;gap:10px;color:var(--mute);font-weight:600;font-size:.95rem}
.iscr-passi li+li::before{content:"";width:28px;height:2px;background:var(--line);margin-right:0;margin-left:-18px}
.iscr-passi-num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:2px solid var(--line);background:var(--iscr-card,#fff);font-size:.95rem}
.iscr-passi li.attivo{color:var(--ink)}
.iscr-passi li.attivo .iscr-passi-num{background:var(--iscr-colore);border-color:var(--iscr-colore);color:var(--iscr-colore-testo,#fff)}
.iscr-passi li.fatto .iscr-passi-num{border-color:var(--iscr-colore);color:var(--iscr-colore)}
.iscr-passi a{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.iscr-passi a:hover .iscr-passi-nome{color:var(--iscr-colore);text-decoration:underline}
.iscr-passi a:hover .iscr-passi-num{background:color-mix(in srgb,var(--iscr-colore) 10%,#fff)}

.iscr-intro{max-width:none;margin:0 0 24px}
.iscr-nota{max-width:none;margin:28px 0 0;font-size:.92rem;color:var(--mute)}
.iscr-avviso{margin:0 0 20px;padding:14px 18px;border:2px solid #d99a00;background:#fff7e6;border-radius:var(--iscr-raggio,14px);font-weight:600}

/* blocchi del modulo */
.iscr-modulo{display:flex;flex-direction:column;gap:24px}
.iscr-blocco{margin:0;min-width:0;padding:24px;border:1px solid var(--line);border-radius:calc(var(--iscr-raggio,14px) + 6px);background:var(--iscr-card,#fff);box-shadow:0 1px 2px rgba(36,32,42,.04),0 8px 24px rgba(36,32,42,.05)}
[data-se]{scroll-margin-top:110px}   /* blocco che compare (iscrizioni.js lo porta in alto): resta sotto l'intestazione fissa del sito */
.iscr-domanda{display:flex;align-items:center;gap:12px;float:left;width:100%;margin:0 0 18px;padding:0;font-size:1.25rem;font-weight:700;color:var(--ink)}
/* il titolo (legend) e' flottante per stare dentro il riquadro: tutto il resto del blocco va SOTTO, a tutta larghezza */
.iscr-blocco>:not(legend),.iscr-griglia{clear:both}
.iscr-num{flex:none;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--iscr-colore);color:var(--iscr-colore-testo,#fff);font-size:1.05rem}
.iscr-gruppo{clear:both;margin:18px 0 10px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
.iscr-domanda+.iscr-gruppo,.iscr-sedi .iscr-gruppo{margin-top:0}

/* passo 1: gruppi «Lezioni individuali» / «Lezioni collettive», ciascuno nel suo riquadro tinto
   (individuali = colore principale, collettive = colore d'accento del sito) */
.iscr-modalita{--mod:var(--iscr-colore);clear:both;padding:18px;border-radius:calc(var(--iscr-raggio,14px) + 4px);background:color-mix(in srgb,var(--mod) 6%,var(--iscr-card,#fff));border:1px solid color-mix(in srgb,var(--mod) 22%,var(--line));border-left:5px solid var(--mod)}
.iscr-modalita-coll{--mod:var(--accent)}
.iscr-modalita+.iscr-modalita{margin-top:18px}
.iscr-modalita-t{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:1.15rem;font-weight:800;letter-spacing:.01em;color:var(--ink)}
.iscr-modalita-icona{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--mod);color:var(--iscr-colore-testo,#fff)}
.iscr-modalita-coll .iscr-modalita-icona{color:#2b2230}
.iscr-modalita-n{margin-left:auto;padding:3px 12px;border-radius:99px;font-size:.78rem;font-weight:700;background:var(--iscr-card,#fff);border:1px solid color-mix(in srgb,var(--mod) 35%,var(--line));color:var(--mute);white-space:nowrap}

/* riquadri da scegliere */
.iscr-griglia{display:grid;grid-template-columns:repeat(var(--iscr-colonne,3),minmax(0,1fr));gap:12px}
.iscr-scelta{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:14px 44px 14px 16px;border:2px solid var(--line);border-radius:var(--iscr-raggio,14px);background:var(--iscr-card,#fff);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.iscr-scelta:hover{border-color:color-mix(in srgb,var(--iscr-colore) 45%,var(--line));transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--iscr-colore) 14%,transparent)}
.iscr-scelta input{position:absolute;opacity:0;pointer-events:none}
.iscr-scelta:has(input:checked){border-color:var(--iscr-colore);background:color-mix(in srgb,var(--iscr-colore) 6%,var(--iscr-card,#fff));box-shadow:0 0 0 3px color-mix(in srgb,var(--iscr-colore) 18%,transparent)}
.iscr-scelta:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.iscr-scelta-img{flex:none;width:56px;height:56px;border-radius:calc(var(--iscr-raggio,14px) - 4px);overflow:hidden;background:var(--soft)}
.iscr-scelta-img img{width:100%;height:100%;object-fit:cover;display:block}
.iscr-scelta-testo{display:flex;flex-direction:column;min-width:0}
.iscr-scelta-t{font-weight:700;line-height:1.25}
.iscr-scelta-s{color:var(--mute);font-size:.88rem;line-height:1.35}
.iscr-scelta-ind{font-size:.82rem}
/* corsi sperimentali: nota sotto le sedi (passo 1) e sotto il corso scelto (passo 2) */
.iscr-nota-sper{margin:10px 0 0;font-size:.88rem;opacity:.85}
.iscr-sper-riga{margin-top:8px;font-weight:600}
.iscr-sper-riga a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.iscr-spunta{position:absolute;top:50%;right:14px;width:22px;height:22px;margin-top:-11px;border-radius:50%;border:2px solid #cfc6d4;background:#fff;transition:all .2s}
.iscr-scelta:has(input:checked) .iscr-spunta{border-color:var(--iscr-colore);background:var(--iscr-colore);box-shadow:inset 0 0 0 4px #fff}

/* sedi: con JavaScript si vedono solo quelle della disciplina scelta */
.iscr-sedi+.iscr-sedi{margin-top:22px}
.iscr-js .iscr-sedi{display:none}
.iscr-js .iscr-sedi.visibile{display:block}
.iscr-js .iscr-sedi-nome{display:none}
.iscr-attesa{margin:0;color:var(--mute)}
.iscr-js .iscr-attesa:not([hidden]){display:block}

/* passo 1, card 3: posti disponibili (verde) o esauriti (rosso) */
.iscr-posti-esito{display:flex;align-items:flex-start;gap:16px;padding:18px 20px;border-radius:var(--iscr-raggio,14px);border:2px solid #2e8b4a;background:#eef8f0}
.iscr-posti-no{border-color:#c0392b;background:#fdeeee}
.iscr-posti-icona{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#2e8b4a;color:#fff}
.iscr-posti-no .iscr-posti-icona{background:#c0392b}
.iscr-posti-attesa{border-color:#d99a00;background:#fff7e6}
.iscr-posti-attesa .iscr-posti-icona{background:#d99a00}
.iscr-posti-azione{margin:12px 0 0!important}
.iscr-pulsante.iscr-pulsante-attesa{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:1rem;padding:12px 26px;min-height:48px}
.iscr-pulsante.iscr-pulsante-attesa:hover{text-decoration:none}
.iscr-posti-esito p{margin:0 0 4px}
.iscr-posti-esito .prose{max-width:none}
.iscr-posti-t{font-size:1.15rem;font-weight:700}
.iscr-esaurito{align-self:flex-start;margin-bottom:4px;padding:1px 10px;border-radius:99px;background:#c0392b;color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}

.iscr-azioni{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}
.iscr-azioni .iscr-pulsante-indietro{margin-right:auto}
/* varianti con doppia classe: devono vincere su .iscr-pulsante (definita dopo), altrimenti testo bianco su sfondo chiaro */
.iscr-pulsante.iscr-pulsante-indietro{display:inline-flex;align-items:center;text-decoration:none;background:transparent;color:var(--iscr-colore);border:2px solid color-mix(in srgb,var(--iscr-colore) 45%,var(--line))}
.iscr-pulsante.iscr-pulsante-indietro:hover{background:color-mix(in srgb,var(--iscr-colore) 10%,#fff);color:var(--iscr-colore);border-color:var(--iscr-colore);filter:none;text-decoration:none}
.iscr-pulsante{font:inherit;font-size:1.1rem;font-weight:700;padding:16px 36px;min-height:56px;border:0;border-radius:99px;background:var(--iscr-colore);color:var(--iscr-colore-testo,#fff);cursor:pointer;transition:filter .2s,opacity .2s}
.iscr-pulsante:hover{filter:brightness(1.1)}
.iscr-pulsante:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.iscr-pulsante[aria-disabled="true"]{opacity:.45;cursor:not-allowed;filter:none}

/* iscrizioni chiuse / riepilogo */
.iscr-chiuse{padding:40px 28px;text-align:center;border:1px solid var(--line);border-radius:calc(var(--iscr-raggio,14px) + 6px);background:var(--iscr-card,#fff)}
.iscr-chiuse h2{margin:0 0 12px}
.iscr-chiuse .prose{margin:0 auto}
.iscr-indietro{color:var(--iscr-colore);font-weight:600}

/* passo 2: scelta fatta al passo 1, durate, casella della residenza */
.iscr-scelto{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:0 0 24px;padding:14px 20px;border:1px solid var(--line);border-left:4px solid var(--iscr-colore);border-radius:var(--iscr-raggio,14px);background:var(--iscr-card,#fff)}
.iscr-scelto-et{display:block;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
/* passo 3 con il codice: nome ed email dell'allievo sotto il codice */
.iscr-allievo{display:block;margin-top:4px;font-weight:600}
.iscr-allievo-email{display:block;color:var(--mute);overflow-wrap:anywhere}
.iscr-griglia-durate{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.iscr-scelta-casella .iscr-spunta{border-radius:6px}
.iscr-scelta-casella:has(input:checked) .iscr-spunta{box-shadow:none}
.iscr-scelta-casella:has(input:checked) .iscr-spunta::after{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
.iscr-aiuto{max-width:none;margin:12px 0 0;font-size:.92rem;color:var(--mute)}

/* passo 2: risultato del calcolo (e' anche il PDF, vedi @media print qui sotto) */
.iscr-quota{margin-top:32px;border-radius:calc(var(--iscr-raggio,14px) + 8px);background:var(--iscr-card,#fff);overflow:hidden;border:1px solid var(--line);box-shadow:0 2px 4px rgba(36,32,42,.05),0 22px 50px color-mix(in srgb,var(--iscr-colore) 16%,transparent);transition:opacity .2s}
.iscr-quota:focus{outline:none}
.iscr-quota.superato .iscr-quota-corpo,.iscr-quota.superato .iscr-quota-testa{opacity:.45}
.iscr-quota-testa{display:flex;align-items:center;gap:20px;padding:26px 30px;color:var(--iscr-colore-testo,#fff);background:linear-gradient(120deg,var(--iscr-colore),color-mix(in srgb,var(--iscr-colore) 62%,#24202a))}
.iscr-quota-logo{flex:none;display:grid;place-items:center;width:84px;height:84px;padding:10px;border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.iscr-quota-logo img{max-width:100%;max-height:100%;object-fit:contain}
.iscr-quota-sopra{margin:0 0 4px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.iscr-quota-testa h2{margin:0;color:inherit;font-size:1.7rem;line-height:1.2}
.iscr-quota-corpo{padding:28px 30px 8px}
.iscr-quota-dati{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 22px}
.iscr-quota-dati div{padding:10px 14px;border-radius:var(--iscr-raggio,14px);background:color-mix(in srgb,var(--iscr-colore) 5%,#fff);border:1px solid color-mix(in srgb,var(--iscr-colore) 12%,var(--line))}
.iscr-quota-dati .largo{grid-column:1/-1}
.iscr-quota-dati dt{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
.iscr-quota-dati dd{margin:2px 0 0;font-weight:600}
.iscr-quota-totale{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 22px;margin:0 0 16px;border-radius:var(--iscr-raggio,14px);border:2px dashed color-mix(in srgb,var(--iscr-colore) 45%,var(--line))}
.iscr-quota-totale span{font-weight:700;font-size:1.05rem}
.iscr-quota-totale strong{font-size:2.3rem;line-height:1;color:var(--iscr-colore);font-variant-numeric:tabular-nums}
.iscr-quota-rate{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0 0 16px}
.iscr-rata{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--iscr-raggio,14px);background:color-mix(in srgb,var(--accent) 14%,#fff);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line))}
.iscr-rata>div{flex:1;min-width:0}
.iscr-rata-num{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--iscr-colore);color:var(--iscr-colore-testo,#fff);font-weight:700}
.iscr-rata-quando{display:block;font-weight:700}
.iscr-rata-nota{display:block;font-size:.88rem;color:var(--mute)}
.iscr-rata strong{font-size:1.35rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.iscr-quota-testo{max-width:none;margin:0 0 16px;font-size:.95rem}
.iscr-quota-piede{display:flex;justify-content:space-between;gap:6px 20px;flex-wrap:wrap;margin:8px 30px 0;padding:14px 0;border-top:1px solid var(--line);font-size:.8rem;color:var(--mute)}
.iscr-quota-azioni{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 30px 26px}
.iscr-quota-azioni .iscr-pulsante-link{margin-right:auto}
.iscr-pulsante-link,.iscr-pulsante-indietro{justify-content:center}
.iscr-pulsante-link{display:inline-flex;align-items:center;text-decoration:none;background:var(--accent);color:#2b2230}
.iscr-pulsante-link:hover{text-decoration:none}
.iscr-superato{margin:0;padding:0 30px 24px;font-weight:600;color:#9a6a00}

@media (max-width:900px){.iscr-griglia{grid-template-columns:repeat(min(var(--iscr-colonne,3),2),minmax(0,1fr))}}
@media (max-width:560px){
  .iscr{padding-top:22px}
  .iscr-blocco{padding:18px 14px}
  .iscr-modalita{padding:14px 12px}
  .iscr-modalita-t{font-size:1.05rem}
  .iscr-griglia{grid-template-columns:1fr}
  .iscr-passi-nome{display:none}
  .iscr-passi li.attivo .iscr-passi-nome{display:inline}
  /* una sola riga: cerchi piu' piccoli, trattini che si allungano/accorciano, nome del passo attivo con i puntini se non ci sta */
  .iscr-passi{flex-wrap:nowrap;gap:0 6px}
  .iscr-passi li{gap:6px;font-size:.85rem;min-width:0}
  .iscr-passi li:first-child{flex:0 1 auto}
  .iscr-passi li+li{flex:1 1 0}
  .iscr-passi li+li.attivo{flex:1 1 auto}
  .iscr-passi li+li::before{width:auto;flex:1 1 8px;min-width:8px;margin-left:0}
  .iscr-passi a{gap:6px;min-width:0}
  .iscr-passi-num{width:28px;height:28px;font-size:.85rem;flex-shrink:0}
  .iscr-passi-nome{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .iscr-azioni{justify-content:stretch}
  .iscr-pulsante{width:100%}
  .iscr-quota-testa{padding:20px;gap:14px}
  .iscr-quota-logo{width:60px;height:60px;padding:7px;border-radius:14px}
  .iscr-quota-testa h2{font-size:1.3rem}
  .iscr-quota-corpo{padding:20px 18px 4px}
  .iscr-quota-dati{grid-template-columns:1fr}
  .iscr-quota-totale strong{font-size:1.9rem}
  .iscr-quota-piede{margin:8px 18px 0}
  .iscr-quota-azioni{padding:6px 18px 20px}
}

/* passo 2: icona «i» dei comuni del circuito e relativa finestra */
.iscr-residenza{display:flex;align-items:center;gap:14px}
.iscr-residenza .iscr-scelta{flex:1;min-width:0}
.iscr-info{flex:none;display:inline-grid;place-items:center;width:46px;height:46px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--accent);color:#2b2230;
  font:700 1.35rem/1 Georgia,"Times New Roman",serif;font-style:italic;cursor:pointer;
  box-shadow:0 0 0 2px var(--accent),0 6px 16px color-mix(in srgb,var(--accent) 55%,transparent),0 2px 4px rgba(0,0,0,.18);transition:transform .2s,box-shadow .2s}
.iscr-info:hover{transform:scale(1.1);box-shadow:0 0 0 2px var(--accent),0 10px 22px color-mix(in srgb,var(--accent) 65%,transparent),0 2px 6px rgba(0,0,0,.22)}
.iscr-info:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.iscr-comuni-fin{width:min(560px,calc(100% - 32px));max-height:calc(100% - 32px);padding:0;border:0;border-radius:20px;background:#fff;color:var(--ink);overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.iscr-comuni-fin[open]{animation:iscr-avviso-entra .25s ease-out}
.iscr-comuni-fin::backdrop{background:rgba(24,12,28,.65);backdrop-filter:blur(3px)}
.iscr-comuni-fin-testa{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;background:var(--iscr-colore);color:var(--iscr-colore-testo,#fff)}
.iscr-comuni-fin-testa h2{margin:0;font-size:1.3rem;color:inherit}
.iscr-comuni-fin-x{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:inherit;font-size:1.5rem;line-height:1;cursor:pointer}
.iscr-comuni-fin-x:hover{background:rgba(255,255,255,.32)}
.iscr-comuni-fin-corpo{padding:20px 24px 4px}
.iscr-comuni-fin-corpo .prose{max-width:none;margin:0 0 14px}
.iscr-comuni-elenco{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.iscr-comuni-elenco li{padding:9px 12px;border-radius:10px;background:color-mix(in srgb,var(--iscr-colore) 6%,#fff);border:1px solid color-mix(in srgb,var(--iscr-colore) 16%,var(--line));font-weight:600}
.iscr-comuni-fin-azioni{display:flex;justify-content:flex-end;padding:18px 24px 22px}
@media (prefers-reduced-motion:reduce){.iscr-comuni-fin[open]{animation:none}}

/* passo 3: codice allievo */
.iscr-griglia.iscr-griglia-due{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.iscr-blocco-form{display:block}
.iscr-blocco-testo{max-width:none;margin:0 0 16px}
.iscr-campo{display:block;width:100%;max-width:420px;font:inherit;font-size:1.25rem;padding:14px 16px;min-height:56px;border:2px solid #cfc6d4;border-radius:10px;background:#fff;color:var(--ink)}
.iscr-campo:focus{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--iscr-colore)}
.iscr-campo-codice{max-width:180px;font-size:1.6rem;letter-spacing:.25em;text-align:center;font-variant-numeric:tabular-nums}
.iscr-etichetta-campo{display:block;margin:0 0 8px;font-weight:700}
.iscr-aiuto-campo{display:block;margin-top:8px;color:var(--mute);font-size:.95rem}
.iscr-blocco-form .iscr-azioni{margin-top:20px}
.iscr-azioni-due{justify-content:space-between}
.iscr-azioni.iscr-azioni-due .iscr-pulsante-indietro{margin-right:0}
.iscr-alternativa{color:var(--iscr-colore);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.iscr-pulsante.iscr-pulsante-link-pieno{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.iscr-esito{margin:0 0 18px;padding:16px 18px;border-radius:var(--iscr-raggio,14px);border:2px solid}
.iscr-esito:focus{outline:none}
.iscr-esito p{margin:0 0 6px}.iscr-esito p:last-child{margin:0}
.iscr-esito.ok{background:#eef8f0;border-color:#2e8b4a}
.iscr-esito.attenzione{background:#fff7e6;border-color:#d99a00}
.iscr-esito-t{font-weight:700;font-size:1.1rem}
.iscr-esito-ind{display:inline-block;margin:2px 4px 2px 0;padding:2px 8px;border-radius:6px;background:#fff;word-break:break-all}

/* passo 3, ramo «ho il codice»: campi del genitore e recapiti, errori */
.iscr-campi{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 20px}
.iscr-campi .iscr-campo{max-width:none}
.iscr-campo-riga{min-width:0}
.iscr-errore{display:block;margin-top:6px;color:#b3261e;font-weight:600;font-size:.92rem}
.iscr-obbl{color:#b3261e;font-weight:700}
.iscr-nota-obbl{margin:14px 0 0;color:var(--mute);font-size:.92rem}
.iscr-campo[aria-invalid="true"],.con-errore .iscr-campo{border-color:#c0392b;background:#fff8f8}
.iscr-blocco.con-errore{border-color:#c0392b}
.iscr-campo[type="date"]{min-height:56px}

/* passo 3, modulo di iscrizione completo: righe a due colonne (come il vecchio modulo), indirizzo largo + CAP stretto, caselle a discesa */
.iscr-campi + .iscr-campi{margin-top:16px}
@media (min-width:640px){
    .iscr-campi.iscr-campi-2{grid-template-columns:repeat(2,minmax(0,1fr))}
    .iscr-campi.iscr-campi-res{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}
}
@media (max-width:639px){.iscr-campi.iscr-campi-2,.iscr-campi.iscr-campi-res{grid-template-columns:minmax(0,1fr)}}
.iscr-campo.iscr-tendina{appearance:none;-webkit-appearance:none;padding-right:46px;cursor:pointer;text-overflow:ellipsis;
    background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%2355505a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center}
.iscr-campo.iscr-tendina:invalid,.iscr-campo.iscr-tendina.vuota{color:#8a8290}
.iscr-campo.iscr-tendina option{color:var(--ink)}
.con-errore .iscr-campo.iscr-tendina,.iscr-campo.iscr-tendina[aria-invalid="true"]{background-color:#fff8f8}

/* passo 4: riepilogo in alto (stessi riquadri dei dati del PDF della quota) */
.iscr-riepilogo{margin:0 0 24px;padding:22px 24px 12px;border:1px solid var(--line);border-top:5px solid var(--iscr-colore);border-radius:calc(var(--iscr-raggio,14px) + 6px);background:var(--iscr-card,#fff);box-shadow:0 1px 2px rgba(36,32,42,.04),0 8px 24px rgba(36,32,42,.05)}
.iscr-riepilogo-testa{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin:0 0 14px}
.iscr-riepilogo-testa h2{margin:0;font-size:1.25rem}
.iscr-riepilogo .iscr-quota-dati{margin:0 0 10px}
.iscr-a-capo{overflow-wrap:anywhere}

/* passo 4: caricamento della ricevuta (tutto il riquadro apre la scelta del file) */
.iscr-file{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;border:2px dashed color-mix(in srgb,var(--iscr-colore) 45%,var(--line));border-radius:var(--iscr-raggio,14px);background:color-mix(in srgb,var(--iscr-colore) 4%,var(--iscr-card,#fff));cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s}
.iscr-file:hover{border-color:var(--iscr-colore);background:color-mix(in srgb,var(--iscr-colore) 8%,var(--iscr-card,#fff))}
.iscr-file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.iscr-file:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.iscr-file-icona{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:var(--iscr-card,#fff);color:var(--iscr-colore);box-shadow:0 4px 12px color-mix(in srgb,var(--iscr-colore) 18%,transparent)}
.iscr-file-testo{flex:1;display:flex;flex-direction:column;min-width:0}
.iscr-file-t{font-weight:700;overflow-wrap:anywhere}
.iscr-file-s{color:var(--mute);font-size:.9rem}
.iscr-file-pulsante{flex:none;padding:10px 20px;border-radius:99px;background:var(--iscr-colore);color:var(--iscr-colore-testo,#fff);font-weight:700;font-size:.95rem}
.iscr-file.scelto{border-style:solid;border-color:#2e8b4a;background:#eef8f0}
.iscr-file.scelto .iscr-file-icona{color:#2e8b4a}
.iscr-file.scelto .iscr-file-pulsante{background:transparent;color:#2e8b4a;border:2px solid #2e8b4a}
.con-errore .iscr-file,.iscr-file.errato{border-color:#c0392b;background:#fff8f8}
/* file trascinato sopra il riquadro (iscrizioni.js): bordo pieno, sfondo acceso, leggero ingrandimento */
.iscr-file.sopra{border-style:solid;border-color:var(--iscr-colore);background:color-mix(in srgb,var(--iscr-colore) 14%,var(--iscr-card,#fff));box-shadow:0 0 0 5px color-mix(in srgb,var(--iscr-colore) 22%,transparent);transform:scale(1.02)}
.iscr-file.sopra .iscr-file-icona{background:var(--iscr-colore);color:var(--iscr-colore-testo,#fff)}

/* passo 4: importo della ricevuta, con il simbolo dell'euro dentro la casella */
.iscr-importo-campo{position:relative;max-width:260px}
.iscr-importo-euro{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:1.25rem;font-weight:700;color:var(--iscr-colore);pointer-events:none}
.iscr-importo-campo .iscr-campo{padding-left:42px;font-variant-numeric:tabular-nums}

/* passo 4: pulsante verde di invio, ben evidente */
.iscr-pulsante.iscr-pulsante-verde{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#1f9d4c;color:#fff;font-size:1.2rem;padding:18px 40px;min-height:62px;box-shadow:0 10px 26px rgba(31,157,76,.38)}
.iscr-pulsante.iscr-pulsante-verde:hover{background:#178a41;filter:none}
.iscr-pulsante.iscr-pulsante-verde[aria-busy="true"]{opacity:.75;cursor:progress}
.iscr-azioni-invio{justify-content:space-between}
.iscr-azioni.iscr-azioni-invio .iscr-pulsante-indietro{margin-right:0}

/* dopo l'invio: conferma */
.iscr-fatto{margin:0 0 24px;padding:40px 28px 30px;text-align:center;border-radius:calc(var(--iscr-raggio,14px) + 8px);background:linear-gradient(180deg,#eef8f0,var(--iscr-card,#fff) 70%);border:1px solid #bfe3ca;box-shadow:0 18px 44px rgba(31,157,76,.14)}
.iscr-fatto:focus{outline:none}
.iscr-fatto-icona{display:inline-grid;place-items:center;width:84px;height:84px;margin:0 0 14px;border-radius:50%;background:#1f9d4c;color:#fff;box-shadow:0 0 0 10px rgba(31,157,76,.14);animation:iscr-fatto-entra .5s cubic-bezier(.2,.9,.3,1.3)}
@keyframes iscr-fatto-entra{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.iscr-fatto h2{margin:0 0 8px;font-size:1.9rem}
.iscr-fatto-numero{display:inline-block;margin:0 0 14px;padding:6px 16px;border-radius:99px;background:var(--iscr-card,#fff);border:1px solid var(--line);font-size:.98rem}
.iscr-fatto-testo{max-width:640px;margin:0 auto 10px}
.iscr-fatto-email{max-width:640px;margin:0 auto;color:var(--mute)}
.iscr-fatto-email.attenzione{color:#9a6a00;font-weight:600}
.iscr-fatto-sezioni{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 20px}
.iscr-fatto-piede{text-align:center;margin-top:8px}
.iscr-azioni.iscr-fatto-azioni{justify-content:center}
.iscr-azioni.iscr-fatto-azioni .iscr-pulsante-indietro{margin-right:0}
@media (prefers-reduced-motion:reduce){.iscr-fatto-icona{animation:none}}
/* conferma della lista d'attesa: stesso riquadro, colore petrolio (come le sue email) */
.iscr-fatto-attesa{background:linear-gradient(180deg,#e9f5f8,var(--iscr-card,#fff) 70%);border-color:#b9dde6;box-shadow:0 18px 44px rgba(14,116,144,.14)}
.iscr-fatto-attesa .iscr-fatto-icona{background:#0e7490;box-shadow:0 0 0 10px rgba(14,116,144,.14)}
@media (max-width:560px){
  .iscr-riepilogo{padding:18px 14px 8px}
  .iscr-file{flex-wrap:wrap;padding:16px 14px}
  .iscr-file-pulsante{width:100%;text-align:center}
  .iscr-azioni-invio{flex-direction:column-reverse}
  .iscr-fatto{padding:30px 16px 22px}
  .iscr-fatto h2{font-size:1.5rem}
}

/* dopo «vai al pagamento»: riquadro centrato con il pulsante blu verso il modulo di iscrizione */
.iscr-dopo-pag{margin:28px auto 0;max-width:640px;padding:26px 24px;text-align:center;border-radius:calc(var(--iscr-raggio,14px) + 6px);background:#eaf2fd;border:2px solid #1565c0;box-shadow:0 14px 34px rgba(21,101,192,.18)}
.iscr-dopo-pag p{margin:0 0 10px}
.iscr-dopo-pag-t{font-size:1.25rem;font-weight:700;color:#0d47a1}
.iscr-pulsante.iscr-pulsante-blu{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;text-decoration:none;background:#1565c0;color:#fff;font-size:1.15rem;padding:18px 40px;box-shadow:0 8px 20px rgba(21,101,192,.35)}
.iscr-pulsante.iscr-pulsante-blu:hover{background:#0d47a1;filter:none;text-decoration:none}

/* avviso prima del pagamento: finestra in primo piano, sfondo scuro, fascia gialla con il segnale di attenzione */
.iscr-avviso-pag{width:min(600px,calc(100% - 32px));max-height:calc(100% - 32px);padding:0;border:0;border-radius:24px;background:#fff;color:var(--ink);overflow:auto;
  box-shadow:0 0 0 6px var(--accent),0 30px 80px rgba(0,0,0,.45)}
.iscr-avviso-pag[open]{animation:iscr-avviso-entra .28s cubic-bezier(.2,.9,.3,1.2)}
.iscr-avviso-pag::backdrop{background:rgba(24,12,28,.78);backdrop-filter:blur(4px)}
@keyframes iscr-avviso-entra{from{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:none}}
.iscr-avviso-pag-testa{display:flex;align-items:center;gap:16px;padding:24px 28px;background:var(--accent);color:#2b2230}
.iscr-avviso-pag-icona{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:#c0392b;animation:iscr-avviso-pulsa 1.6s ease-in-out infinite}
@keyframes iscr-avviso-pulsa{50%{transform:scale(1.08)}}
.iscr-avviso-pag-testa h2{margin:0;font-size:1.5rem;line-height:1.2;color:inherit}
.iscr-avviso-pag-corpo{max-width:none;padding:22px 28px 6px;font-size:1.08rem}
.iscr-avviso-pag-corpo p{margin:0 0 14px;padding:12px 16px 12px 18px;border-left:5px solid var(--iscr-colore);border-radius:10px;background:color-mix(in srgb,var(--iscr-colore) 6%,#fff)}
.iscr-avviso-pag-corpo p:last-child{border-left-color:#c0392b;background:#fdeeee}
.iscr-avviso-pag-nota{margin:0;padding:4px 28px 0;font-size:.9rem;color:var(--mute)}
.iscr-avviso-pag-azioni{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:20px 28px 26px}
.iscr-avviso-pag-azioni a.iscr-pulsante{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media (max-width:560px){
  .iscr-avviso-pag-testa{padding:18px;gap:12px}
  .iscr-avviso-pag-icona{width:52px;height:52px}
  .iscr-avviso-pag-testa h2{font-size:1.2rem}
  .iscr-avviso-pag-corpo{padding:18px 18px 4px;font-size:1rem}
  .iscr-avviso-pag-nota{padding:4px 18px 0}
  .iscr-avviso-pag-azioni{padding:16px 18px 20px}
  .iscr-avviso-pag-azioni .iscr-pulsante{width:100%}
}
@media (prefers-reduced-motion:reduce){.iscr-avviso-pag[open],.iscr-avviso-pag-icona{animation:none}}

/* PDF («Scarica in PDF» = stampa del browser): sulla pagina resta solo il riquadro della quota, a tutta pagina A4, con i colori */
@media print{
  @page{size:A4;margin:12mm}
  html,body{background:#fff!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body>*:not(main),main>*:not(.iscr),.iscr-wrap>*:not(.iscr-quota),.iscr-quota-azioni,.iscr-superato{display:none!important}
  .iscr{padding:0;background:#fff}
  .iscr-wrap{max-width:none;padding:0}
  .iscr-quota{margin:0;box-shadow:none;border-color:#ddd;break-inside:avoid}
  .iscr-quota.superato .iscr-quota-corpo,.iscr-quota.superato .iscr-quota-testa{opacity:1}
  .iscr-quota-testa{padding:22px 26px}
  .iscr-quota-dati{grid-template-columns:repeat(2,minmax(0,1fr))}
  .iscr-quota-piede{margin:8px 26px 18px}
}
