/* MyBluSea — foglio di stile del progetto (un solo foglio sopra quelli comuni: pj-base.css e la famiglia
   pj_base/famiglia/myblusea.css, che si cambiano in pj-base). Unisce i fogli di biblioteca-mare, allenamenti,
   mylogbook e touroperator (2026-10-20), senza ciò che era già nella famiglia o in pj-base.
   Colori solo dalle variabili dei temi (i blocchi qui sotto sono l'unico posto con colori scritti), niente opacity;
   caratteri e spazi in rem. Contrasti: li controlla sito/tests/test_stile.py. */

/* Chiaro: carta = fondo dei loghi; corsia, preparazione e fune = barra del tempo del creatore; barra = colonne del grafico dei viaggi.
   Restyle del 2026-10-23: corallo = colore di contrasto (sottolineature, «Iscriviti» con il testo blu notte); mare, turchese, sabbia =
   le fasce delle schede in prima pagina (con il corallo, a rotazione); scheda = fondo delle schede; testata-linea = bordo dei tasti tondi
   e dei moduli nella testata; testata-evidenza = il loro fondo al passaggio (corallo al 15 % sul blu della testata); menu-evidenza = il fondo al passaggio nel pannello
   dell'utente (corallo al 12 % sul fondo); ombra con trasparenza. */
:root{
  --carta:#ffffff; --corsia:#1d5c8a; --corsia-chiara:#a9cbe4; --preparazione:#6b7a88; --fune:#c0392b; --carta-testo:#3b4650; --barra:#6f8fbe;
  --corallo:#e9724c; --mare:#2b7bb9; --turchese:#1f9aa0; --sabbia:#d9a441; --scheda:#e9eff5;
  --testata-linea:#5f7086; --testata-evidenza:#2c2c3d; --ombra:#0b1f3a33; --menu-evidenza:#f2e6e5;
}
/* Penombra */
:root[data-theme="medio"]{
  --corsia:#13305c; --corsia-chiara:#8fb0d0; --preparazione:#3d4f63; --fune:#8b1a10; --carta:#ffffff; --carta-testo:#3b4650; --barra:#35567f;
  --corallo:#e9724c; --mare:#2b7bb9; --turchese:#1f9aa0; --sabbia:#d9a441; --scheda:#c3d0de;
  --testata-linea:#5f7086; --testata-evidenza:#2c2c3d; --ombra:#0b1f3a40; --menu-evidenza:#a8aab7;
}
/* Scuro */
:root[data-theme="dark"]{
  --corsia:#6cc6d8; --corsia-chiara:#2f5a78; --preparazione:#7b8a97; --fune:#ff7b6b; --carta:#ffffff; --carta-testo:#3b4650; --barra:#5b84b8;
  --corallo:#e9724c; --mare:#2b7bb9; --turchese:#1f9aa0; --sabbia:#d9a441; --scheda:#112440;
  --testata-linea:#525f70; --testata-evidenza:#281f26; --ombra:#00000080; --menu-evidenza:#252130;
}
/* Automatico: con il sistema scuro, gli stessi colori del tema Scuro (copia: lo controlla un test) */
@media (prefers-color-scheme:dark){
  :root:not([data-theme]){
  --corsia:#6cc6d8; --corsia-chiara:#2f5a78; --preparazione:#7b8a97; --fune:#ff7b6b; --carta:#ffffff; --carta-testo:#3b4650; --barra:#5b84b8;
  --corallo:#e9724c; --mare:#2b7bb9; --turchese:#1f9aa0; --sabbia:#d9a441; --scheda:#112440;
  --testata-linea:#525f70; --testata-evidenza:#281f26; --ombra:#00000080; --menu-evidenza:#252130;
  }
}

/* ===== Testata unica (2026-10-21): menu su due righe, fisso in alto sugli schermi larghi =====
   Prima riga: marchio e pagine di tutto il sito (.nav-principale, sul telefono dietro «Menu»). Seconda riga: i moduli a schede,
   quello aperto pieno (gli stessi due colori della testata, invertiti). Sotto la testata, chiara, la fascia delle voci del modulo.
   Fissa solo da 64em e con il testo fino al 125 %: con il testo più grande o sullo schermo piccolo coprirebbe la pagina. */
/* Restyle del 2026-10-23: marchio senza sottolineatura, tasti tondi a destra (cerca, ?, Aa), moduli a pillole leggere con quello
   aperto in corallo e in neretto (non solo il colore), testata più stretta quando si scorre (testata-compatta.js, solo dove è fissa). */
.marchio{font-size:1.75rem;font-weight:700;margin-right:.75rem}
.testata .nav-principale{margin-right:auto}
.testata-riga{gap:.6rem}
.testata,.testata .marchio,.testata-riga,.nav-principale a,.nav-moduli ul,.nav-moduli a,.icona-testata,.testata .asp-apri,.testata .entra{transition:all .2s ease}
.icona-testata,.testata .asp-apri{display:inline-flex;align-items:center;justify-content:center;flex:none;width:clamp(36px,2.25rem,48px);
  height:clamp(36px,2.25rem,48px);padding:0;border-radius:50%;border:1px solid var(--testata-linea);background:transparent;
  color:var(--testata-testo);font-weight:700;text-decoration:none;cursor:pointer}
.icona-testata{font-size:1.05rem}
.icona-testata svg{width:1.1rem;height:1.1rem}
.icona-testata:hover,.icona-testata[aria-current],.testata .asp-apri:hover,.testata .asp-apri[aria-expanded="true"],.testata .entra:hover{
  border-color:var(--corallo);background:var(--testata-evidenza)}
.testata .aspetto{display:inline-flex;align-items:center}
/* da chi è entrato (sito/_campanella.html, sito/_menu_utente.html): campanella tonda con il numero in corallo, pulsante dell'utente a
   pillola con l'iniziale, pannello con quattro gruppi su due colonne (una sul telefono) e in fondo Gestione ed Esci */
.campanella .simbolo{width:1.1rem;height:1.1rem}
/* il numero sta dentro il cerchio (non ne esce: lo controlla il test del riflusso) e cresce poco con il testo, come il tasto «Aa» */
.campanella .campanella-numero{position:absolute;top:0;right:0;min-width:clamp(16px,1rem,20px);height:clamp(16px,1rem,20px);padding:0 .15rem;
  border-radius:999px;background:var(--corallo);color:var(--testata);font-size:clamp(10px,.65rem,12px);font-weight:700;
  line-height:clamp(16px,1rem,20px);text-align:center}
.testata .menu-utente{margin-left:0}
.testata .menu-utente-apri{flex-direction:row;align-items:center;gap:.5rem;height:2.375rem;min-height:0;max-width:16rem;padding:0 .75rem 0 .2rem;
  border-radius:999px;border:1px solid var(--testata-linea);background:transparent;color:var(--testata-testo);text-align:left;transition:all .2s ease}
.testata .menu-utente-apri::after{content:none}
.testata .menu-utente-apri:hover,.testata .menu-utente-apri[aria-expanded="true"]{border-color:var(--corallo);background:var(--testata-evidenza)}
.mu-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;border-radius:50%;
  background:var(--corallo);color:var(--testata);font-size:.9rem;font-weight:700;transition:all .2s ease}
.mu-testo{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.testata .menu-utente-nome{font-size:.9rem;font-weight:600;line-height:1.1}
.testata .menu-utente-ruolo{font-size:.68rem;line-height:1.1;color:var(--testata-testo-2);text-transform:uppercase;letter-spacing:.04em}
.testata .menu-utente-voci{top:calc(100% + .5rem);width:min(33.75rem,calc(100vw - 2rem));min-width:0;max-width:none;max-height:calc(100vh - 6rem);
  overflow:auto;padding:1rem 1.1rem .8rem;background:var(--fondo);border:1px solid var(--linea);border-radius:.75rem;box-shadow:0 .75rem 2rem var(--ombra)}
.testata .menu-utente-chi{margin:0 0 .8rem;padding-bottom:.7rem;border-bottom:1px solid var(--linea)}
.mu-griglia{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.4rem}
.mu-gruppo h3{width:fit-content;margin:.2rem 0 .3rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--cta);
  border-bottom:2px solid var(--corallo)}
.menu-utente-voci .mu-gruppo ul{margin:0 0 .5rem;padding:0;border-top:0}
.menu-utente-voci .mu-gruppo a{min-height:1.5rem;margin-left:-.35rem;width:calc(100% + .35rem);padding:.22rem .35rem;font-size:.9rem;line-height:1.35;border-radius:.375rem}
.menu-utente-voci .mu-gruppo a:hover,.menu-utente-voci .mu-gruppo a:focus-visible,.mu-piede a:hover,.mu-piede button:hover{background:var(--menu-evidenza)}
.mu-piede{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:.5rem;padding-top:.7rem;border-top:1px solid var(--linea)}
.mu-piede form{margin-left:auto}
.menu-utente-voci .mu-piede a,.menu-utente-voci .mu-piede button{width:auto;min-height:1.5rem;margin:0;padding:.3rem .5rem;font-size:.88rem}
.menu-utente-voci .mu-gestione{font-weight:600}
@media (max-width:35rem){.mu-griglia{grid-template-columns:1fr}}
/* sul telefono il pannello è fisso fra i margini (pj-base) e parte sotto il pulsante: niente top calcolato */
@media (max-width:40em){.testata .menu-utente-voci{width:auto;top:auto;max-height:calc(100vh - 9rem)}}
.nav-moduli ul{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin-block:0;padding-top:.15rem;padding-bottom:.6rem}
.nav-moduli a{display:inline-flex;align-items:center;min-height:2rem;padding:.3rem .95rem;border:1px solid var(--testata-linea);border-radius:999px;
  color:var(--testata-testo-2);font-size:.95rem;font-weight:500;line-height:1.5;text-decoration:none}
.nav-moduli a:hover{border-color:var(--corallo);color:var(--testata-testo);background:var(--testata-evidenza);text-decoration:underline}
.nav-moduli a[aria-current]{border-color:var(--corallo);color:var(--testata-testo);background:var(--testata-evidenza);font-weight:700}
.testata .nav-moduli a:focus-visible{outline-offset:3px}
.nav-sezione{background:var(--superficie);border-bottom:1px solid var(--linea)}
.nav-sezione ul{display:flex;flex-wrap:wrap;gap:.1rem .25rem;list-style:none;margin-block:0;padding-top:.2rem;padding-bottom:.2rem}
.nav-sezione a{display:block;padding:.45rem .7rem;min-height:2.75rem;border-radius:.35rem;color:var(--testo);text-decoration:none;font-weight:500}
.nav-sezione a:hover{text-decoration:underline}
.nav-sezione a[aria-current="page"]{font-weight:700;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.35em}
@media (max-width:47.5em){
  .marchio{margin-right:auto;font-size:1.45rem}
  .nav-moduli ul{gap:.4rem}
  .nav-moduli a{font-size:.95rem;padding:.25rem .8rem}
  .nav-sezione a{padding:.45rem .5rem}
}
@media (min-width:64em) and (min-height:34em){
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]){scroll-padding-top:9rem}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata{position:sticky;top:0;z-index:40}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .risultati,
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .riepilogo{top:9rem}
  /* testata compatta (classe di testata-compatta.js, con due soglie): bersagli sempre di almeno 24 pixel (WCAG 2.5.8) */
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata.compatta{box-shadow:0 .15rem .6rem var(--ombra)}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata.compatta .testata-riga{padding-top:.15rem;padding-bottom:.15rem}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata.compatta .marchio{font-size:1.25rem;padding:0;line-height:1.6}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata.compatta .nav-principale a{font-size:.92rem;padding-top:.2rem;padding-bottom:.2rem;min-height:1.5rem}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata.compatta .icona-testata,.testata.compatta .asp-apri{width:1.75rem;height:1.75rem;font-size:.85rem}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata.compatta .entra{font-size:.8rem;padding:.1rem .5rem;min-height:1.75rem}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata.compatta .menu-utente-apri{height:1.875rem}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata.compatta .mu-avatar{width:1.375rem;height:1.375rem;font-size:.7rem}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata.compatta .menu-utente-ruolo{display:none}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata.compatta .nav-moduli ul{padding-bottom:.35rem;gap:.3rem}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata.compatta .nav-moduli a{font-size:.8rem;padding:.05rem .7rem;min-height:1.5rem}
}

/* ===== Prima pagina e copertine (restyle del 2026-10-23) =====
   Copertina più bassa con l'immagine a fascia e il filo corallo; «Iscriviti» in corallo con il testo blu notte (bianco sul corallo non
   arriva a 4,5:1); titoli delle sezioni sottolineati in corallo; schede (in tutto il sito, non solo in prima pagina) con una fascia colorata in alto (colore a rotazione):
   per le notizie un ritaglio della copertina tinto, per i prodotti un'illustrazione (sito/templatetags/sito_vetrina.py), per gli altri
   la tinta piena. «Chiedi informazioni» resta il pulsante d'invito della famiglia (--cta, misurato in ogni tema). */
.eroe-riga{padding-top:1.8rem;padding-bottom:2rem;align-items:center}
.eroe h1{font-size:2.4rem;margin:0 0 .3rem}
.eroe-attacco{font-size:1.05rem;margin:0 0 .9rem}
.eroe-immagine{max-height:12rem;object-fit:cover;object-position:center 40%;border-bottom:.25rem solid var(--corallo)}
.eroe .pulsante.invito{background:var(--corallo);border-color:var(--corallo);color:var(--eroe)}
.pagina > h2,.vetrina > h2{width:fit-content;max-width:100%;border-bottom:3px solid var(--corallo);padding-bottom:.15rem}
/* le schede di tutto il sito (vetrine, notizie, libri e opere, cruscotti dei moduli, partner, manuali): fondo azzurrino, fascia colorata
   in alto e filo dello stesso colore in basso; il colore gira su quattro (--c), con lo scorcio della copertina (--p) per le notizie */
:is(.schede-vetrina,.cruscotto,.griglia) > :nth-child(4n+1){--c:var(--corallo);--p:10% 20%}
:is(.schede-vetrina,.cruscotto,.griglia) > :nth-child(4n+2){--c:var(--mare);--p:60% 45%}
:is(.schede-vetrina,.cruscotto,.griglia) > :nth-child(4n+3){--c:var(--turchese);--p:90% 70%}
:is(.schede-vetrina,.cruscotto,.griglia) > :nth-child(4n+4){--c:var(--sabbia);--p:35% 85%}
.scheda-vetrina,.scheda-manuale,:is(.cruscotto,.griglia) > .riquadro{position:relative;overflow:hidden;background:var(--scheda);border:1px solid var(--linea);
  border-bottom:3px solid var(--c,var(--corallo));box-shadow:0 1px 2px var(--ombra);transition:transform .15s,box-shadow .15s}
.scheda-vetrina{padding-top:2.875rem}
:is(.cruscotto,.griglia) > .riquadro{padding-top:3.875rem}
:is(.scheda-vetrina,.scheda-manuale,:is(.cruscotto,.griglia) > .riquadro):hover{transform:translateY(-2px);box-shadow:0 .4rem 1rem var(--ombra)}
:is(.scheda-vetrina,.scheda-manuale,:is(.cruscotto,.griglia) > .riquadro)::before{content:"";position:absolute;inset:0 0 auto 0;height:2.875rem;background-color:var(--c,var(--corallo))}
/* «I tuoi moduli» (ul.scorciatoie, prima pagina di chi è entrato): schede come le notizie, con lo scorcio della copertina; il colore parte dal mare */
.scorciatoie{gap:1rem}
.scorciatoie > :nth-child(4n+1){--c:var(--mare);--p:60% 45%}
.scorciatoie > :nth-child(4n+2){--c:var(--turchese);--p:90% 70%}
.scorciatoie > :nth-child(4n+3){--c:var(--sabbia);--p:35% 85%}
.scorciatoie > :nth-child(4n+4){--c:var(--corallo);--p:10% 20%}
.scorciatoie > li > a{position:relative;overflow:hidden;padding-top:calc(.8rem + 2.875rem);background:var(--scheda);border:1px solid var(--linea);
  border-bottom:3px solid var(--c);box-shadow:0 1px 2px var(--ombra);transition:transform .15s,box-shadow .15s}
.scorciatoie > li > a:hover{transform:translateY(-2px);box-shadow:0 .4rem 1rem var(--ombra)}
.scorciatoie > li > a::before{content:"";position:absolute;inset:0 0 auto 0;height:2.875rem;
  background-image:linear-gradient(var(--c),var(--c)),url("../img/copertina-portale.a2c9ffefbfcb.webp");background-size:cover,32.5rem auto;
  background-position:0 0,var(--p,50% 30%);background-blend-mode:multiply,normal}
.vetrina-notizie .scheda-vetrina::before{background-image:linear-gradient(var(--c),var(--c)),url("../img/copertina-portale.a2c9ffefbfcb.webp");
  background-size:cover,32.5rem auto;background-position:0 0,var(--p,50% 30%);background-blend-mode:multiply,normal}
.vetrina-prodotti .scheda-vetrina::before{background-size:cover;background-position:center}
.vetrina-prodotti .fascia-manuale-allievo::before{background-image:url("../img/shop/manuale-allievo.bf86c4cab577.svg")}
.vetrina-prodotti .fascia-kit-istruttori::before{background-image:url("../img/shop/kit-istruttori.ceb27669d9cd.svg")}
.vetrina-prodotti .fascia-glossario-tascabile::before{background-image:url("../img/shop/glossario-tascabile.92d8a658be6a.svg")}
.vetrina-prodotti .fascia-programma-allenamento::before{background-image:url("../img/shop/programma-allenamento.1948a2349c4a.svg")}
.vetrina-prodotti .fascia-valutazione-piscina::before{background-image:url("../img/shop/valutazione-piscina.cd064f780af3.svg")}
.vetrina-prodotti .fascia-quaderno-bordo-vasca::before{background-image:url("../img/shop/quaderno-bordo-vasca.3b9d658d7b84.svg")}
.vetrina-prodotti .fascia-logbook-carta::before{background-image:url("../img/shop/logbook-carta.aee00264a576.svg")}
.vetrina-prodotti .fascia-logbook-rilegato::before{background-image:url("../img/shop/logbook-rilegato.708981f4c48f.svg")}
.vetrina-prodotti .fascia-diving-evidenza::before{background-image:url("../img/shop/diving-evidenza.308a5f183d5f.svg")}
@media (prefers-reduced-motion:reduce){
  .testata,.testata *,.scheda-vetrina,.scheda-manuale,.riquadro,.scorciatoie a{transition:none}
  :is(.scheda-vetrina,.scheda-manuale,:is(.cruscotto,.griglia) > .riquadro,.scorciatoie > li > a):hover{transform:none}
}

/* ===== Prime pagine dei moduli (2026-10-21, sito/inizio_modulo.html): cruscotto per chi è entrato, landing per gli altri ===== */
.cruscotto{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:1rem;list-style:none;margin:1.5rem 0 2rem;padding:0}
.riquadro{display:flex;flex-direction:column;background:var(--superficie);border:2px solid var(--linea);border-radius:.6rem;padding:1rem 1.1rem}
.riquadro h2{font-size:1.25rem;margin:0 0 .3rem}
.riquadro p{margin:0 0 .6rem}
.riquadro-numero{font-size:1.1rem;font-weight:700;color:var(--accento)}
.riquadro .riquadro-azioni{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:auto 0 0;font-weight:600}
.riquadro-azioni a{display:inline-flex;align-items:center;min-height:2.75rem}
.schermate{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1.2rem;margin:1rem 0 1.5rem}
.schermate figure{margin:0}
.schermate img{display:block;width:100%;height:auto;border:1px solid var(--linea);border-radius:.5rem}
.schermate figcaption{margin-top:.4rem;color:var(--testo-2);font-size:.95rem}
.punti{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.6rem;max-width:48rem}
.punti li{border-left:.3rem solid var(--corallo);padding:.2rem 0 .2rem .8rem}
.invito-finale{background:var(--superficie);border:2px solid var(--linea);border-radius:.6rem;padding:1rem 1.2rem;margin:2rem 0 1.5rem;max-width:48rem}
.invito-finale h2{margin-top:0}

/* ===== Biblioteca del mare: libri, vista ridotta per HYDRA, indici ===== */
main{min-height:60vh}
/* Libri, film e arte; Libri, racconti, saggi, documentari (libri/) */
.titolo-opera{font-size:1.25rem;margin:.1rem 0 .3rem}
.autore-opera{font-weight:600}
.filtri-opere{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:0 1rem;align-items:end;margin:0 0 .5rem}
.filtri-opere .campo{margin-bottom:.8rem}
.filtri-pulsanti{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .8rem}
.copertina-opera{display:block;max-width:min(100%,20rem);height:auto;margin:0 0 1rem;border:1px solid var(--linea);border-radius:.4rem}
.spunte .aiuto,.spunte .errore{flex-basis:100%;margin:0}
/* un fieldset si allarga quanto la tabella che contiene: così la tabella scorre dentro la pagina */
.collegamenti-opera{min-width:0;max-width:100%;border:1px solid var(--linea);border-radius:.4rem;padding:.4rem .8rem .8rem}
.collegamenti-opera legend{font-weight:600;padding:0 .3rem}
.scheda-opera .voci{max-width:48rem}
/* Vista ridotta dei manuali ESA per HYDRA (manuali/esa.py) */
.ridotta{padding:1rem 0 2rem}
.ridotta h1{font-size:1.6rem;margin:0 0 .3rem}
.ridotta .indice-ridotto{padding-left:1.4rem}
.ridotta .indice-ridotto li{margin:.25rem 0;overflow-wrap:anywhere}
/* indice delle sezioni di «Libri, film e arte» (2026-10-12): pulsanti in riga, non l'elenco puntato dei moduli */
.indice-sezioni ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1rem 0 1.5rem;padding:0}
.indice-sezioni a{display:inline-block;padding:.4rem 1rem;border:2px solid var(--bordo-campo);border-radius:2rem;
  background:var(--superficie);color:var(--testo);text-decoration:none;font-weight:600}
.indice-sezioni a:hover{border-color:var(--accento);text-decoration:underline}

/* ===== Biblioteca del mare: la Manualistica (portata da MySea) ===== */
/* elenco dei manuali */
.griglia{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1rem 0}
.scheda-manuale{border-radius:.45rem;padding:3.075rem 1rem .6rem;
  overflow-wrap:break-word}
.scheda-manuale h3{font-size:1.2rem;margin:.8rem 0 .4rem}
.scheda-manuale .etichetta{margin-right:.3rem}
.piccolo{font-size:.9rem}
.tenue{color:var(--testo-2)}
/* briciole e sfoglia */
.briciole ol{list-style:none;margin:1rem 0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem .5rem;font-size:.92rem}
.briciole li{overflow-wrap:anywhere}
.briciole li+li::before{content:"›";margin-right:.5rem;color:var(--testo-2)}
.sfoglia{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;margin-top:2rem;max-width:48rem}
.sfoglia a{max-width:100%;white-space:normal;text-align:left;overflow-wrap:break-word}
/* il manuale */
/* il testo dei manuali un paio di punti più grande e con più aria (2026-10-07, come nei manuali Word di ESA) */
.manuale{max-width:50rem;overflow-wrap:break-word;font-size:1.2rem;line-height:1.7}
.manuale p,.manuale li{margin-bottom:.7rem}
.manuale h1{margin-top:.2em;font-size:2.6rem}
.manuale h2{font-size:1.9rem}
.manuale h3{font-size:1.5rem}
.testa-manuale .loghi{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center;margin:1rem 0 .4rem}
.testa-manuale .loghi img{height:4.5rem;width:auto;background:var(--carta);padding:.3rem .5rem;border-radius:.4rem}
.testa-manuale .riga-titolo + br + .riga-titolo{font-size:.7em;color:var(--accento)}
/* l'ESA point che consegna il manuale, in testa (2026-10-23): logo su fondo chiaro, nome e recapiti; la foto piccola di copertina */
.esa-point-copertina{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:1rem 0 .6rem;padding-bottom:.8rem;border-bottom:1px solid var(--linea)}
.esa-point-copertina p{margin:0}
.esa-point-logo{height:4.5rem;width:auto;max-width:9rem;object-fit:contain;background:var(--carta);padding:.3rem;border-radius:.4rem}
.esa-point-ruolo{font-size:.85rem;color:var(--testo-2);text-transform:uppercase;letter-spacing:.06em}
.esa-point-nome{font-size:1.3rem;font-weight:700;color:var(--accento)}
.esa-point-recapiti{font-size:.95rem;color:var(--testo-2);overflow-wrap:anywhere}
.esa-point-recapiti span + span::before{content:" · "}
.foto-copertina-piccola img{display:block;width:100%;max-width:16rem;height:auto;border-radius:.4rem}
/* l'opuscolo «Elenco ESA point»: il logo nei contatti, piccolo; le fonti in fondo alla pagina */
.figura-logo img{width:auto;max-width:10rem;max-height:6rem;background:var(--carta);padding:.3rem;border-radius:.4rem}
.fonte-esa-point{font-size:.9rem;color:var(--testo-2);overflow-wrap:anywhere}
.tabella-capitoli th[scope="row"]{font-weight:500;text-align:left}
/* la ricerca in tutto il sito (2026-10-23): titolo, percorso di dove si trova (briciole), frammento */
.risultati-sorgente{margin:1.5rem 0}
.risultati-sorgente .conta{font-weight:400;color:var(--testo-2);font-size:1rem}
.risultati-ricerca{list-style:none;margin:0;padding:0}
.risultati-ricerca li{padding:.6rem 0;border-bottom:1px solid var(--linea)}
.risultati-ricerca p{margin:0 0 .2rem}
.risultato-titolo{font-weight:600;font-size:1.05rem}
.risultato-dove{font-size:.9rem;color:var(--testo-2);overflow-wrap:anywhere}
.risultato-dove span + span::before{content:" › "}
.risultato-frammento{font-size:.95rem;overflow-wrap:anywhere}
.manuale .sottotitolo{font-size:1.2rem;color:var(--testo-2);margin-top:-.3rem}
.manuale .dati-manuale{color:var(--testo-2);margin:.2rem 0 1rem;font-weight:500}
.manuale li{margin:.2rem 0}
.manuale p em:only-child{color:var(--testo-2)}
.manuale code{overflow-wrap:anywhere}
.manuale pre{overflow-x:auto;background:var(--superficie);border:1px solid var(--linea);padding:.7rem;border-radius:.3rem}
.manuale blockquote{border-left:.3rem solid var(--accento);margin:1rem 0;padding:.1rem 1rem;background:var(--superficie)}
.manuale .tabella table{min-width:0}
.manuale th,.manuale td{border:1px solid var(--linea)}
.manuale thead th{background:var(--campo);font-weight:700}
.avviso-bozza{border:1px solid var(--nota-bordo);border-left:.4rem solid var(--nota-bordo);background:var(--nota);
  color:var(--testo);border-radius:.4rem;padding:.6rem .9rem}
.revisione{font-size:.92rem}
.lingue ul{list-style:none;display:flex;flex-wrap:wrap;gap:.8rem;padding:0;margin:.5rem 0}
.lingue a[aria-current]{font-weight:700}
.indice-manuale ul{padding-left:1.2rem}
.indice-manuale > ul{padding-left:0;list-style:none}
.indice-manuale > ul > li{margin:.45rem 0}
.intro-gruppo{color:var(--testo-2)}
/* riquadri :::nome */
.box{border:1px solid var(--linea);border-left:.4rem solid var(--bordo-campo);background:var(--superficie);
  border-radius:.5rem;padding:.5rem 1.2rem .8rem;margin:1.5rem 0;line-height:1.6}
.box-titolo{font-weight:800;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;margin:.4rem 0;
  display:flex;align-items:center;gap:.5rem}
/* simboli dei riquadri (manuali/simboli.py): linee che prendono il colore del titolo */
.box-titolo .simbolo{flex:none;width:3.6rem;height:3.6rem;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.box > :last-child{margin-bottom:.2rem}
.box-obiettivi{border-left-color:var(--accento)}
.box-sicurezza{border:2px solid var(--errore);border-left-width:.5rem}
.box-sicurezza .box-titolo{color:var(--errore)}
.box-avvertenza{border:2px solid var(--cta);border-left-width:.5rem}
.box-ricorda,.box-regola-doro{border-left-color:var(--ok)}
.box-approfondimento,.box-advanced{border-left-style:double;border-left-width:.5rem}
.box-verifica,.box-esercizio,.box-attrezzatura{border-left-color:var(--testo-2)}
.box-sfida{border:2px dashed var(--accento);border-left:.4rem solid var(--accento)}
/* quaderno Kids (2026-10-23): i consigli di Otto, il polpo-istruttore (muta blu), e le curiosità «Lo sapevi che…» */
.box-polpo{border:2px solid var(--mare);border-left:.5rem solid var(--mare);border-radius:1.2rem}
.box-lo-sapevi{border:2px dotted var(--corallo);border-left:.5rem solid var(--corallo)}
.box-sfida ul{list-style:none;padding-left:.2rem}
.box-soluzioni{border:2px solid var(--accento);background:var(--campo)}
.box-proposta{border:3px solid var(--accento);border-left-width:.6rem}
.box-proposta .box-titolo{font-size:1.35rem}
.box-da-definire{background:var(--nota);border-color:var(--nota-bordo)}
.casella{display:inline-block;width:1em;height:1em;border:2px solid var(--testo);border-radius:.2rem;
  vertical-align:-.12em;margin-right:.45em}
.in-definizione{border:1px dashed var(--nota-bordo);background:var(--nota);color:var(--testo);border-radius:.25rem;
  padding:0 .3rem;font-weight:600}
/* figure */
.figura{margin:1.4rem 0}
.figura img{display:block;border-radius:.5rem}
.figura-foto img{width:100%;height:auto}
/* ritratti delle persone (formato=ritratto, 2026-10-10): a destra del testo sugli schermi larghi */
.figura-ritratto img{width:100%;max-width:16rem;height:auto}
@media (min-width:40rem){.figura-ritratto{float:right;width:14rem;margin:0 0 1rem 1.2rem}.figura-ritratto img{max-width:none}}
.manuale h2,.manuale h3{clear:both}
.figura figcaption{color:var(--testo-2);font-style:italic;margin-top:.4rem}
/* tavola di riquadri (:::tavola, 2026-10-09): una figura per riquadro, didascalia che spiega il segnale */
.tavola-riquadri{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:.8rem;margin:1.4rem 0}
.tavola-riquadri .figura{margin:0;border:2px solid var(--bordo-campo);border-radius:.5rem;padding:.6rem;background:var(--superficie)}
.tavola-riquadri .figura img{width:100%;height:auto}
.tavola-riquadri figcaption{font-style:normal;color:var(--testo);font-size:.95rem}
.tavola-riquadri.tavola-due{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}
/* in stampa: le righe per rispondere sotto le domande */
@media print{.box-verifica li::after,.box-sfida li::after{content:"";display:block;height:3rem;border-bottom:1px solid var(--linea)}}
.figura.segnaposto{border:2px dashed var(--bordo-campo);border-radius:.5rem;background:var(--campo);padding:.8rem 1rem;min-height:6rem}
.figura-etichetta{font-weight:600;margin:0 0 .3rem;color:var(--testo-2)}
.figura.segnaposto figcaption{font-style:italic}
/* Scarica il PDF: il pulsante da solo sulla sua riga (bersagli distanti, WCAG 2.5.8) */
.scarica-pdf{margin:1.2rem 0}
.scarica-pdf p{margin:.5rem 0}
/* ricerca nei manuali */
.risultati-ricerca{list-style:none;padding:0}
.risultati-ricerca li{margin:0 0 1rem;overflow-wrap:anywhere}
/* Pannello «Immagini del manuale» (amministratori, 2026-10-08) */
.elenco-figure{list-style:none;padding:0;margin:1rem 0}
.riga-figura{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;padding:1rem 0;border-top:1px solid var(--linea)}
.figura-anteprime{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}
.figura-anteprime figure{margin:0;flex:1 1 min(100%,10rem);max-width:22rem;min-width:0}
.figura-anteprime img{display:block;width:100%;height:auto;border-radius:.3rem;border:1px solid var(--linea)}
.segnaposto-piccolo{border:2px dashed var(--bordo-campo);border-radius:.3rem;padding:1.5rem .6rem;margin:0;text-align:center;background:var(--campo)}
.titolo-figura{font-size:1.1rem;margin:0 0 .3rem}
/* pannello «Simboli dei riquadri» (2026-10-09) */
.elenco-simboli{list-style:none;padding:0;margin:1rem 0}
.riga-simbolo{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:.8rem 0;border-top:1px solid var(--linea)}
.anteprima-simbolo .simbolo{width:3.6rem;height:3.6rem;color:var(--accento)}
.anteprima-base .simbolo{width:1.6rem;height:1.6rem;vertical-align:middle}
.anteprima-riquadro{display:flex;align-items:center;gap:.6rem}
.anteprima-riquadro .simbolo{width:3.6rem;height:3.6rem}
.scelta-simboli{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,9rem),1fr));gap:.5rem;border:1px solid var(--linea);border-radius:.5rem;padding:.8rem}
.scelta-simboli label{display:flex;align-items:center;gap:.4rem;padding:.4rem;border:1px solid var(--bordo-campo);border-radius:.35rem;min-height:2.75rem;cursor:pointer}
.scelta-simboli .simbolo-scelta{width:2rem;height:2rem;flex:none}
.crediti-figura{font-style:normal;font-size:.9em}

/* ===== Allenamenti: sessioni, esercizi, esecuzioni ===== */
/* Allenamenti: sessioni, esercizi, esecuzioni */
.filtri{display:flex;flex-wrap:wrap;gap:0 1rem;align-items:flex-end;margin:1rem 0 .5rem}
.filtri .campo{flex:1 1 12rem;min-width:0}
.filtri p{margin:0 0 1.1rem}
.azioni-scheda{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 1rem;padding:0}
.azioni-scheda form{margin:0}
.tabella table.fasi td:nth-child(n+2){white-space:nowrap}
.riga-titolo td{font-weight:700;border-top:2px solid var(--testo)}
.riga-recupero td:first-child,.riga-giro td:first-child{font-style:italic}
.sforamento{color:var(--errore)}
.blocco{margin-top:2rem}
.riga-totale th,.riga-totale td{font-weight:700;border-top:2px solid var(--testo);text-align:left}
.genera{margin:0}
.riquadro,.gruppi{border:1px solid var(--linea);border-radius:.35rem;padding:.6rem 1rem;margin:0 0 1.2rem;min-width:0}
.riquadro legend,.gruppi legend{font-weight:700;padding:0 .3rem}
.gruppi.con-errore{border-color:var(--errore)}
textarea.codice{font-family:ui-monospace,"DejaVu Sans Mono",Menlo,Consolas,monospace;font-size:.92rem;line-height:1.45}
.avviso-fisso{border:2px solid var(--accento);border-left-width:.5rem;background:var(--superficie);padding:.6rem 1rem;border-radius:.3rem;margin:1rem 0}
.avviso-pericolo{border:2px solid var(--errore);border-left-width:.6rem;background:var(--superficie);padding:.2rem 1rem;border-radius:.3rem;margin:0 0 1.2rem}
.figura-esercizio{margin:0 0 1.5rem}
.figura-esercizio img{display:block;max-height:32rem;width:auto;border:1px solid var(--linea);border-radius:.3rem}
/* 0.11: la scheda della sessione con i dati iniziali su due colonne (una sotto i 40rem) */
.voci.due-colonne{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}
.voci.due-colonne div{grid-template-columns:minmax(0,1fr);gap:.1rem;padding:.35rem 0}
@media (max-width:40em){.voci.due-colonne{grid-template-columns:minmax(0,1fr)}}
/* 0.11: moduli più compatti nelle pagine delle sessioni (campi più bassi; bordi e area di tocco restano AA) */
.compatto .campo{margin-bottom:.7rem}
.compatto .campo label{margin-bottom:.15rem}
.compatto .campo input:not([type=checkbox]):not([type=radio]),.compatto .campo select,.compatto .campo textarea,
.compatto .cerca input{padding:.3rem .5rem}
.compatto .campo textarea{min-height:4rem}
.compatto .filtri p{margin-bottom:.7rem}
.spunte-in-riga{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem;align-items:center}
.spunte-in-riga legend,.spunte-in-riga .aiuto,.spunte-in-riga .errore{flex-basis:100%}
.spunte-in-riga .campo{margin:0}
.valenze-elenco{margin:.2rem 0 0}
.elenco-semplice{margin:0;padding-left:1.2rem}
.elenco-semplice li{margin:.25rem 0}

/* ===== Allenamenti: il creatore di statica, dinamica e nuoto ===== */
.creatore{max-width:72rem}
/* «hidden» vale anche sui pulsanti, che hanno un display proprio */
.creatore [hidden]{display:none !important}
.cr-testa{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1.5rem;margin-bottom:1.1rem}
.cr-testa h1{margin-bottom:.3rem}
.cr-testa .sotto{margin:0;max-width:44rem}
.cr-azioni,.cr-barra-pulsanti{display:flex;flex-wrap:wrap;gap:.5rem}
.cr-barra-pulsanti{margin-top:.8rem}
.cr-pannello{background:var(--superficie);border:1px solid var(--linea);border-radius:.6rem;margin-bottom:.8rem;min-width:0}
.cr-ph{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .9rem;border-bottom:1px solid var(--linea);flex-wrap:wrap}
.cr-ph h2{margin:0;font-size:1.35rem}
.cr-ph-campi{display:flex;gap:.9rem;align-items:center;flex-wrap:wrap}
.cr-pb{padding:.7rem .9rem}
.cr-pb[hidden]{display:none}
.cr-stato{margin:0;font-size:.95rem;color:var(--testo-2)}
.cr-stato.errore{color:var(--errore);font-weight:600}
.cr-escluso{margin:.6rem 1.1rem 0;font-weight:600;color:var(--testo-2)}
/* zone apribili: il titolo è il pulsante (aria-expanded) */
.cr-apri{display:inline-flex;align-items:center;gap:.6rem;border:0;background:none;padding:.1rem .25rem;margin-left:-.25rem;
  font:inherit;color:var(--testo);text-align:left;cursor:pointer;border-radius:.25rem}
.cr-freccia{display:inline-block;width:0;height:0;border-left:.45rem solid transparent;border-right:.45rem solid transparent;
  border-top:.55rem solid currentColor;transition:transform .15s}
.cr-apri[aria-expanded="false"] .cr-freccia{transform:rotate(-90deg)}
.cr-dettagli > summary{cursor:pointer;padding:.8rem 1.1rem;font-weight:700;font-size:1.15rem}
.cr-dettagli[open] > summary{border-bottom:1px solid var(--linea)}
/* campi compatti (0.11: più bassi, per guadagnare spazio; area di tocco sempre sopra i 24 px, bordo 3:1) */
.cr-f{display:flex;flex-direction:column;gap:.1rem;font-size:.85rem;font-weight:600;color:var(--testo-2);min-width:0}
.cr-f.cr-in-riga{flex-direction:row;align-items:center;gap:.4rem}
.creatore input:not([type=checkbox]),.creatore select,.creatore textarea{font:inherit;font-size:1rem;font-weight:400;color:var(--testo);
  background:var(--campo);border:1px solid var(--bordo-campo);border-radius:.3rem;padding:.2rem .4rem;min-height:1.75rem;min-width:0;width:100%}
.creatore textarea{resize:vertical}
.creatore input.cr-corto{width:5rem}
.creatore :focus-visible{outline:3px solid var(--fuoco);outline-offset:2px}
.cr-claim{font-style:italic}
.cr-spunta{display:flex;align-items:center;gap:.4rem;font-size:.95rem;color:var(--testo)}
.cr-spunta input{width:1.1rem;height:1.1rem}
.cr-griglia{display:grid;gap:.5rem .6rem}
.cr-g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.cr-g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.cr-spazio{margin-top:.5rem}
.cr-titolo-tabella{margin-bottom:.4rem}
.cr-aiuto{font-size:.9rem;color:var(--testo-2);margin:.4rem 0 0}
/* lunghezza della vasca */
.cr-seg{display:inline-flex;border:1px solid var(--bordo-campo);border-radius:.3rem;overflow:hidden;align-self:flex-start}
.cr-seg button{border:0;border-radius:0;padding:.2rem .8rem;min-height:1.75rem;background:var(--campo);color:var(--testo);font:inherit;font-size:1rem;cursor:pointer}
.cr-seg button[aria-pressed="true"]{background:var(--pulsante);color:var(--pulsante-testo);font-weight:700}
/* barra del tempo */
.cr-budget{padding:.9rem 1.1rem .25rem}
.cr-numeri{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.1rem;margin-bottom:.5rem}
.cr-grande{font-size:2rem;font-weight:800;line-height:1}
.cr-su{color:var(--testo-2)}
.cr-esito{font-weight:700}
.cr-esito.ok{color:var(--ok)}
.cr-esito.sfora{color:var(--errore)}
.cr-distanza{font-weight:700}
.cr-totale{padding:.8rem 1.1rem;margin:0;font-size:1.05rem}
.cr-corsia{position:relative;height:1.4rem;border-radius:.25rem;border:1px solid var(--bordo-campo);overflow:hidden;display:flex;
  background:repeating-linear-gradient(90deg,var(--campo) 0 1.1rem,var(--fondo) 1.1rem 1.25rem)}
.cr-tratto{height:100%;border-right:1px solid var(--superficie);min-width:1px;flex:0 0 auto}
.cr-tratto.prep{background:var(--preparazione)}
.cr-tratto.apnea{background:var(--corsia)}
.cr-tratto.rec{background:var(--corsia-chiara)}
.cr-tratto.trans{background:repeating-linear-gradient(135deg,var(--corsia-chiara) 0 .25rem,var(--superficie) .25rem .45rem)}
.cr-limite{position:absolute;top:-1px;bottom:-1px;width:3px;background:var(--fune)}
.cr-legenda{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.8rem;color:var(--testo-2);margin:.5rem 0 0;padding:0;list-style:none}
.cr-legenda i{display:inline-block;width:.65rem;height:.65rem;border-radius:.1rem;margin-right:.3rem;vertical-align:-.05rem;border:1px solid var(--bordo-campo)}
.cr-legenda i.prep{background:var(--preparazione)}
.cr-legenda i.apnea{background:var(--corsia)}
.cr-legenda i.rec{background:var(--corsia-chiara)}
.cr-legenda i.trans{background:repeating-linear-gradient(135deg,var(--corsia-chiara) 0 .2rem,var(--superficie) .2rem .32rem)}
.cr-legenda i.limite{background:var(--fune)}
/* le righe: in colonna di tabella se c'è posto, altrimenti tre per riga */
.cr-righe{display:flex;flex-direction:column;container-type:inline-size;container-name:righe}
.cr-riga{display:grid;gap:.4rem;align-items:end;padding:.35rem 0;border-bottom:1px dashed var(--linea)}
.cr-riga:last-child{border-bottom:0}
.cr-calc{font-size:1.1rem;font-weight:700;text-align:right;white-space:nowrap}
.cr-calc small{display:block;font-size:.72rem;font-weight:400;color:var(--testo-2)}
/* il riepilogo del titoletto (fase × giri, recuperi tra i giri) va a capo se non ci sta */
.cr-riga.titolo .cr-calc small{white-space:normal}
.cr-ctl{display:flex;gap:.15rem;justify-content:flex-end}
.cr-icona{font:inherit;font-size:.95rem;line-height:1.2;min-width:1.75rem;min-height:1.75rem;padding:.1rem .35rem;cursor:pointer;
  border:1px solid var(--linea);border-radius:.3rem;background:var(--superficie);color:var(--testo)}
.cr-icona:hover{border-color:var(--accento)}
.cr-icona:disabled{cursor:default;border-style:dashed;color:var(--testo-2)}
/* schede (pattern «tab»): Allenamento, Il tuo archivio, Invia per mail */
.cr-schede{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:2px solid var(--linea);margin:0 0 .8rem}
.cr-schede [role=tab]{font:inherit;font-weight:600;color:var(--testo);background:var(--superficie);border:1px solid var(--linea);
  border-bottom:0;border-radius:.4rem .4rem 0 0;padding:.35rem .9rem;margin-bottom:-2px;cursor:pointer;min-height:2rem}
.cr-schede [role=tab][aria-selected=true]{font-weight:800;border-color:var(--bordo-campo);border-bottom:3px solid var(--accento);background:var(--fondo)}
.cr-schede [role=tab]:hover{text-decoration:underline}
.cr-da-salvare{font-weight:600;color:var(--errore)}
.cr-scheda:focus-visible{outline:3px solid var(--fuoco);outline-offset:2px}
/* ordine delle sezioni, nomi nuovi dello staff, valenza */
.cr-ordine{display:inline-flex;gap:.15rem}
.cr-staff-nuovi{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:.4rem 0 0;font-size:.9rem}
.cr-valenza{padding-top:0}
.cr-riga.st{grid-template-columns:minmax(7.5rem,2fr) 1fr 1fr 4.5rem 5.6rem 5.6rem auto}
.cr-riga.dy{grid-template-columns:4rem 4.5rem 5.25rem minmax(5rem,1.2fr) minmax(5rem,1.2fr) 4.5rem 5.6rem 4.5rem 5rem 5rem auto}
.cr-riga.dy.corsie{grid-template-columns:4rem 5.25rem minmax(7.5rem,1fr) minmax(7.5rem,1fr) 5.25rem 5.25rem auto}
/* 0.13: in dinamica «Esercizio» è un campo solo (niente «Tipo») e prende anche il suo posto */
.cr-riga.dy.unico{grid-template-columns:4rem 4.5rem 5.25rem minmax(10rem,2.4fr) 4.5rem 5.6rem 4.5rem 5rem 5rem auto}
.cr-riga.titolo{grid-template-columns:minmax(8.75rem,1fr) 5.6rem 6.25rem 9.4rem auto;padding:.75rem 0 .25rem;border-bottom:1px solid var(--accento)}
.cr-riga.titolo > input{font-weight:700;font-size:1.05rem}
.cr-riga.trans{grid-template-columns:1fr auto;align-items:center;padding:.4rem .6rem;margin:.4rem 0;border:0;border-radius:.3rem;
  background:repeating-linear-gradient(135deg,var(--superficie) 0 .4rem,var(--campo) .4rem .75rem);font-size:.85rem;color:var(--testo-2)}
.cr-riga.trans[hidden]{display:none}
.cr-riga.trans .cr-calc{font-size:.95rem;color:var(--testo)}
.cr-tag{font-size:.8rem;color:var(--testo-2);align-self:center}
.cr-codice{grid-column:1/-1;margin:-.2rem 0 0;font-size:.85rem;color:var(--testo-2)}
.cr-st-prep-tag{grid-column:span 2}
@container righe (max-width:67rem){
  .cr-riga.st,.cr-riga.dy,.cr-riga.dy.corsie,.cr-riga.dy.unico,.cr-riga.titolo{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cr-riga.titolo > input,.cr-riga .cr-ctl,.cr-riga .cr-largo{grid-column:1/-1}
  .cr-st-prep-tag{grid-column:auto}
}
@container righe (max-width:24rem){
  .cr-riga.st,.cr-riga.dy,.cr-riga.dy.corsie,.cr-riga.dy.unico,.cr-riga.titolo{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* loghi */
.cr-loghi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));gap:.75rem}
.cr-logo{border:1px dashed var(--linea);border-radius:.5rem;padding:.6rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}
.cr-logo-vista{height:3.75rem;display:flex;align-items:center;justify-content:center;background:var(--carta);border-radius:.3rem}
.cr-logo-vista img{max-height:3.25rem;max-width:100%}
.cr-logo-vista span{color:var(--carta-testo);font-size:.85rem}
.cr-logo-riga{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;font-size:.85rem}
/* libreria degli esercizi */
.cr-dialogo{width:min(40rem,calc(100% - 2rem));max-height:calc(100% - 2rem);border:1px solid var(--bordo-campo);border-radius:.6rem;
  background:var(--superficie);color:var(--testo);padding:1rem 1.2rem}
.cr-dialogo h2{margin-top:0}
.cr-libreria{list-style:none;margin:.5rem 0;padding:0;max-height:22rem;overflow-y:auto;border-top:1px solid var(--linea)}
.cr-libreria li{border-bottom:1px solid var(--linea)}
.cr-libreria button{display:block;width:100%;text-align:left;font:inherit;padding:.5rem .4rem;border:0;background:none;color:var(--testo);cursor:pointer}
.cr-libreria button:hover{background:var(--campo)}
.cr-libreria small{display:block;color:var(--testo-2);font-size:.85rem}
.cr-libreria .attenzione{color:var(--errore);font-weight:700}
/* avviso breve in basso: fuori dalla vista finché è vuoto, ma sempre nella pagina per i lettori di schermo */
.cr-toast{position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);background:var(--testo);color:var(--fondo);
  padding:.55rem 1rem;border-radius:.4rem;font-size:.9rem;max-width:min(36rem,calc(100% - 2rem));z-index:20}
.cr-toast:not(.mostra){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;white-space:nowrap}
.cr-toast a{color:inherit}
@media (prefers-reduced-motion:reduce){.cr-freccia{transition:none}}

/* ===== Mylogbook: mappa, località e specie ===== */
/* Mappa delle località */
.mappa{height:24rem;max-height:60vh;margin:1rem 0;border:1px solid var(--linea);border-radius:.4rem}
/* Mappa (Leaflet): comandi e attribuzione con i colori del tema; le tessere di OpenStreetMap restano chiare.
   #mappa davanti: leaflet.css arriva dopo questo foglio e vincerebbe a parità di selettore. */
#mappa .leaflet-bar a,#mappa .leaflet-bar a:hover{background:var(--superficie);color:var(--testo);border-bottom-color:var(--linea)}
#mappa .leaflet-bar{border:2px solid var(--bordo-campo)}
#mappa .leaflet-control-attribution{background:var(--superficie);color:var(--testo-2)}
#mappa .leaflet-control-attribution a{color:var(--accento)}
#mappa .leaflet-popup-content-wrapper,#mappa .leaflet-popup-tip{background:var(--superficie);color:var(--testo)}
/* Specie (0.6): foto salvate sul sito, con autore e licenza sotto */
.specie{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:1rem;list-style:none;margin:1rem 0 2rem;padding:0}
.specie-scheda{margin:0;padding:.6rem;border:1px solid var(--linea);border-radius:.4rem;background:var(--superficie);overflow-wrap:anywhere}
.specie-scheda img{display:block;width:100%;height:auto;border-radius:.3rem;margin-bottom:.4rem}

/* ===== Viaggi: simulatore, grafico e iscrizioni ===== */
.pos{color:var(--ok);font-weight:600}
.neg{color:var(--errore);font-weight:600}
td.numeri{white-space:nowrap;text-align:right}
.modulo-nuovo{max-width:34rem}
.det{display:block;color:var(--testo-2);font-size:.85rem;overflow-wrap:anywhere}
/* Prima pagina di Sea Travel (2026-10-23): gli strumenti in una riga di pulsanti; i viaggi in partenza in schede con la foto,
   la destinazione in alto, le date, la quota e «Iscriviti» in fondo (stile catalogo di viaggi) */
.azioni-modulo ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1.2rem 0 1.5rem;padding:0}
.azioni-modulo .pulsante{font-size:.95rem}
.azioni-modulo .conta{font-weight:400}
.viaggi-in-partenza{margin:1.5rem 0 2rem}
.schede-viaggi{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1.2rem;list-style:none;margin:0;padding:0}
.scheda-viaggio{display:flex;flex-direction:column;background:var(--superficie);border:1px solid var(--linea);border-radius:.6rem;
  overflow:hidden;box-shadow:0 1px 2px var(--ombra);transition:transform .15s,box-shadow .15s}
.scheda-viaggio:hover{transform:translateY(-2px);box-shadow:0 .4rem 1rem var(--ombra)}
.scheda-viaggio img,.scheda-viaggio-senza-foto{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;
  border-bottom:.25rem solid var(--corallo)}
.scheda-viaggio-senza-foto{background:var(--mare)}
.scheda-viaggio-corpo{display:flex;flex-direction:column;flex:1;padding:.9rem 1.1rem 1rem}
.scheda-viaggio-corpo p{margin:0 0 .5rem}
.scheda-viaggio h3{margin:0 0 .3rem;font-size:1.3rem}
.scheda-viaggio-dove{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accento)}
.scheda-viaggio-quando{font-weight:600}
.scheda-viaggio-quota{font-size:1.05rem}
.scheda-corpo .scheda-viaggio-azioni,.scheda-viaggio-corpo .scheda-viaggio-azioni{margin-top:auto;padding-top:.4rem}
.scheda-viaggio-crediti{font-size:.8rem;color:var(--testo-2);overflow-wrap:anywhere}
.foto-vetrina{margin:0 0 1rem}
.coppia-date{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:0 1rem}
.foto-vetrina img{display:block;width:100%;max-width:32rem;height:auto;border-radius:.4rem}
.foto-vetrina figcaption{font-size:.85rem;color:var(--testo-2)}
@media (prefers-reduced-motion:reduce){.scheda-viaggio{transition:none}.scheda-viaggio:hover{transform:none}}

/* Simulatore: barra del viaggio, commutatore, verdetto */
.barra-viaggio{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:flex-end;margin:0 0 1rem}
.modulo-barra{display:flex;flex-wrap:wrap;gap:0 .8rem;align-items:flex-end;margin:0}
.modulo-barra .campo{margin:0 0 1.1rem;flex:1 1 16rem}
.modulo-barra p{margin:0 0 1.1rem}
.azioni-viaggio{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 1.1rem;padding:0}
.azioni-viaggio form{margin:0}
.commutatore{display:inline-flex;flex-wrap:wrap;margin:0 0 1rem;border:1px solid var(--pulsante);border-radius:.35rem;overflow:hidden}
.commutatore .pulsante{border:0;border-radius:0}
.commutatore .pulsante[aria-pressed="true"]{background:var(--pulsante);color:var(--pulsante-testo)}
.verdetto{background:var(--superficie);border:1px solid var(--linea);border-left:.4rem solid var(--accento);border-radius:.3rem;padding:1rem 1.2rem;margin:0 0 .6rem}
.verdetto .grande{font-size:1.4rem;line-height:1.3;margin:0 0 .4rem;max-width:62ch}
.verdetto .piccolo{margin:0;color:var(--testo-2)}
/* Grafico a colonne: colori da classi, niente fill scritti nei template o nel codice */
.grafico-riquadro{margin:1rem 0 1.6rem}
.grafico-riquadro .tabella{margin-bottom:.4rem}
.grafico{display:block;width:100%;min-width:45rem;height:auto}
.g-linea{stroke:var(--linea);stroke-width:1}
.g-asse{stroke:var(--testo);stroke-width:1.5;pointer-events:none}
.g-testo{fill:var(--testo-2)}
/* la dimensione è nell'attributo font-size: unità del disegno, che cresce con lui */
.g-testo-forte{fill:var(--testo);font-weight:700}
.g-barra{fill:var(--barra)}
.g-barra-sel{fill:var(--accento)}
.g-barra-neg{fill:var(--errore)}
.g-zona{fill:transparent}
g.colonna{cursor:pointer;outline:none}
g.colonna:hover .g-zona{fill:var(--campo)}
g.colonna:focus-visible .g-zona{fill:var(--campo);stroke:var(--fuoco);stroke-width:2}
/* Simulatore e iscrizione: due colonne da 54rem in su, una sola sotto */
.colonne-simulatore{display:grid;grid-template-columns:minmax(0,1fr);gap:0 2rem;align-items:start}
@media (min-width:54rem){
  .colonne-simulatore{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
  /* Risultati e quota restano fermi mentre si scorrono i moduli (come nel simulatore di Area 11). */
  .risultati,.riepilogo{position:sticky;top:1rem}
}
.voce{display:grid;grid-template-columns:minmax(0,1fr) 8rem;gap:.3rem .8rem;align-items:center;margin:.4rem 0}
.voce:has(select){grid-template-columns:minmax(0,1fr) minmax(0,14rem)}
.voce label small{display:block;color:var(--testo-2);font-size:.85rem;font-weight:400}
.voce input,.voce select,.riga-camera input,.mini input{
  font:inherit;color:var(--testo);background:var(--campo);border:2px solid var(--bordo-campo);border-radius:.3rem;
  padding:.3rem .5rem;width:100%;min-width:0}
.voce input:focus,.voce select:focus,.riga-camera input:focus,.mini input:focus{
  outline:3px solid var(--fuoco);outline-offset:2px}
.voce input:disabled,.voce select:disabled,.mini input:disabled,.riga-camera input:disabled{
  background:var(--superficie);color:var(--testo-2);border-style:dashed}
@media (max-width:30rem){.voce,.voce:has(select){grid-template-columns:minmax(0,1fr)}}
.calcolato{font-weight:700;text-align:right}
.riga-camera{display:grid;grid-template-columns:minmax(4.5rem,.8fr) minmax(0,1fr) minmax(0,1fr) minmax(4.5rem,.9fr);gap:.4rem;align-items:center;margin:.4rem 0}
.riga-camera.testa{color:var(--testo-2);font-size:.85rem}
@media (max-width:30rem){.riga-camera{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.riga-camera.testa{display:none}.riga-camera label,.riga-camera output{grid-column:1 / -1}}
.mini{display:block;font-size:.88rem;color:var(--testo-2);min-width:0}
.mini input{display:block;margin-top:.1rem;font-size:1rem}
.riga-extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:.4rem .6rem;align-items:end;margin:.6rem 0;
  padding-top:.5rem;border-top:1px solid var(--linea)}
.riga-extra .mini:first-child{grid-column:1 / -1}
.brevetto{border-top:1px solid var(--linea);padding-top:.5rem;margin-top:.5rem}
.brevetto:first-child{border-top:0;margin-top:0;padding-top:0}
.nome-brevetto{margin:0 0 .3rem}
.riga-brevetto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem .6rem;margin-bottom:.4rem}
/* Tabelle dei risultati */
.risultati h2,.risultati h3{margin-top:1.4rem}
.risultati table,.riepilogo table{min-width:0}
.tabella th.n,.tabella td.n{text-align:right;white-space:nowrap}
.tabella tr.tot td{font-weight:700}
.tabella tr.sep td{color:var(--testo-2)}
.da-controllare{background:var(--nota);border:2px solid var(--nota-bordo);color:var(--testo);border-radius:.35rem;padding:.4rem 1rem .6rem;margin:1rem 0}
.da-controllare h3{margin:.4rem 0 .2rem;font-size:1.1rem}
.da-controllare ul{margin:.2rem 0 0;padding-left:1.2rem}
/* Modulo di iscrizione: scelte come schede */
.scelte{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.6rem;margin:.4rem 0}
.scelta{display:block;border:2px solid var(--linea);border-radius:.5rem;padding:.6rem .8rem;cursor:pointer;background:var(--superficie);min-width:0}
.scelta:has(input:checked){border-color:var(--accento);box-shadow:inset 0 0 0 1px var(--accento)}
.scelta:has(input:focus-visible){outline:3px solid var(--fuoco);outline-offset:2px}
.scelta:has(input:disabled){border-style:dashed;color:var(--testo-2);cursor:default}
.scelta input{margin:0 .4rem 0 0}
.scelta .nota{display:block;margin-top:.15rem;font-size:.9rem}
.scelta .nota.piccolo{font-size:.82rem;line-height:1.35}
.senza-js{margin:0 0 1.5rem}
.riepilogo h2{margin-top:0}
#errore-persone{margin:.2rem 0}
.riquadro .campo:last-child{margin-bottom:.3rem}

/* ===== Portale: profilo, pagina pubblica di una persona, partner (2026-10-20) ===== */
.testa-profilo{margin:0 0 1rem}
.copertina-profilo{display:block;width:100%;height:auto;max-height:12rem;object-fit:cover;border-radius:.4rem;border:1px solid var(--linea)}
.copertina-profilo.vuota{height:5rem;background:var(--superficie)}
.testa-profilo .identita{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:-2rem;padding:0 1rem}
.testa-profilo .identita h1{margin:0;overflow-wrap:anywhere}
.testa-profilo .identita .sotto{margin:.1rem 0 0}
.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--pulsante);color:var(--pulsante-testo);font-weight:700;overflow:hidden;flex:none}
.avatar.grande{width:5rem;height:5rem;font-size:1.6rem;object-fit:cover;border:3px solid var(--fondo)}
.partner .riquadro{margin:0}
/* schede uguali (2026-10-23): righe della stessa altezza, riquadro del logo uguale per tutti, logo intero e piccolo dentro
   il riquadro (object-fit:contain, mai deformato) su fondo chiaro; senza logo, il nome */
ul.partner,ul.piscine{grid-auto-rows:1fr}
ul.piscine{list-style:none;padding:0}
.piscina-logo{max-width:20rem}
.partner-logo-area{display:flex;align-items:center;justify-content:center;height:8rem;margin:0 0 .8rem;padding:.8rem;
  background:var(--carta);border:1px solid var(--linea);border-radius:.4rem}
.partner-logo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.partner-senza-logo{color:var(--carta-testo);font-weight:700;font-size:1.1rem;text-align:center;overflow-wrap:anywhere}
ul.partner{list-style:none;padding:0}
dl.dati{margin:.6rem 0 0}
dl.dati div{display:flex;flex-wrap:wrap;gap:.2rem .6rem;margin:.15rem 0}
dl.dati dt{font-weight:600}
dl.dati dd{margin:0;overflow-wrap:anywhere}
.gruppo-partner{margin-top:1.5rem}
.gruppo-partner h2{margin-bottom:.8rem}
