/* Associazioni OS · Area soci, domanda di adesione e numeri, sul sito. Il colore arriva dalla veste (--a-brand, scritto dal PHP). */
.aso-area{--a-brand:#6D28D9;--a-scuro:#4C1D95;--a-chiaro:rgba(109,40,217,.10);--a-bordo:#E3DDEE;--a-tenue:#5E566D;max-width:860px;margin:0 auto;color:inherit}
.aso-area *{box-sizing:border-box}
.aso-area-titolo{margin:0 0 16px}
.aso-area-h{font-size:1.05rem;font-weight:700;margin:22px 0 10px}
.aso-area-piccolo{font-size:.82rem;color:var(--a-tenue);margin:6px 0 10px}
.aso-area-porte{display:grid;gap:16px}
.aso-area-porte.due{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.aso-area-box{background:#fff;border:1.5px solid var(--a-bordo);border-radius:14px;padding:20px}
.aso-area-box h3{margin:0 0 4px;font-size:1.1rem}
.aso-area-box form p{margin:0 0 10px}
.aso-area-box label{display:block;font-size:.8rem;font-weight:700;margin:0 0 10px}
.aso-area-box label small{font-weight:500;color:var(--a-tenue)}
.aso-area-box input[type=text],.aso-area-box input[type=email],.aso-area-box input[type=password],.aso-area-box input:not([type]){display:block;width:100%;margin-top:4px;padding:10px 12px;border:1.5px solid var(--a-bordo);border-radius:10px;font-size:16px;background:#fff}
.aso-area-box input:focus{outline:2px solid var(--a-brand);outline-offset:1px;border-color:var(--a-brand)}
.aso-area-box input[type=submit],.aso-area-bottone{display:inline-block;background:var(--a-brand);color:#fff;border:0;border-radius:10px;padding:11px 18px;font-weight:700;font-size:.95rem;cursor:pointer;line-height:1.2}
.aso-area-box input[type=submit]:hover,.aso-area-bottone:hover{background:var(--a-scuro)}
.aso-area-bottone[disabled]{opacity:.6;cursor:wait}
.aso-area-due{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.aso-area-check{display:flex!important;gap:8px;align-items:flex-start;font-weight:500!important}
.aso-area-check input{margin-top:3px}
.aso-area-nascosto{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.aso-area-esito{font-size:.85rem;margin:8px 0;min-height:1em}
.aso-area-esito:empty{display:none}
.aso-area a{color:var(--a-brand)}
.aso-area-esito.err{color:#B0243E}
.aso-area-esito.ok{color:#0E7051;font-weight:700}
.aso-area-ciao{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;font-size:.9rem}
.aso-area-ciao a{font-weight:700;color:var(--a-brand)}
.aso-area-vuoto p{margin:6px 0 0;font-size:.9rem}
.aso-area-nota{font-size:.82rem;color:var(--a-tenue);white-space:normal}
.aso-area-card{background:#fff;border:1.5px solid var(--a-bordo);border-radius:14px;padding:18px;margin-bottom:16px}
.aso-area-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.aso-area-av{width:42px;height:42px;border-radius:12px;background:var(--a-brand);color:#fff;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex:none}
.aso-area-top h4{margin:0;font-size:1rem;font-weight:800}
.aso-area-meta{font-size:.75rem;color:var(--a-tenue);font-weight:600}
.aso-area-righe{display:flex;flex-direction:column;gap:7px;font-size:.82rem;margin-bottom:6px}
.aso-area-riga{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.aso-area .k{color:var(--a-tenue);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}
.aso-area-riga .v{font-weight:700}
.aso-area-pill{display:inline-block;font-size:.7rem;font-weight:800;padding:3px 10px;border-radius:99px}
.aso-area-pill.ok{background:#E2F3EB;color:#0E7051}
.aso-area-pill.warn{background:#FAEEDA;color:#8F5406}
.aso-area-pill.bad{background:#FBE6EA;color:#B0243E}
.aso-area-pill.mut{background:#eef0f2;color:#5b6470}
.aso-area-paga{margin:12px 0 4px;padding:14px;border-radius:12px;background:var(--a-chiaro)}
.aso-area-paga-testa{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;font-weight:700}
.aso-area-paga-testa strong{font-size:1.1rem}
.aso-area-pagamento:empty{display:none}
.aso-area-pagamento{margin-top:10px;background:#fff;border-radius:10px;padding:12px}
.aso-area-prova{font-size:.78rem;background:#FAEEDA;color:#8F5406;border-radius:8px;padding:8px 10px;margin:0 0 10px}
.aso-area-scorri{overflow-x:auto}
.aso-area-tab{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:8px}
.aso-area-tab th{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--a-tenue);text-align:left;padding:6px 8px;border-bottom:1px solid var(--a-bordo)}
.aso-area-tab td{padding:7px 8px;border-bottom:1px solid #f1f3f2}
.aso-area-tab .num{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:520px){.aso-area-due{grid-template-columns:1fr}.aso-area-box{padding:16px}}
.aso-area-ricevuta{font-size:.78rem;font-weight:700;margin-left:6px}
/* L'ingresso: le linguette Entra · Registrati (come l'Area clienti di Restaurant OS) */
.aso-area-ingresso{max-width:520px;margin:0 auto}
.aso-area-linguette{display:flex;gap:6px;padding:5px;border-radius:999px;background:var(--a-chiaro);margin-bottom:18px}
.aso-area-linguette button{all:unset;flex:1;text-align:center;padding:11px 0;border-radius:999px;font-weight:700;cursor:pointer;color:var(--a-tenue)}
.aso-area-linguette button[aria-selected="true"]{background:#fff;color:inherit;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.aso-area-linguette button:focus-visible,.aso-area-link:focus-visible{outline:2px solid var(--a-brand);outline-offset:2px}
.aso-area-largo{display:block;width:100%;min-height:46px;border-radius:999px;text-align:center}
.aso-area-link{all:unset;cursor:pointer;color:var(--a-brand);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.aso-area-centro{text-align:center}
.aso-area-link-esci{margin-left:12px;font-weight:700}
.aso-area [hidden]{display:none!important}
/* I consensi dell'atleta (modulo Consensi) e i link ai testi (Termini e informative). */
.aso-area-consensi{margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--a-bordo);display:flex;flex-direction:column;gap:8px}
.aso-area-consenso{font-size:.92rem;line-height:1.45}
.aso-area-consenso em{font-style:normal;opacity:.7;font-size:.9em}
.aso-area-consenso a{margin-left:4px}
.aso-area-nuovo{display:block;color:#9A5B00;font-size:.85em}
.aso-area-consensi-piede{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.aso-area-bottone-chiaro{background:transparent!important;color:var(--a-brand)!important;border:1px solid currentColor!important;padding:8px 14px!important}
.aso-area-testi{margin-top:18px;text-align:center}
/* I riquadri degli altri moduli (le Gift card) */
.aso-area-buoni{margin-top:18px}
.aso-area-buoni-cifra{font-size:15px;margin:0 0 6px}.aso-area-buoni-cifra strong{font-size:22px;color:var(--a-brand)}
.aso-area-modulo .aso-area-riga{flex-wrap:nowrap}.aso-area-modulo input{flex:1;min-width:0;font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--a-bordo);border-radius:10px;min-height:44px;text-transform:uppercase}
.aso-area-h4{margin:18px 0 8px;font-size:15px}
.aso-area-tabella{width:100%;border-collapse:collapse;font-size:14px}.aso-area-tabella th,.aso-area-tabella td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--a-bordo);vertical-align:top}
.aso-area-tabella .n{text-align:right;white-space:nowrap}.aso-area-tabella .piu{color:#0E7C3A}
@media (max-width:520px){.aso-area-modulo .aso-area-riga{flex-wrap:wrap}.aso-area-modulo input{flex-basis:100%}}
/* La tessera del socio. */
.aso-area-tessera{border-radius:14px;background:linear-gradient(135deg,var(--a-brand),var(--a-scuro));color:#fff;padding:16px 18px;margin-bottom:14px;box-shadow:0 12px 26px -18px rgba(0,0,0,.6)}
.aso-area-tessera-testa{display:flex;justify-content:space-between;gap:10px;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.85;margin-bottom:12px}
.aso-area-tessera-corpo{display:flex;align-items:center;gap:12px}
.aso-area-tessera-corpo strong{display:block;font-size:1.1rem;line-height:1.25}
.aso-area-tessera-corpo small{display:block;font-size:.8rem;opacity:.9;margin-top:2px}
.aso-area-tessera .aso-area-av{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35)}
.aso-area-tessera-piede{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.aso-area-tessera .aso-area-pill{background:#fff}
.aso-area-dati{margin:10px 0;border-top:1px solid var(--a-bordo);padding-top:10px}
.aso-area-dati summary{cursor:pointer;font-weight:700;font-size:.9rem;padding:4px 0}
.aso-area-dati .aso-area-righe{margin-top:8px}
.aso-area-tenue{color:var(--a-tenue)}
.aso-area-tabella small{color:var(--a-tenue);font-size:.78rem}
/* Il modulo della domanda di adesione. */
.aso-area-tre{display:grid;grid-template-columns:120px 1fr 90px;gap:10px}
.aso-area-box input[type=date],.aso-area-box input[type=tel]{display:block;width:100%;margin-top:4px;padding:10px 12px;border:1.5px solid var(--a-bordo);border-radius:10px;font-size:16px;background:#fff}
.aso-area-box input.errato{border-color:#B0243E;outline-color:#B0243E}
.aso-adesione-intro{font-size:1rem;line-height:1.55;margin:0 0 16px}
.aso-adesione-tipo{border:0;padding:0;margin:0 0 12px;display:flex;gap:18px;flex-wrap:wrap}
.aso-adesione-tipo legend{font-size:.8rem;font-weight:700;margin-bottom:6px;padding:0}
.aso-adesione-tutore{background:var(--a-chiaro);border-radius:12px;padding:12px 14px;margin:6px 0 12px}
.aso-adesione-tutore p{margin:0 0 8px;font-size:.88rem}
.aso-adesione-spunte{display:flex;flex-direction:column;gap:2px;margin:12px 0 4px;padding-top:12px;border-top:1px solid var(--a-bordo)}
.aso-adesione-spunte .aso-area-check{font-size:.88rem!important;line-height:1.45}
.aso-adesione-fatto h3{color:var(--a-brand)}
/* La quota nella domanda di adesione, nel rinnovo e nell'Area soci: anno, opzione, come si paga. */
.aso-adesione-quota{border:0;border-top:1px solid var(--a-bordo);padding:12px 0 0;margin:12px 0 0}
.aso-adesione-quota legend{font-size:.95rem;font-weight:700;padding:0;margin-bottom:4px}
.aso-adesione-anni,.aso-area-anni{display:flex;gap:4px 18px;flex-wrap:wrap;margin-bottom:6px}
.aso-adesione-opzioni,.aso-area-opzioni{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px}
.aso-adesione-opz{justify-content:flex-start;align-items:center!important;padding:10px 12px;border:1px solid var(--a-bordo);border-radius:10px;background:#fff}
.aso-adesione-opz span{flex:1}.aso-adesione-opz small{display:block;font-weight:400;opacity:.75}.aso-adesione-opz strong{white-space:nowrap}
.aso-adesione-come{margin:4px 0 8px}
.aso-area-bonifico{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--a-chiaro)}
.aso-area-bonifico .v{font-family:ui-monospace,Menlo,Consolas,monospace;word-break:break-all}
/* I numeri dell'associazione. */
.aso-numeri{max-width:none}
.aso-numeri-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.aso-numeri-voce{text-align:center;padding:18px 12px;border-radius:14px;border:1.5px solid var(--a-bordo);background:#fff}
.aso-numeri-voce strong{display:block;font-size:2.4rem;line-height:1.1;color:var(--a-brand);font-variant-numeric:tabular-nums}
.aso-numeri-voce span{display:block;margin-top:4px;font-weight:700;color:var(--a-tenue);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}
.aso-numeri-colore .aso-numeri-voce{background:var(--a-brand);border-color:var(--a-brand)}
.aso-numeri-colore .aso-numeri-voce strong,.aso-numeri-colore .aso-numeri-voce span{color:#fff}
@media (max-width:520px){.aso-area-tre{grid-template-columns:1fr 1fr}.aso-area-tre label:nth-child(2){grid-column:1 / -1;grid-row:1}}
/* La fattura, i colleghi dell'azienda, i documenti caricati dal socio, le sezioni azienda e tessere. */
.aso-adesione-fattura,.aso-adesione-colleghi{border:0;border-top:1px solid var(--a-bordo);padding:12px 0 0;margin:12px 0 0}
.aso-adesione-colleghi legend{font-size:.95rem;font-weight:700;padding:0;margin-bottom:4px}
.aso-adesione-fattura [data-fattura-campi]{margin-top:6px}
.aso-area-paga .aso-adesione-fattura,.aso-area-documento{font-size:.82rem}
.aso-area-paga .aso-adesione-fattura label,.aso-area-documento label{display:block;font-size:.8rem;font-weight:700;margin:0 0 10px}
.aso-area-paga .aso-adesione-fattura input:not([type=checkbox]):not([type=radio]),.aso-area-documento input:not([type=checkbox]),.aso-area-documento select,.aso-area-box select{display:block;width:100%;margin-top:4px;padding:9px 11px;border:1.5px solid var(--a-bordo);border-radius:10px;font-size:16px;background:#fff}
.aso-area-documento{margin-top:12px;padding:12px;border-radius:12px;background:var(--a-chiaro)}
.aso-area-documento p{margin:0 0 8px}
.aso-area-azienda .aso-area-righe,.aso-area-documenti .aso-area-righe,.aso-area-tessere .aso-area-righe{margin-top:8px}
