/* Corsi ScuolaGo · foglio di stile della sezione (SPEC §6). Nessuna libreria esterna; font self-hosted da /assets/fonts/fonts.css.
   Colori e superfici del sito: fondo #F5F6FB con aloni leggeri, card bianche, accento della sezione blu #2D4FC0 (dal 21/10/2026, prima verde petrolio), ATA #3E9BD0, GPS #176E82. */

:root{
  --bg:#F5F6FB; --card:#fff; --line:#e3e9f2; --line-2:#edf1f7; --line-3:#d5deea;
  --txt:#19223A; --soft:#3D4862; --muted:#5A6480;
  --acc:#2D4FC0; --acc-2:#6F8CEB; --acc-d:#1E3A8A; --acc-t:rgba(45,79,192,.09); --acc-b:rgba(45,79,192,.24);
  --gps:#176E82; --ata:#3E9BD0; --ata-d:#22679A; --ok:#2FA36B; --ok-d:#1B6E45; --ok-t:#E6F5EC; --no-d:#9A3412; --no-t:#FCEEE6;
  --oro:#f4c04e; --oro-t:#FFF7E3; --oro-d:#7A5300;
  --r-s:12px; --r:16px; --r-l:22px;
  --ombra:0 1px 2px rgba(28,40,75,.04),0 8px 26px rgba(28,40,75,.07);
  --ombra-h:0 2px 6px rgba(28,40,75,.06),0 20px 48px rgba(28,40,75,.13);
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter','Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;
  --testa:66px; --gutter:16px; --brand:#2D4FC0;
  color-scheme:light;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);color:var(--txt);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--testa) + 12px)}
body{margin:0;font-family:var(--sans);font-size:16.5px;line-height:1.62;color:var(--txt);background:transparent;min-height:100vh;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(900px 540px at 6% -8%,rgba(111,140,235,.17),transparent 62%),
    radial-gradient(760px 520px at 102% 2%,rgba(62,155,208,.13),transparent 60%),
    radial-gradient(900px 640px at 50% 112%,rgba(23,110,130,.09),transparent 62%),
    var(--bg)}
img,svg{max-width:100%}
a{color:var(--acc-d);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--acc)}
p{margin:0 0 12px}
h1,h2,h3,h4{color:var(--txt);margin:0}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(30px,5.4vw,50px);line-height:1.08;letter-spacing:-.022em}
h2{font-family:var(--serif);font-weight:600;font-size:clamp(23px,3.2vw,30px);line-height:1.18;letter-spacing:-.012em;margin-bottom:14px}
.cw-h3{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px}
.cw-h4{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}
.cw-ico{width:1.15em;height:1.15em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cw-sprite{position:absolute;width:0;height:0;overflow:hidden}
.cw-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cw-mini{font-size:13.5px;color:var(--muted);line-height:1.55}
.cw-sotto{color:var(--soft);font-size:15.5px;max-width:68ch}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px;border-radius:6px}
.cw-main:focus{outline:none}
.cw-salta{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--txt);color:#fff;padding:10px 16px;border-radius:10px;font-weight:600}
.cw-salta:focus{left:12px}
html.is-app [data-sg-stripe]{display:none!important}
html:not(.is-app) .cw-solo-app{display:none!important}
html.is-app .cw-solo-web{display:none!important}
[hidden]{display:none!important}

.cw-shell{max-width:1180px;margin:0 auto;padding:0 var(--gutter)}
.cw-stretto{max-width:900px}
@media (min-width:768px){:root{--gutter:28px}}

/* ---------- bottoni ---------- */
.cw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:999px;
  font:700 15px/1.2 var(--sans);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .15s,box-shadow .2s,background-color .2s,border-color .2s;text-align:center}
.cw-btn-p{background:linear-gradient(140deg,var(--acc),var(--acc-d));color:#fff;box-shadow:0 8px 22px rgba(30,58,138,.26)}
.cw-btn-p:hover{color:#fff;box-shadow:0 12px 28px rgba(30,58,138,.34);transform:translateY(-1px)}
.cw-btn-g{background:#fff;border-color:var(--line-3);color:var(--txt)}
.cw-btn-g:hover{border-color:var(--acc);color:var(--acc-d)}
.cw-btn-w{background:#fff;color:var(--acc-d)}
.cw-btn-w:hover{color:var(--acc-d);transform:translateY(-1px);box-shadow:0 10px 26px rgba(0,0,0,.18)}
.cw-btn-o{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.cw-btn-o:hover{background:rgba(255,255,255,.12);color:#fff}
.cw-btn-pieno{width:100%}
.cw-btn-c{background:#fff;border-color:var(--acc-b);color:var(--acc-d)}
.cw-btn-c:hover{background:var(--acc-t);border-color:var(--acc);color:var(--acc-d)}
.cw-btn-c.cw-agg-ok{background:var(--ok-t);border-color:#A9DDC0;color:var(--ok-d)}
.cw-btn-t{background:transparent;border-color:transparent;color:var(--acc-d);min-height:44px}
.cw-btn-t:hover{background:var(--acc-t);color:var(--acc-d)}
html.is-app .cw-btn-t{background:linear-gradient(140deg,var(--acc),var(--acc-d));color:#fff;min-height:48px}
.cw-btn[disabled],.cw-btn[aria-disabled="true"]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.cw-btn-p:focus-visible{outline-color:var(--txt)}
.cw-cta :focus-visible{outline-color:#fff}

/* ---------- header di sezione ---------- */
.cw-testa{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.cw-testa::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(45,79,192,.45),transparent);opacity:.7}
.cw-testa-1{display:flex;align-items:center;gap:14px;min-height:58px}
.cw-marchio{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--txt);min-height:44px;margin-right:auto}
.cw-marchio:hover{color:var(--txt)}
.cw-marchio img{height:30px;width:auto}
.cw-marchio-n{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:-.01em}
.cw-marchio-s{font:700 11.5px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:#fff;background:linear-gradient(140deg,#3B5BDB,#1E3A8A);border-radius:999px;padding:5px 10px 5px}
.cw-marchio-s[aria-current]{box-shadow:0 0 0 3px var(--acc-t)}
.cw-marchio-home{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:inherit;min-height:44px}
.cw-marchio-home:hover{color:var(--txt)}
a.cw-marchio-s{text-decoration:none}
a.cw-marchio-s:hover{color:#fff;filter:brightness(1.06)}

/* pastiglia "Corsi" con il menu delle sezioni del sito (21/10/2026) */
.cw-sz{position:relative;display:inline-flex}
.cw-sz-b{display:inline-flex;align-items:center;gap:5px;border:0;cursor:pointer;min-height:30px;padding:6px 9px 6px 12px;
  box-shadow:0 6px 16px rgba(30,58,138,.25);transition:filter .2s,box-shadow .25s,transform .2s}
.cw-sz-b:hover,.cw-sz-aperto .cw-sz-b{filter:brightness(1.08);box-shadow:0 10px 22px rgba(30,58,138,.32);transform:translateY(-1px)}
.cw-sz-giu{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.2,.9,.25,1.2)}
.cw-sz-aperto .cw-sz-giu{transform:rotate(180deg)}
.cw-sz-p{position:absolute;top:calc(100% + 12px);left:-8px;z-index:80;width:min(380px,calc(100vw - 24px))}
.cw-sz-p::before{content:"";position:absolute;left:0;right:0;top:-14px;height:16px}
.cw-sz-in{position:relative;overflow:hidden;padding:8px;border-radius:24px;
  background:radial-gradient(260px 170px at 90% -20%,rgba(45,79,192,.10),transparent 70%),radial-gradient(240px 170px at 5% 115%,rgba(226,102,42,.08),transparent 70%),linear-gradient(165deg,rgba(255,255,255,.97),rgba(246,249,253,.94));
  border:1px solid rgba(255,255,255,.95);box-shadow:0 30px 70px rgba(20,32,60,.22),0 6px 18px rgba(20,32,60,.08),inset 0 1px 0 #fff;
  transform-origin:30px 0;opacity:0;transform:translateY(-8px) scale(.96);transition:opacity .22s ease,transform .38s cubic-bezier(.2,.95,.25,1.15)}
.cw-sz-aperto .cw-sz-in{opacity:1;transform:none}
.cw-sz-in::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(112deg,transparent 32%,rgba(255,255,255,.85) 47%,transparent 62%) no-repeat;background-size:260% 100%;background-position:130% 0;opacity:0}
.cw-sz-aperto .cw-sz-in::after{animation:cw-sz-luce 1s .1s cubic-bezier(.3,.6,.3,1) both}
@keyframes cw-sz-luce{0%{opacity:1;background-position:130% 0}100%{opacity:1;background-position:-40% 0}}
.cw-sz-hr{border:0;height:1px;margin:6px 12px;background:linear-gradient(90deg,transparent,rgba(38,52,84,.14),transparent)}
.cw-sz-i{--c:#2D4FC0;--t:rgba(45,79,192,.10);position:relative;z-index:1;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:9px 12px;border-radius:16px;
  color:var(--txt);text-decoration:none;opacity:0;transform:translateY(8px);transition:background-color .2s,opacity .3s ease,transform .45s cubic-bezier(.2,.9,.25,1.2)}
.cw-sz-aperto .cw-sz-i{opacity:1;transform:none;transition-delay:0s,calc(var(--i) * 45ms + 60ms),calc(var(--i) * 45ms + 60ms)}
.cw-sz-i:hover{color:var(--txt)}
.cw-sz-gps{--c:var(--gps);--t:rgba(23,110,130,.10)}
.cw-sz-ata{--c:#2F86BF;--t:rgba(62,155,208,.12)}
.cw-sz-academy{--c:#B98300;--t:rgba(214,154,0,.13)}
.cw-sz-dl{--c:#E2662A;--t:rgba(226,102,42,.11)}
.cw-sz-i:hover,.cw-sz-i:focus-visible,.cw-sz-qui{background:var(--t)}
.cw-sz-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--c);background:var(--t);transition:transform .35s cubic-bezier(.2,.9,.25,1.3),background-color .2s,color .2s}
.cw-sz-i:hover .cw-sz-ic,.cw-sz-qui .cw-sz-ic{background:var(--c);color:#fff}
.cw-sz-i:hover .cw-sz-ic{transform:scale(1.08) rotate(-4deg)}
.cw-sz-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cw-sz-t{display:grid;gap:2px;min-width:0;text-transform:none;letter-spacing:0}
.cw-sz-t b{font:700 15px/1.2 var(--sans)}
.cw-sz-t small{font:500 12.5px/1.35 var(--sans);color:var(--muted)}
.cw-sz-sq{font:700 10.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--c);background:#fff;border:1px solid var(--t);border-radius:999px;padding:5px 8px}
@media (prefers-reduced-motion:reduce){.cw-sz-in,.cw-sz-i,.cw-sz-giu{transition:none!important}.cw-sz-aperto .cw-sz-in::after{animation:none}}
/* telefono: da bordo a bordo sotto l'intestazione (l'intestazione ha il backdrop-filter, quindi fa da riferimento al fixed) */
@media (max-width:600px){.cw-sz-p{position:fixed;left:10px;right:10px;width:auto;top:calc(100% + 8px)}.cw-sz-p::before{display:none}}
.cw-testa-1{min-height:64px}
.cw-azioni{display:none;align-items:center;gap:4px;margin-left:auto}
.cw-azioni a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:999px;font-size:14.5px;font-weight:600;color:var(--soft);text-decoration:none}
.cw-azioni a:hover{color:var(--acc-d);background:var(--acc-t)}
.cw-azioni a[aria-current]{color:var(--acc-d);background:var(--acc-t)}
.cw-azioni .cw-torna{display:none;font-size:13px;font-weight:500;color:var(--muted);margin-left:6px;border:1px solid var(--line)}
.cw-carrello{position:relative}
.cw-n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--acc);color:#fff;font-size:11.5px;font-weight:700;line-height:1}
.cw-carrello-m{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;border-radius:12px;color:var(--soft);text-decoration:none}
.cw-carrello-m .cw-n{position:absolute;top:3px;right:0}
.cw-salta-su .cw-n{animation:cw-salta .5s ease}
@keyframes cw-salta{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.cw-menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line-3);background:#fff;color:var(--txt);font:600 14.5px/1 var(--sans);cursor:pointer}
/* bottone del menu: tondo, solo le tre righe, nel colore dei pulsanti della sezione (utente, 21/10/2026) */
.cw-menu-btn{justify-content:center;width:46px;min-width:46px;min-height:46px;padding:0;border:0;color:#fff;background:linear-gradient(140deg,var(--acc),var(--acc-d));box-shadow:0 8px 22px rgba(30,58,138,.26)}
.cw-menu-btn[aria-expanded="true"]{background:linear-gradient(140deg,var(--acc-d),#152A66);color:#fff}

/* le due voci "Personale ATA" e "Docenti GPS" (dal computer) */
.cw-menu{display:none;align-items:center;gap:2px;margin-left:18px}
.cw-mv{position:relative}
.cw-mv-b{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--txt);
  font:650 15px/1 var(--sans);cursor:pointer;transition:background-color .15s,color .15s}
.cw-mv-b::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--g,var(--acc));flex:0 0 auto}
.cw-mv-b .cw-ico{width:16px;height:16px;color:var(--muted);transition:transform .2s}
.cw-mv-b:hover{background:var(--acc-t);color:var(--acc-d)}
.cw-mv-b[aria-expanded="true"]{background:var(--txt);color:#fff}
.cw-mv-b[aria-expanded="true"] .cw-ico{transform:rotate(180deg);color:#fff}
.cw-mv-b.cw-mv-qui:not([aria-expanded="true"]){color:var(--acc-d);box-shadow:inset 0 -2px 0 var(--g,var(--acc))}
.cw-mv-p{position:absolute;top:calc(100% + 10px);left:0;z-index:70;width:min(640px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:18px;
  box-shadow:0 22px 60px rgba(20,32,60,.18),0 2px 6px rgba(20,32,60,.06);padding:10px;animation:cw-giu .16s ease}
@keyframes cw-giu{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.cw-mv-in{display:grid;grid-template-columns:1.25fr 1fr;gap:6px}
.cw-mv-col{padding:8px}
.cw-mv-pk{background:#F7F9FC;border-radius:12px}
.cw-mv-t{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:2px 8px 6px;display:flex;align-items:center;gap:8px}
.cw-mv-l,.cw-mv-lp{list-style:none;margin:0;padding:0}
.cw-mv-l a{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:10px;color:var(--txt);text-decoration:none;line-height:1.3}
.cw-mv-l a b{font-weight:650;font-size:15px}
.cw-mv-l a span{font-size:12.5px;color:var(--muted)}
.cw-mv-l a:hover{background:var(--acc-t)}
.cw-mv-l a:hover b{color:var(--acc-d)}
.cw-mv-l a[aria-current]{background:var(--txt);color:#fff}
.cw-mv-l a[aria-current] span{color:rgba(255,255,255,.75)}
.cw-mv-lp a{display:block;padding:8px 10px;border-radius:10px;color:var(--soft);text-decoration:none;font-size:14px;font-weight:550;line-height:1.3}
.cw-mv-lp a:hover{background:#fff;color:var(--acc-d)}
.cw-mv-tutti{display:inline-flex;align-items:center;gap:6px;margin:8px 10px 2px;font-size:14px;font-weight:700;text-decoration:none}
.cw-gr-ata{--g:var(--ata)}
.cw-gr-doc{--g:var(--gps)}
@media (min-width:980px){
  .cw-menu,.cw-azioni{display:flex}
  .cw-menu-btn,.cw-carrello-m{display:none}
}
@media (min-width:1180px){.cw-azioni .cw-torna{display:inline-flex}}

/* pannello del telefono: tendina di vetro (21/10/2026). Si apre crescendo dal bottone Menu, un riflesso
   attraversa il vetro, le voci entrano una dopo l'altra; sotto, la pagina si vela. Senza script resta il pannello semplice. */
.cw-pannello{position:absolute;left:10px;right:10px;top:calc(100% + 8px);border-radius:26px;
  background:radial-gradient(260px 220px at calc(100% - 40px) -30px,rgba(111,140,235,.26),transparent 72%),linear-gradient(165deg,rgba(255,255,255,.86),rgba(246,249,253,.68) 55%,rgba(234,244,246,.74));
  -webkit-backdrop-filter:saturate(1.7) blur(26px);backdrop-filter:saturate(1.7) blur(26px);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 34px 80px rgba(20,32,60,.24),0 8px 22px rgba(20,32,60,.08),inset 0 1px 0 #fff,inset 0 -1px 0 rgba(45,79,192,.10);
  max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-x:hidden;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain;padding:16px 0 18px}
.cw-pannello>.cw-shell{position:relative;z-index:1}
/* il riflesso che passa sul vetro all'apertura */
.cw-pannello::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(112deg,transparent 30%,rgba(255,255,255,.75) 46%,rgba(160,180,245,.25) 52%,transparent 66%) no-repeat;background-size:260% 100%;background-position:130% 0;opacity:0}
.cw-anim.cw-pannello{transform-origin:calc(100% - 30px) -10px;transform:translateY(-10px) scale(.9);opacity:0;
  transition:transform .55s cubic-bezier(.2,.95,.25,1.12),opacity .28s ease}
.cw-anim.cw-pannello.cw-aperto{transform:none;opacity:1}
.cw-anim.cw-pannello.cw-chiude{transition:transform .38s cubic-bezier(.6,0,.8,.4),opacity .32s ease .06s}
.cw-anim.cw-aperto::before{animation:cw-riflesso 1.25s .18s cubic-bezier(.3,.6,.3,1) both}
@keyframes cw-riflesso{0%{opacity:1;background-position:130% 0}100%{opacity:1;background-position:-40% 0}}
/* le voci entrano in sequenza */
.cw-anim .cw-pan-gr,.cw-anim .cw-pan-fondo{opacity:0;transform:translateY(14px);
  transition:opacity .4s ease,transform .55s cubic-bezier(.2,.9,.25,1.2);transition-delay:0s}
.cw-anim.cw-aperto .cw-pan-gr,.cw-anim.cw-aperto .cw-pan-fondo{opacity:1;transform:none;transition-delay:calc(var(--i,0) * 75ms + 140ms)}
/* velo sulla pagina */
.cw-vela{position:fixed;inset:0;z-index:59;background:rgba(25,34,58,.20);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .4s ease}
.cw-vela.cw-on{opacity:1}
@media (min-width:980px){html:not(.is-app) .cw-vela{display:none}}

.cw-pan-grs{display:grid;gap:12px}
@media (min-width:600px){.cw-pan-grs{grid-template-columns:1fr 1fr}}
.cw-pan-t{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;display:flex;align-items:center;gap:8px}
.cw-pan-t::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--g)}
.cw-pan-gr ul{list-style:none;margin:0;padding:0}
.cw-pan-gr a{display:flex;align-items:center;min-height:44px;padding:6px 12px;border-radius:12px;color:var(--txt);text-decoration:none;font-weight:500;line-height:1.3;transition:background-color .2s,transform .2s}
.cw-pan-gr a:hover,.cw-pan-gr a:active{background:rgba(45,79,192,.10)}
.cw-pan-gr a:active{transform:scale(.98)}
.cw-pan-gr a[aria-current]{background:var(--txt);color:#fff;box-shadow:0 8px 20px rgba(25,34,58,.22)}
.cw-pan-t2{margin-top:10px}
.cw-pan-gr{border-radius:20px;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.95);
  box-shadow:0 8px 24px rgba(20,32,60,.06),inset 0 1px 0 #fff;transition:background-color .3s,box-shadow .3s}
.cw-pan-gr:has(.cw-pan-b[aria-expanded="true"]){background:rgba(255,255,255,.72);box-shadow:0 14px 34px rgba(20,32,60,.10),inset 0 1px 0 #fff}
.cw-pan-b{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 16px;border:0;border-radius:20px;background:transparent;
  color:var(--txt);font:700 16.5px/1.2 var(--sans);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}
.cw-pan-b::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--g,var(--acc));flex:0 0 auto;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--g,var(--acc)) 18%,transparent);transition:box-shadow .35s}
.cw-pan-b[aria-expanded="true"]::before{box-shadow:0 0 0 6px color-mix(in srgb,var(--g,var(--acc)) 22%,transparent),0 0 14px var(--g,var(--acc))}
.cw-pan-b span{flex:1}
.cw-pan-b .cw-ico{width:30px;height:30px;padding:7px;border-radius:50%;background:rgba(25,34,58,.05);color:var(--soft);transition:transform .45s cubic-bezier(.2,.9,.25,1.2),background-color .3s,color .3s}
.cw-pan-b[aria-expanded="true"] .cw-ico{transform:rotate(180deg);background:var(--txt);color:#fff}
.cw-pan-c{padding:0 8px 8px}
.cw-pan-ci{padding:2px 4px 4px}
/* apertura dei gruppi con l'altezza che scorre */
.cw-anim .cw-pan-c{display:grid;grid-template-rows:0fr;padding-bottom:0;transition:grid-template-rows .48s cubic-bezier(.2,.9,.25,1),padding-bottom .48s}
.cw-anim .cw-pan-c.cw-su{grid-template-rows:1fr;padding-bottom:8px}
.cw-anim .cw-pan-ci{min-height:0;overflow:hidden}
.cw-anim .cw-pan-c:not(.cw-su) .cw-pan-ci{visibility:hidden;transition:visibility 0s .48s}
.cw-anim .cw-pan-c li{opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .4s cubic-bezier(.2,.9,.25,1)}
.cw-anim .cw-pan-c.cw-su li{opacity:1;transform:none;transition-delay:calc(var(--j,0) * 30ms + 80ms)}
.cw-pan-fondo{margin:16px 4px 0;font-size:14px;color:var(--muted)}
/* bottone Menu: tre righe che diventano una X */
.cw-hb{position:relative;display:inline-block;width:18px;height:14px;flex:0 0 auto}
.cw-hb i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .45s cubic-bezier(.2,.9,.25,1.2),opacity .25s,top .3s}
.cw-hb i:nth-child(1){top:0}.cw-hb i:nth-child(2){top:6px}.cw-hb i:nth-child(3){top:12px}
.cw-menu-btn[aria-expanded="true"] .cw-hb i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.cw-menu-btn[aria-expanded="true"] .cw-hb i:nth-child(2){opacity:0;transform:scaleX(.2)}
.cw-menu-btn[aria-expanded="true"] .cw-hb i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.cw-menu-btn{transition:background-color .3s,color .3s,box-shadow .3s,transform .2s}
.cw-menu-btn:active{transform:scale(.96)}
.cw-menu-btn[aria-expanded="true"]{box-shadow:0 10px 26px rgba(30,58,138,.36)}
@media (prefers-reduced-motion:reduce){
  .cw-anim.cw-pannello,.cw-anim .cw-pan-gr,.cw-anim .cw-pan-fondo,.cw-anim .cw-pan-c,.cw-anim .cw-pan-c li,.cw-vela,.cw-hb i{transition:none!important}
  .cw-anim.cw-aperto::before{animation:none}
}

/* ---------- briciole ---------- */
.cw-briciole{padding-top:18px;font-size:13.5px;color:var(--muted)}
.cw-briciole ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 0}
.cw-briciole li{display:inline-flex;align-items:center}
.cw-briciole li+li::before{content:"›";margin:0 8px;color:#9aa3b8}
.cw-briciole a{color:var(--muted);text-decoration:none;padding:6px 0}
.cw-briciole a:hover{color:var(--acc-d);text-decoration:underline}
.cw-briciole [aria-current]{color:var(--soft);font-weight:600}

/* ---------- hero ---------- */
.cw-hero{padding:14px 0 6px;min-width:0}
.cw-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:10px 0 14px;padding:6px 13px;border-radius:999px;background:var(--acc-t);border:1px solid var(--acc-b);
  color:var(--acc-d);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1.35}
.cw-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc);flex:0 0 auto}
.cw-hero h1{margin:0 0 14px;max-width:20ch}
.cw-intro{font-size:17.5px;color:var(--soft);max-width:64ch}
.cw-intro p{margin:0 0 10px}
.cw-kpi{list-style:none;margin:20px 0 6px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px}
.cw-kpi li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--ombra);position:relative;overflow:hidden}
.cw-kpi li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--acc-2),var(--acc))}
.cw-kpi b{display:block;font-family:var(--serif);font-size:25px;font-weight:600;line-height:1.15;color:var(--acc-d)}
.cw-kpi span{display:block;font-size:13px;color:var(--muted);line-height:1.4;margin-top:4px}
.cw-hero-corto h1{max-width:24ch}
.cw-hero-link{display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0 0}
.cw-hero-link a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600;text-decoration:none}

/* ---------- impaginazione della pagina corso ---------- */
.cw-layout{display:grid;gap:18px;align-items:start}
.cw-corpo{min-width:0}
@media (min-width:980px){
  .cw-layout{grid-template-columns:minmax(0,1fr) 352px;grid-template-areas:"hero lato" "corpo lato";column-gap:40px}
  .cw-hero{grid-area:hero}
  .cw-lato{grid-area:lato;align-self:stretch}
  .cw-corpo{grid-area:corpo}
  .cw-lato .cw-compra{position:sticky;top:calc(var(--testa) + 18px);margin-top:26px}
}

/* box acquisto */
.cw-compra{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:22px 22px 18px;box-shadow:var(--ombra-h);position:relative;overflow:hidden}
.cw-compra::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--acc-2),var(--acc),var(--gps))}
.cw-compra-pr{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.cw-prezzo{font-family:var(--serif);font-size:40px;font-weight:600;line-height:1;color:var(--acc-d);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.cw-iva{font-size:13px;color:var(--muted)}
.cw-compra-et{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.2;color:var(--acc-d);margin:4px 0 8px}
.cw-compra-txt{font-size:15px;color:var(--soft)}
.cw-compra .cw-chips{margin:4px 0 12px}
.cw-compra-acc{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--soft);background:var(--acc-t);border-radius:10px;padding:8px 10px;margin:0 0 12px}
.cw-compra-acc .cw-ico{color:var(--acc);margin-top:2px}
.cw-compra-fatti{margin:0 0 16px;display:grid;gap:8px;font-size:14px}
.cw-compra-fatti div{display:grid;grid-template-columns:82px 1fr;gap:10px;padding-top:8px;border-top:1px solid var(--line-2)}
.cw-compra-fatti dt{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding-top:2px}
.cw-compra-fatti dd{margin:0;color:var(--soft);line-height:1.45}
.cw-compra .cw-btn+.cw-btn{margin-top:10px}
.cw-compra-nota{font-size:12.5px;color:var(--muted);margin:12px 0 0;line-height:1.5}

/* chip dei punti */
.cw-chips{list-style:none;margin:10px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cw-chip{display:inline-flex;align-items:baseline;gap:5px;font-size:13px;line-height:1.3;padding:5px 10px;border-radius:999px;background:#F1F5FA;color:var(--soft);border:1px solid var(--line)}
.cw-chip b{color:var(--txt);font-weight:700}
.cw-chip-ata{background:#EEF6FC;border-color:#D3E7F6}
.cw-chip-ata b{color:var(--ata-d)}
.cw-chip-doc{background:#EBF5F7;border-color:#CFE5EA}
.cw-chip-doc b{color:var(--gps)}

/* ---------- sezioni ---------- */
.cw-sez{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(18px,3.2vw,30px);box-shadow:var(--ombra);margin:0 0 18px}
.cw-sez>p,.cw-sez>div>p{max-width:72ch}
.cw-kicker{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin:0 0 6px}

/* tabella profili */
.cw-tab-w{margin:0 -4px}
.cw-tab{width:100%;border-collapse:collapse;font-size:15px}
.cw-tab th,.cw-tab td{text-align:left;vertical-align:top;padding:12px 10px;border-bottom:1px solid var(--line-2)}
.cw-tab thead th{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#F7F9FC;border-bottom:1px solid var(--line)}
.cw-tab thead th:first-child{border-radius:10px 0 0 10px}.cw-tab thead th:last-child{border-radius:0 10px 10px 0}
.cw-tab tbody th{font-weight:700;width:30%}
.cw-tab tbody tr:last-child>*{border-bottom:0}
.cw-tab tr.cw-evid{background:#F3FAF9}
.cw-td-serve{width:120px}
.cw-esito{display:block;font-weight:700;color:var(--txt)}
.cw-dett{display:block;font-size:14px;color:var(--soft);margin-top:4px;line-height:1.5}
.cw-badge{display:inline-flex;align-items:center;font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.cw-si{background:var(--ok-t);color:var(--ok-d)}
.cw-no{background:var(--no-t);color:var(--no-d)}
.cw-forse{background:var(--oro-t);color:var(--oro-d)}
@media (max-width:720px){
  .cw-tab thead{display:none}
  .cw-tab,.cw-tab tbody{display:block}
  .cw-tab tr{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:14px 4px;border-bottom:1px solid var(--line-2)}
  .cw-tab tbody tr:last-child{border-bottom:0}
  .cw-tab th,.cw-tab td{display:block;padding:0;border:0;width:auto}
  .cw-tab tbody th{grid-column:1;width:auto}
  .cw-tab .cw-td-serve{grid-column:2;grid-row:1}
  .cw-tab td:last-child{grid-column:1 / -1}
}

/* onestà */
.cw-onesta{margin:18px 0 0;padding:14px 16px;border-radius:var(--r);background:var(--oro-t);border:1px solid #F2DFA8;border-left:4px solid var(--oro)}
.cw-onesta-t{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--oro-d);margin:0 0 6px;font-size:14px;letter-spacing:.02em}
.cw-onesta p:last-child{margin-bottom:0}

/* norme, fonti, passi */
.cw-norme,.cw-fonti{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cw-norme li,.cw-fonti li{position:relative;padding:10px 12px 10px 38px;background:#F7F9FC;border:1px solid var(--line-2);border-radius:12px;font-size:14.5px;color:var(--soft);line-height:1.5}
.cw-norme li::before,.cw-fonti li::before{content:"§";position:absolute;left:13px;top:9px;font-family:var(--serif);font-weight:600;color:var(--acc)}
.cw-passi{list-style:none;margin:6px 0 0;padding:0;counter-reset:passo;display:grid;gap:4px}
.cw-passi li{counter-increment:passo;position:relative;padding:4px 0 16px 50px;line-height:1.55}
.cw-passi li::before{content:counter(passo);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,var(--acc),var(--acc-d));color:#fff;font-weight:700;font-size:14.5px;box-shadow:0 4px 12px rgba(30,58,138,.25)}
.cw-passi li::after{content:"";position:absolute;left:16.5px;top:38px;bottom:0;width:1px;background:var(--line-3)}
.cw-passi li:last-child{padding-bottom:0}
.cw-passi li:last-child::after{display:none}
.cw-fatti{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:16px 0 0}
.cw-fatti div{background:#F7F9FC;border:1px solid var(--line-2);border-radius:12px;padding:12px 14px}
.cw-fatti dt{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cw-fatti dd{margin:4px 0 0;font-size:14.5px;color:var(--txt);line-height:1.45}
.cw-apri summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line-3);cursor:pointer;font-weight:600;list-style:none}
.cw-apri summary::-webkit-details-marker{display:none}
.cw-apri summary::after{content:"+";font-size:18px;line-height:1;color:var(--acc)}
.cw-apri[open] summary::after{content:"−"}
.cw-prog{margin:16px 0 0;padding-left:1.4em;display:grid;gap:6px;color:var(--soft)}
.cw-prog li::marker{color:var(--acc);font-weight:700}

/* FAQ */
.cw-faq-d{border-bottom:1px solid var(--line-2)}
.cw-faq-d:last-of-type{border-bottom:0}
.cw-faq-d summary{position:relative;cursor:pointer;list-style:none;padding:15px 40px 15px 0;font-weight:600;font-size:16px;line-height:1.4;min-height:44px}
.cw-faq-d summary::-webkit-details-marker{display:none}
.cw-faq-d summary::after{content:"";position:absolute;right:6px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--acc-t);
  -webkit-mask:none;transition:transform .2s}
.cw-faq-d summary::before{content:"+";position:absolute;right:6px;top:50%;width:22px;height:22px;margin-top:-11px;display:flex;align-items:center;justify-content:center;color:var(--acc-d);font-weight:700;z-index:1}
.cw-faq-d[open] summary::before{content:"−"}
.cw-faq-d summary:hover{color:var(--acc-d)}
.cw-faq-r{padding:0 0 14px;color:var(--soft);max-width:72ch}

/* link correlati */
.cw-link{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:10px}
.cw-link a{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:64px;padding:12px 14px 12px 16px;border:1px solid var(--line);border-left:3px solid var(--acc);
  border-radius:0 12px 12px 0;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .2s,border-color .2s}
.cw-link a:hover{border-color:var(--acc);box-shadow:0 6px 18px rgba(45,79,192,.12)}
.cw-link b{color:var(--txt);font-size:14.5px;line-height:1.35}
.cw-link b::after{content:" →";color:var(--acc)}
.cw-link span{font-size:12.5px;color:var(--muted)}

/* ---------- card dei corsi (hub) ---------- */
.cw-gruppo{margin:30px 0 8px}
.cw-gruppo-t{font-family:var(--serif);font-size:clamp(22px,3vw,28px);font-weight:600;margin:0 0 14px;display:flex;align-items:center;gap:12px}
.cw-gruppo-t::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-3),transparent)}
.cw-gruppo-t2{font-size:20px;margin-top:26px}
.cw-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,272px),1fr));gap:14px}
.cw-card-c,.cw-pk{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:18px 18px 16px;
  box-shadow:var(--ombra);transition:transform .2s,box-shadow .2s,border-color .2s;min-width:0}
.cw-card-c::before{content:"";position:absolute;left:18px;right:18px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--k,var(--acc))}
.cw-k-ata{--k:var(--ata)} .cw-k-doc{--k:var(--gps)}
.cw-card-c:hover,.cw-pk:hover{transform:translateY(-2px);box-shadow:var(--ombra-h);border-color:#cfdbe8}
.cw-card-off{opacity:.82}
.cw-card-off:hover{transform:none;box-shadow:var(--ombra)}
.cw-tag{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:2px 0 8px}
.cw-tag-pack{color:var(--oro-d)}
.cw-per-te{font-size:11.5px;letter-spacing:.02em;text-transform:none;font-weight:700;color:var(--ok-d);background:var(--ok-t);border-radius:999px;padding:3px 9px;white-space:nowrap}
.cw-card-n,.cw-pk-n{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.22;margin:0 0 6px}
.cw-card-n a,.cw-pk-n a{color:var(--txt);text-decoration:none}
.cw-esteso::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.cw-esteso:focus-visible{outline:none}
.cw-esteso:focus-visible::after{outline:3px solid var(--acc);outline-offset:2px}
.cw-card-c a:not(.cw-esteso),.cw-pk a:not(.cw-esteso){position:relative;z-index:2}
.cw-card-s{font-size:14.5px;color:var(--soft);line-height:1.5;margin:0 0 4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cw-acc-mini{font-size:12.5px;font-weight:600;color:var(--acc-d);margin:0 0 6px}
.cw-card-f{display:flex;align-items:center;gap:10px;margin:auto 0 0;padding-top:12px;border-top:1px solid var(--line-2)}
.cw-card-p{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--acc-d)}
.cw-card-p.cw-sr,.cw-pk-pr.cw-sr{font-family:var(--sans);font-size:14px;font-weight:700;color:var(--oro-d)}
.cw-card-tempo{font-size:12.5px;color:var(--muted);line-height:1.3}
.cw-card-vai{margin-left:auto;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--acc-t);color:var(--acc-d);transition:background-color .2s,color .2s}
.cw-card-c:hover .cw-card-vai{background:var(--acc);color:#fff}
.cw-pk{border-top:3px solid var(--oro)}
.cw-pk-incl{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:4px 6px;font-size:13.5px}
.cw-pk-incl li{color:var(--soft)}
.cw-pk-incl li+li::before{content:"+";margin-right:6px;color:var(--muted)}
.cw-pk-pr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:auto 0 0;padding-top:12px;border-top:1px solid var(--line-2);font-family:var(--serif);font-size:22px;font-weight:600;color:var(--acc-d)}
.cw-risp{font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--ok-d);background:var(--ok-t);border-radius:999px;padding:3px 9px}

/* filtro "Sono un…" */
.cw-hero-hub{padding-bottom:10px}
.cw-filtro{margin:22px 0 0;padding:16px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);box-shadow:var(--ombra);display:grid;gap:8px;max-width:640px}
.cw-filtro label{font-family:var(--serif);font-size:20px;font-weight:600}
.cw-filtro-info{font-size:14px;color:var(--muted);margin:0}
.cw-risultati{margin:26px 0 8px}

/* perché noi */
.cw-perche{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
.cw-perche li{background:#F7F9FC;border:1px solid var(--line-2);border-radius:var(--r);padding:16px}
.cw-perche h3{font-family:var(--serif);font-size:18px;font-weight:600;margin:0 0 6px;color:var(--acc-d)}
.cw-perche p{font-size:14.5px;color:var(--soft);margin:0}

/* ---------- pacchetti (pagina) ---------- */
.cw-indice ul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cw-indice a{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13.5px;font-weight:600;color:var(--soft);text-decoration:none}
.cw-indice a:hover{border-color:var(--oro);color:var(--txt)}
.cw-pk-gr{margin:30px 0 0}
.cw-pkb{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(18px,3vw,28px);box-shadow:var(--ombra);margin:0 0 16px;scroll-margin-top:calc(var(--testa) + 14px)}
.cw-pkb::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:4px;border-radius:0 4px 4px 0;background:var(--oro)}
.cw-pkb:target{box-shadow:0 0 0 3px rgba(244,192,78,.55),var(--ombra-h)}
.cw-ancora-id{position:absolute;top:0;scroll-margin-top:calc(var(--testa) + 14px)}
.cw-pkb-testa{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;align-items:flex-start}
.cw-pkb-n{font-family:var(--serif);font-size:clamp(21px,2.8vw,26px);font-weight:600;line-height:1.2;max-width:34ch}
.cw-pkb-sotto{color:var(--soft);margin:6px 0 0}
.cw-pkb-pr{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.cw-pkb-g{display:grid;gap:8px 32px;margin-top:8px}
@media (min-width:860px){.cw-pkb-g{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}
.cw-incl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cw-incl li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:9px 12px;border:1px solid var(--line-2);border-radius:12px;background:#F7F9FC}
.cw-incl-n{font-weight:600}
.cw-incl-pt{grid-column:1;font-size:12.5px;color:var(--muted)}
.cw-incl-pr{grid-column:2;grid-row:1 / span 2;align-self:center;font-variant-numeric:tabular-nums;color:var(--soft);font-size:14px}
.cw-pkb-txt{color:var(--soft)}
.cw-pkb-chi{margin-top:16px}
.cw-pkb-b{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cw-pk-nota{max-width:80ch;margin:18px 0 0}
@media (max-width:600px){.cw-pkb-pr{align-items:flex-start;text-align:left}.cw-pkb-b .cw-btn{width:100%}}

/* ---------- CTA finale ---------- */
.cw-cta{display:grid;gap:18px;align-items:center;margin:26px 0 8px;padding:clamp(22px,4vw,38px);border-radius:var(--r-l);color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(600px 300px at 90% -20%,rgba(111,140,235,.55),transparent 60%),linear-gradient(135deg,var(--acc-d),#0F4F5B 60%,#123E52)}
.cw-cta h2{color:#fff;margin-bottom:8px}
.cw-cta p{color:rgba(255,255,255,.88);margin:0;max-width:60ch}
.cw-cta-b{display:flex;flex-wrap:wrap;gap:10px}
@media (min-width:860px){.cw-cta{grid-template-columns:minmax(0,1fr) auto}}
@media (max-width:600px){.cw-cta-b .cw-btn{width:100%}}

/* ---------- widget "Quanto sali" ---------- */
.cw-pre-sez{background:linear-gradient(180deg,#fff, #FAFCFE);border-color:#d9e6ee}
.cw-pre-testa h2{margin-bottom:6px}
.cw-pre{margin-top:16px}
.cw-pre-campi{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px}
.cw-pre-campi[disabled]{opacity:.55}
.cw-campo{display:grid;gap:6px;align-content:start;min-width:0}
.cw-campo label{font-size:13.5px;font-weight:600;color:var(--soft)}
.cw-campo-l{grid-column:1 / -1}
.cw-campo input,.cw-campo select,.cw-campo textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line-3);border-radius:12px;background:#fff;color:var(--txt);
  font:16px/1.35 var(--sans);transition:border-color .15s,box-shadow .15s;appearance:none;-webkit-appearance:none}
.cw-campo select{padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235A6480' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.cw-campo textarea{min-height:88px;resize:vertical}
.cw-campo input:focus,.cw-campo select:focus,.cw-campo textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(45,79,192,.22)}
.cw-campo [aria-invalid="true"]{border-color:var(--no-d);box-shadow:0 0 0 3px rgba(154,52,18,.12)}
.cw-pre-azioni{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:16px}
.cw-pre-stato{margin:0;font-size:14px;color:var(--soft)}
.cw-pre-stato.cw-riservato{display:flex;gap:8px;align-items:center;padding:10px 14px;border-radius:12px;background:var(--oro-t);color:var(--oro-d);font-weight:600}
.cw-pre-sugg{margin-top:14px;padding:14px 16px;border-radius:var(--r);background:var(--oro-t);border:1px solid #F2DFA8;font-size:15px}
.cw-pre-sugg ul{margin:8px 0 0;padding-left:1.2em}
.cw-pre-esito{margin-top:18px;padding:18px;border-radius:var(--r);background:#F3FAF9;border:1px solid #CFE5E2}
.cw-pre-esito:focus{outline:none}
.cw-pre-frase{font-size:16.5px;color:var(--txt)}
.cw-pre-frase b{color:var(--acc-d)}
.cw-pre-note{margin:14px 0 12px;padding-left:1.2em;font-size:14px;color:var(--soft)}
.cw-pre-b{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cw-pre-b .cw-mini{flex:1 1 100%;margin:0}
.cw-pre-nota{margin:12px 0 0}

/* titoli da aggiungere: bottoni da accendere */
.cw-pre-scelta{margin-top:16px;padding:16px;border-radius:var(--r);background:#fff;border:1px solid var(--line)}
.cw-pre-scelta-t{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px;margin-bottom:10px}
.cw-pre-et{margin:0;font-size:13.5px;font-weight:700;color:var(--soft)}
.cw-pre-et2{margin:12px 0 8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cw-pre-somma{margin:0;font-size:14.5px;color:var(--soft)}
.cw-pre-somma b{color:var(--ok-d);font-size:16px}
.cw-pre-somma-n{color:var(--oro-d)}
.cw-chipb-riga{display:flex;flex-wrap:wrap;gap:8px}
.cw-chipb{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 14px 6px 8px;border-radius:999px;border:1px solid var(--line-3);background:#fff;
  color:var(--txt);font:600 14px/1.25 var(--sans);cursor:pointer;text-align:left;transition:background-color .15s,border-color .15s,color .15s,transform .15s}
.cw-chipb:hover{border-color:var(--acc);transform:translateY(-1px)}
.cw-chipb-v{display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;background:var(--acc-t);color:var(--acc-d);flex:0 0 auto}
.cw-chipb-v .cw-ico{width:15px;height:15px;stroke-width:2.4}
.cw-chipb b{font-weight:800;color:var(--ok-d);font-variant-numeric:tabular-nums}
.cw-chipb.cw-on{background:linear-gradient(140deg,var(--acc),var(--acc-d));border-color:var(--acc-d);color:#fff;box-shadow:0 6px 16px rgba(30,58,138,.24)}
.cw-chipb.cw-on .cw-chipb-v{background:rgba(255,255,255,.2);color:#fff}
.cw-chipb.cw-on b{color:#B9F3D5}
.cw-pre-delta{margin-top:14px;max-width:260px}
.cw-pre-delta .cw-mini{margin:0}
.cw-pre-vai .cw-ico{order:2}
.cw-pre-vai.cw-attesa{opacity:.75;pointer-events:none}

/* il risultato */
.cw-pre-esito.cw-ris{padding:0;overflow:hidden;background:#fff;border:1px solid #CFE5E2;box-shadow:var(--ombra-h)}
.cw-ris-testa{padding:22px 22px 20px;color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(520px 240px at 100% 0,rgba(111,140,235,.55),transparent 62%),linear-gradient(135deg,var(--acc-d),#0F4F5B 58%,#123E52)}
.cw-ris-testa::after{content:"";position:absolute;right:-40px;bottom:-60px;width:220px;height:220px;border-radius:50%;border:28px solid rgba(255,255,255,.06)}
.cw-ris-k{margin:0 0 6px;font-size:14px;font-weight:600;color:rgba(255,255,255,.9)}
.cw-ris-k span{font-weight:500;color:rgba(255,255,255,.7)}
.cw-ris-big{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(30px,5.4vw,46px);line-height:1.08;letter-spacing:-.015em;color:#fff}
.cw-ris-n{display:inline-block;min-width:1.2ch;color:#B9F3D5;font-variant-numeric:tabular-nums}
.cw-ris-big-0{font-size:clamp(24px,4vw,32px)}
.cw-ris-da{margin:10px 0 0;font-size:15.5px;color:rgba(255,255,255,.82)}
.cw-ris-da b{font-family:var(--serif);font-size:22px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.cw-ris-fr{color:#B9F3D5;font-weight:700}

.cw-scala{padding:40px 22px 8px}
.cw-scala-bar{position:relative;height:14px;border-radius:999px;background:linear-gradient(90deg,#E9EEF5,#DCE7F0 60%,#CFE3E8)}
.cw-scala-su{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#7FD3A8,var(--ok));box-shadow:0 0 0 3px rgba(47,163,107,.16);
  transition:width 1.3s cubic-bezier(.22,.8,.25,1)}
.cw-scala-oggi{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;border:2px solid #9AA6BA}
.cw-scala-tu{position:absolute;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:var(--acc-d);border:4px solid #fff;
  box-shadow:0 0 0 2px var(--acc-d),0 8px 18px rgba(30,58,138,.35);transition:left 1.3s cubic-bezier(.22,.8,.25,1);z-index:2}
.cw-scala-tu i,.cw-scala-ult i{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;font-style:normal;font-size:12px;font-weight:700;
  padding:3px 9px;border-radius:999px}
.cw-scala-tu i{background:var(--acc-d);color:#fff}
.cw-ris.cw-via .cw-scala-tu{animation:cw-pulsa 1.6s ease 1.3s 2}
@keyframes cw-pulsa{0%,100%{box-shadow:0 0 0 2px var(--acc-d),0 8px 18px rgba(30,58,138,.35)}50%{box-shadow:0 0 0 2px var(--acc-d),0 0 0 12px rgba(45,79,192,.16),0 8px 18px rgba(30,58,138,.35)}}
.cw-scala-ult{position:absolute;top:-8px;bottom:-8px;width:0;border-left:2px dashed var(--oro-d)}
.cw-scala-ult i{bottom:auto;top:calc(100% + 6px);background:var(--oro-t);color:var(--oro-d);border:1px solid #F2DFA8}
.cw-scala-tu.cw-dx i,.cw-scala-ult.cw-dx i{left:auto;right:-6px;transform:none}
.cw-scala-tu.cw-sx i,.cw-scala-ult.cw-sx i{left:-6px;transform:none}
.cw-scala-et{display:flex;justify-content:space-between;gap:10px;margin-top:14px;font-size:12px;color:var(--muted)}
.cw-scala.cw-con-ult .cw-scala-et{margin-top:46px}
.cw-scala-et span:last-child{font-weight:700;color:var(--soft)}

.cw-ris-blocco{margin:6px 22px 0;padding:16px 0 4px;border-top:1px solid var(--line-2)}
.cw-ris-t{margin:0 0 10px;font-size:15px;color:var(--soft)}
.cw-ris-t b{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--txt)}
.cw-gente{display:grid;grid-template-columns:repeat(auto-fill,minmax(12px,1fr));gap:5px;margin-bottom:8px;max-width:620px}
.cw-gente span{aspect-ratio:1;border-radius:50%;background:#E3E9F2;transform:scale(.7);transition:background-color .35s,transform .35s}
.cw-ris.cw-via .cw-gente span{background:var(--ok);transform:scale(1)}
.cw-misura{position:relative;height:12px;border-radius:999px;background:#EDF1F7;margin:6px 0 6px}
.cw-misura-oggi,.cw-misura-con{position:absolute;top:0;bottom:0;transition:width 1.2s cubic-bezier(.22,.8,.25,1)}
.cw-misura-oggi{left:0;border-radius:999px 0 0 999px;background:#9AB7C9}
.cw-misura-con{background:linear-gradient(90deg,var(--ok),#7FD3A8);border-radius:0 999px 999px 0}
.cw-misura-linea{position:absolute;top:-6px;bottom:-6px;width:0;border-left:2px dashed var(--oro-d)}
.cw-misura-et{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}
.cw-misura-et .cw-et-con{color:var(--ok-d);font-weight:700}
.cw-misura-et .cw-et-ult{color:var(--oro-d);font-weight:700;text-align:right}
.cw-ris-frase{margin:8px 0 0;font-size:15px;color:var(--txt);font-weight:550}
.cw-ris .cw-pre-note,.cw-ris .cw-pre-b{margin-left:22px;margin-right:22px}
.cw-ris .cw-pre-b{margin-bottom:22px}
@media (max-width:600px){
  .cw-ris-testa{padding:18px 16px 16px}
  .cw-scala{padding:38px 16px 6px}
  .cw-ris-blocco,.cw-ris .cw-pre-note,.cw-ris .cw-pre-b{margin-left:16px;margin-right:16px}
  .cw-pre-b .cw-btn{width:100%}
}

/* ---------- acquisto ---------- */
.cw-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(18px,3vw,28px);box-shadow:var(--ombra);min-width:0}
.cw-card h2{font-size:24px}
.cw-cassa{display:grid;gap:18px;margin-top:12px;align-items:start}
@media (min-width:940px){.cw-cassa{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.cw-riep{position:sticky;top:calc(var(--testa) + 18px)}}
.cw-righe{list-style:none;margin:0;padding:0}
.cw-riga{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 0;border-bottom:1px solid var(--line-2)}
.cw-riga-n{font-weight:700;line-height:1.35}
.cw-riga-n a{color:var(--txt)}
.cw-riga-s{grid-column:1;font-size:13px;color:var(--muted);line-height:1.45}
.cw-riga-p{grid-column:2;grid-row:1;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.cw-riga-x{grid-column:2;grid-row:2;justify-self:end;display:inline-flex;align-items:center;min-height:36px;padding:0 10px;border:0;background:none;color:var(--no-d);font:600 13px/1 var(--sans);cursor:pointer;border-radius:8px}
.cw-riga-x:hover{background:var(--no-t)}
@media (pointer:coarse){.cw-riga-x{min-height:44px}}
.cw-tot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0 4px}
.cw-tot span{color:var(--muted);font-weight:600}
.cw-tot b{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--acc-d);font-variant-numeric:tabular-nums}
.cw-tot-r{text-align:right;font-size:13px;color:var(--ok-d);font-weight:600}
.cw-vuoto{padding:10px 0;color:var(--soft)}
.cw-avvisi:empty{display:none}
.cw-avvisi p{font-size:14px;padding:10px 12px;border-radius:10px;background:var(--oro-t);color:var(--oro-d);margin:0 0 8px}
.cw-sugg{margin:12px 0 4px;padding:14px 16px;border-radius:var(--r);background:var(--ok-t);border:1px solid #BFE3CD}
.cw-sugg p{margin:0 0 10px;color:#174B31}
.cw-sugg .cw-btn{min-height:44px;padding:10px 18px;font-size:14px}
.cw-punti-ord{margin:12px 0 0;padding:12px 14px;border-radius:var(--r);background:#F3FAF9;border:1px solid #CFE5E2;font-size:14.5px}
.cw-punti-ord p{margin:0 0 6px}
.cw-punti-ord p:last-child{margin:0}
.cw-aggiungi{margin-top:16px}
.cw-modulo h2{margin-bottom:6px}
.cw-campi2{display:grid;gap:14px;margin:16px 0 14px}
@media (min-width:560px){.cw-campi2{grid-template-columns:1fr 1fr}}
.cw-facolt{font-weight:400;color:var(--muted)}
.cw-aiuto{font-size:12.5px;color:var(--muted);margin:0}
.cw-err{font-size:13px;color:var(--no-d);font-weight:600;margin:0}
.cw-errori{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:var(--no-t);border:1px solid #F1C9B5;color:var(--no-d);font-weight:600;font-size:14.5px}
.cw-errori:focus{outline:none}
.cw-errori ul{margin:6px 0 0;padding-left:1.2em;font-weight:500}
.cw-spunte{display:grid;gap:10px;margin:16px 0}
.cw-spunta{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:start}
.cw-spunta input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--acc)}
.cw-spunta label{font-size:14.5px;color:var(--soft);line-height:1.5}
.cw-spunta .cw-err{grid-column:2}
.cw-invia{display:grid;gap:8px;margin-top:6px}
.cw-recesso{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2)}

/* ---------- ordine ricevuto ---------- */
.cw-ordine{margin-top:10px}
.cw-ord-stato{display:flex;align-items:center;gap:14px;font-size:17px}
.cw-ord-stato p{margin:0}
.cw-ord-stato .cw-badge{font-size:13px}
.cw-rotella{width:26px;height:26px;border-radius:50%;border:3px solid var(--acc-t);border-top-color:var(--acc);animation:cw-giro 1s linear infinite;flex:0 0 auto}
@keyframes cw-giro{to{transform:rotate(360deg)}}
.cw-ord-ok{width:34px;height:34px;border-radius:50%;background:var(--ok);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.cw-ord-ko{width:34px;height:34px;border-radius:50%;background:var(--no-t);color:var(--no-d);display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-weight:800}
.cw-ord-dett{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2)}
.cw-ord-cod{font-size:13px;color:var(--muted);letter-spacing:.06em}
.cw-ord-aiuto{margin-top:14px}
.cw-ord-link{margin:14px 0 0}

/* ---------- barra in basso sul telefono ---------- */
.cw-barra{position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(255,255,255,.96);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(28,40,75,.10);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom,0px));
  transform:translateY(110%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
.cw-barra.cw-vista{transform:none;visibility:visible;transition:transform .25s ease}
.cw-barra-in{display:flex;align-items:center;gap:12px;max-width:640px;margin:0 auto}
.cw-barra-t{display:flex;flex-direction:column;min-width:0;margin-right:auto}
.cw-barra-n{font-family:var(--serif);font-size:16.5px;font-weight:600;color:var(--txt);line-height:1.12;letter-spacing:-.01em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}
.cw-barra-p{font-size:13px;font-weight:600;color:var(--muted);line-height:1.2;margin-top:2px}
.cw-barra .cw-btn{min-height:46px;padding:10px 20px}
.cw-barra .cw-barra-agg{padding:0;width:46px;flex:0 0 auto}
@media (min-width:980px){.cw-barra{display:none}}
@media (max-width:979px){body.cw-con-barra{padding-bottom:84px}}

/* ---------- telefono: barra delle sezioni del sito (22/10/2026) ----------
   Le cinque voci della barra del sito, grigie a riposo, colorata solo quella aperta. La barra d'acquisto sale sopra. */
.cw-sezbar{display:none}
@media (max-width:979px){
  .cw-sezbar{position:fixed;left:0;right:0;bottom:0;z-index:56;display:grid;grid-template-columns:repeat(5,1fr);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));background:rgba(248,250,253,.94);border-top:1px solid rgba(20,30,60,.08);
    box-shadow:0 -6px 22px rgba(20,30,60,.08);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px)}
  .cw-sezbar a{--c:#176E82;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;
    font:600 10.5px/1 var(--sans);letter-spacing:.02em;color:#7A8296;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:color .2s,transform .15s}
  .cw-sezbar a svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .cw-sezbar a:active{transform:scale(.92);color:var(--c)}
  .cw-sezbar .cw-sb-ata{--c:#2F86BF}
  .cw-sezbar .cw-sb-corsi{--c:#1E3A8A}
  .cw-sezbar .cw-sb-academy{--c:#B98300}
  .cw-sezbar .cw-sb-dl{--c:#E2662A}
  .cw-sezbar a .cw-sb-new{position:absolute;top:2px;left:50%;margin-left:7px;font:800 8.5px/1 Inter,system-ui,sans-serif;font-style:normal;background:#f4c04e;color:#3a2a05;border-radius:99px;padding:2px 5px;text-transform:lowercase;pointer-events:none}
  .cw-sezbar a.cw-sb-on{color:var(--c)}
  .cw-sezbar a.cw-sb-on::before{content:"";position:absolute;top:-6px;left:26%;right:26%;height:3px;border-radius:0 0 3px 3px;background:var(--c)}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  body.cw-con-barra{padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))}
  .cw-barra{bottom:calc(60px + env(safe-area-inset-bottom,0px));padding-bottom:10px}
  /* sul telefono la pastiglia non apre le sezioni (c'è la barra in basso): la sua freccia apre le categorie dei corsi,
     cioè il pannello che prima stava nel bottone Menu (utente, 22/10/2026) */
  html:not(.is-app) .cw-sz-p{display:none!important}
  html:not(.is-app) .cw-sz-b{padding:6px 8px 6px 11px!important;box-shadow:none}
  html:not(.is-app) .cw-testa:has(.cw-pannello.cw-aperto) .cw-sz-giu{transform:rotate(180deg)}
}
html.is-app .cw-sezbar{display:none!important}
/* telefono più snello (utente, 22/10/2026): nella scheda del corso via il riquadro "In omaggio" e il riquadro d'acquisto;
   per comprare resta solo la barra in basso, che senza riquadro resta sempre visibile (vedi initBarra in corsi.js) */
@media (max-width:979px){.cw-hero .cw-omaggio,.cw-layout .cw-lato{display:none!important}}
/* telefono: l'intestazione si nasconde scorrendo in giù e torna scorrendo in su (initTestaScorre in corsi.js) */
@media (max-width:979px){
  .cw-testa{transition:transform .32s cubic-bezier(.2,.8,.2,1)}
  .cw-testa.cw-testa-via{transform:translateY(calc(-100% - 12px))}
}
@media (max-width:979px) and (prefers-reduced-motion:reduce){.cw-testa{transition:none}}
/* telefono: a destra Guide, News e il profilo come nelle altre sezioni (22/10/2026); niente menu, carrello solo se pieno */
.cw-gn{display:none}
@media (max-width:979px){
  html .cw-gn{display:flex;align-items:center;gap:2px;margin-left:auto}
  html .cw-gn a{display:grid;place-items:center;width:40px;height:44px;color:#3D4862;text-decoration:none}
  html .cw-gn a svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  html .cw-gn a.cw-omino{width:40px;height:40px;margin-left:4px;border-radius:50%;color:#fff;background:linear-gradient(140deg,#4FAEE0,#1F6FA8);box-shadow:0 6px 14px rgba(31,111,168,.28)}
  html .cw-gn a.cw-omino svg{width:22px;height:22px;stroke-width:1.9}
  html .cw-menu-btn{display:none}
  /* nei Corsi, per fare spazio: via Guide e News, al loro posto il carrello sempre visibile, accanto al profilo (22/10/2026) */
  html .cw-carrello-m{display:inline-flex;position:relative;margin-left:auto;width:42px;min-width:42px;height:44px;color:#3D4862}
  html .cw-carrello-m .cw-ico{width:26px;height:26px;stroke-width:1.6}
  html .cw-carrello-m .cw-n{top:2px;right:-2px}
  html .cw-gn{margin-left:2px}
  html .cw-gn a[href="/guide/"],html .cw-gn a[href="/news/"]{display:none}
  html .cw-marchio{margin-right:0}
}
/* carrello vuoto: Guide e News come nell'app, con le misure dell'app; il carrello torna appena c'e' qualcosa dentro
   (il numerino [data-cw-n] ha hidden quando il carrello e' vuoto, contaCarrello in corsi.js) (utente, 23/10/2026) */
@media (max-width:979px){
  html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-carrello-m{display:none}
  html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn{margin-left:auto;gap:0}
  html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn a[href="/guide/"],html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn a[href="/news/"]{display:grid;width:36px;height:44px}
}
@media (min-width:401px) and (max-width:979px){
  html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn a[href="/guide/"],html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn a[href="/news/"]{width:42px}
  html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn a[href="/guide/"] svg,html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn a[href="/news/"] svg{width:28px;height:28px}
}
@media (max-width:389.98px){
  html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn a[href="/guide/"],html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn a[href="/news/"]{width:30px}
  html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn a[href="/guide/"] svg,html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn a[href="/news/"] svg{width:24px;height:24px}
  html .cw-testa:has(.cw-carrello-m [data-cw-n][hidden]) .cw-gn a.cw-omino{width:36px;height:36px;margin-left:0}
}

/* ---------- footer ---------- */
.cw-piede{margin-top:clamp(40px,6vw,72px);padding:clamp(34px,5vw,54px) 0 clamp(36px,5vw,56px);border-top:1px solid rgba(38,52,84,.12);color:var(--muted);font-size:14px}
.cw-piede-g{display:grid;gap:26px}
@media (min-width:820px){.cw-piede-g{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:32px}}
.cw-piede-brand p{margin:12px 0 0;max-width:340px;line-height:1.6}
.cw-piede-brand .cw-marchio{margin:0}
.cw-piede-t{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--txt);margin:6px 0 8px}
.cw-piede ul{list-style:none;margin:0;padding:0}
.cw-piede li a{display:inline-flex;align-items:center;min-height:36px;color:var(--muted);text-decoration:none}
.cw-piede li a:hover{color:var(--acc-d);text-decoration:underline}
@media (pointer:coarse){.cw-piede li a{min-height:44px}}
.cw-piede-legal{margin-top:28px;padding-top:20px;border-top:1px solid rgba(38,52,84,.12);font-size:13px;line-height:1.7}
.cw-piede-legal p{margin:0 0 6px;max-width:90ch}
.cw-piede-link a{color:var(--muted);display:inline-block;padding:6px 0}
.cw-piede-link a:hover{color:var(--acc-d)}
.cw-piede-soc{opacity:.85}

/* ---------- striscia "L'app ScuolaGo" sul telefono (sg-banner-app.js, iniettato da nginx) ----------
   La striscia è sticky a top:0 (z-index 61) ed entra come primo figlio del body perché qui non c'è .site-head: l'header
   dei corsi si aggancia sotto di lei. Oltre i 900px la striscia non c'è (e --sg-bapp-h non esiste): stesse soglie dello script.
   I box sticky (.cw-lato .cw-compra da 980px, .cw-riep da 940px) vivono sopra i 900px, dove la striscia non compare. */
@media (max-width:900px){
  html.sg-bapp-su{scroll-padding-top:calc(var(--testa) + var(--sg-bapp-h,51px) + 12px)}
  html.sg-bapp-su .cw-testa{top:var(--sg-bapp-h,51px)}
  html.sg-bapp-su .cw-pkb,html.sg-bapp-su .cw-ancora-id{scroll-margin-top:calc(var(--testa) + var(--sg-bapp-h,51px) + 14px)}
  html.sg-bapp-su .cw-pannello{max-height:calc(100vh - 110px - var(--sg-bapp-h,51px));max-height:calc(100dvh - 110px - var(--sg-bapp-h,51px))}
}

/* ---------- nell'app (WebView): barra delle sezioni di sg-app.js ----------
   sg-app.js aggiunge in fondo al body nav.sg-appbar; i suoi stili stanno in site_v8.css, che qui non si carica: sono
   ricopiati da lì (MODALITA' APP, 15/10/2026). La barra d'acquisto in basso (.cw-barra) nell'app non serve: si nasconde. */
html.is-app{--sg-safe-b:env(safe-area-inset-bottom,0px)}
html.is-ios .cw-testa{padding-top:env(safe-area-inset-top,0px)}
html.is-app body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
html.is-app .cw-barra{display:none!important}
html.is-app body,html.is-app body.cw-con-barra{padding-bottom:calc(58px + var(--sg-safe-b))!important}
html.is-app .sg-appbar{position:fixed;left:0;right:0;bottom:0;z-index:200;display:flex;height:calc(58px + var(--sg-safe-b));padding-bottom:var(--sg-safe-b);isolation:isolate;transform:translateZ(0);
  background:#f4f7fb;border-top:1px solid rgba(20,30,60,.10);box-shadow:0 -6px 24px rgba(20,30,60,.10)}
html.is-app .sg-appbar a{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  font-size:10.5px;font-weight:600;letter-spacing:.02em;color:#6b7385;text-decoration:none;-webkit-tap-highlight-color:transparent}
html.is-app .sg-appbar a svg{width:23px;height:23px;max-width:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html.is-app .sg-appbar a.on{color:var(--acc)}
html.is-app .sg-appbar a.on::before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 3px 3px;background:var(--acc)}
html.is-app .sg-appbar .sg-appbar-dot{position:absolute;top:9px;right:calc(50% - 15px);width:8px;height:8px;border-radius:50%;background:#e0662b;border:2px solid #f4f7fb}
html.is-app .sg-appbar a[data-tab="ata"]::after{content:"new";position:absolute;top:4px;left:50%;margin-left:6px;background:#f4c04e;color:#3a2a05;font-size:8.5px;font-weight:800;border-radius:99px;padding:2px 5px;line-height:1;letter-spacing:0;text-transform:lowercase;pointer-events:none}
html.is-app .sg-appbar a:focus-visible{outline:3px solid var(--acc);outline-offset:-3px;border-radius:10px}
/* telefono in orizzontale: barra più bassa */
@media (max-height:480px){
  html.is-app .sg-appbar{height:calc(46px + var(--sg-safe-b))}
  html.is-app .sg-appbar a{flex-direction:row;gap:7px;font-size:12px}
  html.is-app .sg-appbar a svg{width:18px;height:18px}
  html.is-app body,html.is-app body.cw-con-barra{padding-bottom:calc(46px + var(--sg-safe-b))!important}
}
/* tablet (da 768px): la barra diventa una pillola in alto al centro, sopra la prima riga dell'header dei corsi. Come nel
   sito, le voci dell'header lasciano il posto al bottone Menu (le aree sono nella pillola) e "← scuolago.it" non c'è. */
@media (min-width:768px){
  html.is-app body,html.is-app body.cw-con-barra{padding-bottom:0!important}
  html.is-app .sg-appbar{top:calc(env(safe-area-inset-top,0px) + 9px);bottom:auto;left:50%;right:auto;transform:translateX(-50%) translateZ(0);
    width:auto;height:46px;padding:4px;gap:2px;border-radius:999px;border:1px solid rgba(20,30,60,.10);
    background:rgba(248,250,253,.92);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);
    box-shadow:0 8px 24px rgba(20,30,60,.12),inset 0 1px 0 rgba(255,255,255,.7)}
  html.is-app .sg-appbar a{flex:0 0 auto;flex-direction:row;gap:7px;height:36px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:700}
  html.is-app .sg-appbar a svg{width:19px;height:19px}
  html.is-app .sg-appbar a.on{background:var(--acc);color:#fff;box-shadow:0 4px 12px rgba(45,79,192,.28)}
  html.is-app .sg-appbar a.on::before{display:none}
  html.is-app .sg-appbar .sg-appbar-dot{top:5px;right:8px}
  html.is-app .cw-azioni,html.is-app .cw-menu{display:none}
  html.is-app .cw-menu-btn{display:inline-flex}
}
@media (min-width:768px) and (max-width:899px){
  html.is-app .sg-appbar a span{display:none}
  html.is-app .sg-appbar a{padding:0 13px}
}

/* ---------- movimento ridotto ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .cw-rotella{animation:none;border-top-color:var(--acc);border-right-color:var(--acc)}
  .cw-card-c:hover,.cw-pk:hover,.cw-btn:hover{transform:none}
}

/* ---------- stampa ---------- */
@media print{
  .cw-testa,.cw-barra,.cw-piede,.cw-pre-sez,.cw-cta{display:none!important}
  body::before{display:none}
  .cw-sez,.cw-compra{box-shadow:none;break-inside:avoid}
}

/* ---------- tendine in cui si scrive (/assets/sg-cerca-tendine.js): stesse misure dei nostri campi ---------- */
.cw-campo .sgc .sgc-inp.sgc-inp,.cw-filtro .sgc .sgc-inp.sgc-inp{min-height:48px;font-size:16px;border-color:var(--line-3);color:var(--txt)}
.cw-campo .sgc .sgc-inp.sgc-inp:hover,.cw-filtro .sgc .sgc-inp.sgc-inp:hover{border-color:var(--acc)}
.cw-campo [aria-invalid="true"]+.sgc .sgc-inp,.cw-campo .sgc:has(+[aria-invalid="true"]) .sgc-inp.sgc-inp{border-color:var(--no-d);box-shadow:0 0 0 3px rgba(154,52,18,.12)}

/* ---------- avviso del carrello ---------- */
.cw-avviso{position:fixed;left:50%;bottom:20px;z-index:90;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);
  padding:12px 12px 12px 16px;border-radius:16px;background:var(--txt);color:#fff;box-shadow:0 18px 44px rgba(10,20,40,.3);
  transform:translate(-50%,140%);opacity:0;visibility:hidden;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .2s,visibility 0s .32s}
.cw-avviso.cw-su{transform:translate(-50%,0);opacity:1;visibility:visible;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .2s}
.cw-avviso-i{display:inline-flex;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.14);align-items:center;justify-content:center;flex:0 0 auto}
.cw-avviso-i .cw-ico{width:18px;height:18px;color:#8BE0B5}
.cw-avviso-t{font-size:14.5px;line-height:1.35}
.cw-avviso-a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;background:#fff;color:var(--acc-d);font-weight:700;font-size:14px;text-decoration:none}
.cw-avviso-a:hover{color:var(--acc-d);background:#E8F4F6}
.cw-avviso-x{flex:0 0 auto;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:rgba(255,255,255,.75);font-size:22px;line-height:1;cursor:pointer}
.cw-avviso-x:hover{background:rgba(255,255,255,.12);color:#fff}
@media (max-width:979px){body.cw-con-barra .cw-avviso{bottom:96px}}
@media (max-width:520px){.cw-avviso{flex-wrap:wrap;width:calc(100vw - 32px)}.cw-avviso-t{flex:1 1 60%}}

/* ---------- filtro "Sono un…" dell'hub: stesso campo dei moduli ---------- */
.cw-filtro select{width:100%;min-height:48px;padding:11px 38px 11px 13px;border:1px solid var(--line-3);border-radius:12px;color:var(--txt);
  font:16px/1.35 var(--sans);appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235A6480' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center}
.cw-filtro select:hover{border-color:var(--acc)}
.cw-filtro select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(45,79,192,.22)}

/* ---------- pagina principale del catalogo (21/10/2026): impaginazione centrata come la home del sito ---------- */
@keyframes cw-hub-su{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cw-hero-hub{text-align:center;padding:4px 0 30px}
.cw-hero-hub>*{animation:cw-hub-su .7s cubic-bezier(.2,.7,.2,1) both}
.cw-hero-hub>:nth-child(2){animation-delay:.04s}
.cw-hero-hub>:nth-child(3){animation-delay:.1s}
.cw-hero-hub>:nth-child(4){animation-delay:.18s}
.cw-hero-hub>:nth-child(5){animation-delay:.26s}
.cw-hero-hub>:nth-child(6){animation-delay:.34s}
.cw-hero-hub .cw-briciole ol{justify-content:center}
.cw-eyebrow-piano{background:none;border:0;padding:0;margin:28px 0 16px;color:var(--acc);font-size:12.5px;letter-spacing:.16em}
.cw-eyebrow-piano::before{display:none}
.cw-hero-hub h1{font-size:clamp(36px,6.4vw,66px);line-height:1.04;letter-spacing:-.028em;max-width:16ch;margin:0 auto 20px}
.cw-hero-hub h1 em{font-style:italic;color:var(--acc)}
.cw-hero-hub .cw-intro{margin:0 auto;max-width:62ch;font-size:clamp(16.5px,1.6vw,18.5px)}
.cw-hero-b{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:26px 0 0}
.cw-garanzie{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;font-size:14px;color:var(--muted)}
.cw-garanzie li{display:inline-flex;align-items:center;gap:7px}
.cw-garanzie .cw-ico{width:20px;height:20px;padding:3px;border-radius:50%;background:var(--ok-t);color:var(--ok-d);stroke-width:2.6}

.cw-numeri ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--ombra)}
.cw-numeri li{background:var(--card);padding:20px 14px;text-align:center}
.cw-numeri b{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.6vw,38px);line-height:1.05;letter-spacing:-.02em;color:var(--acc-d)}
.cw-numeri span{display:block;margin-top:6px;font-size:13.5px;line-height:1.35;color:var(--muted)}
@media (min-width:820px){.cw-numeri ul{grid-template-columns:repeat(4,minmax(0,1fr))}}


.cw-percorsi{display:grid;gap:14px;margin:30px 0 0}
@media (min-width:760px){.cw-percorsi{grid-template-columns:1fr 1fr}}
.cw-percorso{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;min-height:210px;padding:clamp(22px,3vw,30px);border-radius:var(--r-l);color:#fff;text-decoration:none;box-shadow:var(--ombra);transition:transform .2s,box-shadow .2s}
.cw-percorso::after{content:"";position:absolute;right:-70px;bottom:-90px;width:250px;height:250px;border-radius:50%;border:36px solid rgba(255,255,255,.08);pointer-events:none}
.cw-percorso-ata{background:radial-gradient(420px 220px at 100% 0,rgba(255,255,255,.16),transparent 60%),linear-gradient(135deg,#1B5480,#2A7AAE)}
.cw-percorso-doc{background:radial-gradient(420px 220px at 100% 0,rgba(111,140,235,.45),transparent 60%),linear-gradient(135deg,#0F4F5B,#176E82)}
.cw-percorso:hover{color:#fff;transform:translateY(-3px);box-shadow:var(--ombra-h)}
.cw-percorso:focus-visible{outline-color:var(--txt)}
.cw-percorso-n{align-self:flex-start;padding:4px 11px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cw-percorso-t{margin-top:6px;font-family:var(--serif);font-size:clamp(26px,3.2vw,34px);font-weight:600;line-height:1.1}
.cw-percorso-d{max-width:44ch;font-size:15px;line-height:1.5;color:rgba(255,255,255,.9)}
.cw-percorso-vai{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:10px;font-weight:700}
.cw-percorso-vai .cw-ico{transition:transform .2s}
.cw-percorso:hover .cw-percorso-vai .cw-ico{transform:translateX(3px)}

.cw-qs{position:relative;overflow:hidden;display:grid;gap:26px;align-items:center;margin:40px 0 18px;padding:clamp(24px,4vw,44px);border-radius:var(--r-l);color:#fff;
  /* il blu della sezione Corsi a sfumare (utente, 23/10/2026: prima andava dal verde acqua al blu) */
  background:radial-gradient(520px 300px at 0 0,rgba(111,140,235,.45),transparent 60%),linear-gradient(135deg,var(--acc),#2744A8 50%,var(--acc-d))}
@media (min-width:860px){.cw-qs{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
.cw-qs h2{color:#fff}
.cw-qs p{max-width:56ch;color:rgba(255,255,255,.88)}
.cw-qs .cw-qs-et{margin:0 0 8px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#C3D2FF}
.cw-qs .cw-btn{margin-top:8px}
.cw-qs-v{position:relative;padding:18px 112px 40px 70px;border-radius:var(--r);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.cw-qsv-l{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cw-qsv-l li{height:26px;display:flex;align-items:center}
.cw-qsv-l span{display:block;width:var(--w);height:10px;border-radius:999px;background:rgba(255,255,255,.22)}
.cw-qsv-tu{position:absolute;left:16px;top:198px;height:26px;display:flex;align-items:center;padding:0 11px;border-radius:999px;background:var(--oro);color:#3B2A00;font-size:12px;font-weight:800;
  box-shadow:0 6px 16px rgba(0,0,0,.25);animation:cw-qsv 3.6s cubic-bezier(.6,0,.2,1) .8s infinite alternate}
@keyframes cw-qsv{0%,15%{transform:translateY(0)}85%,100%{transform:translateY(-108px)}}
.cw-qsv-da,.cw-qsv-a{position:absolute;right:16px;height:26px;display:flex;align-items:center;font-size:12px;font-weight:600;color:rgba(255,255,255,.75)}
.cw-qsv-da{top:198px}
.cw-qsv-a{top:90px;color:#FFE3A1}
.cw-qs .cw-qsv-es{position:absolute;left:0;right:0;bottom:10px;margin:0;text-align:center;font-size:11.5px;color:rgba(255,255,255,.6)}

.cw-p-hub .cw-perche{counter-reset:perche}
.cw-p-hub .cw-perche li{counter-increment:perche;padding:20px 18px;background:var(--card);border-color:var(--line);box-shadow:var(--ombra)}
.cw-p-hub .cw-perche li::before{content:"0" counter(perche);display:block;margin:0 0 10px;font-family:var(--serif);font-size:30px;font-weight:600;line-height:1;color:var(--acc-2)}
@media (min-width:900px){
  .cw-p-hub .cw-passi{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 26px}
  .cw-p-hub .cw-passi li{padding:46px 0 0}
  .cw-p-hub .cw-passi li::after{display:none}
}
@media (prefers-reduced-motion:reduce){.cw-hero-hub>*,.cw-qsv-tu{animation:none}}

/* ---------- DataLab (21/10/2026): bottoni con l'arancione di DataLab, riquadro d'acquisto sempre visibile per intero ---------- */
.cw-btn-dl{background:#F2762E;color:#fff;box-shadow:0 8px 22px rgba(242,118,46,.28)}
.cw-btn-dl:hover{background:#E0641F;color:#fff;transform:translateY(-1px);box-shadow:0 12px 28px rgba(242,118,46,.36)}
.cw-btn-dl:focus-visible{outline-color:var(--txt)}
.cw-compra .cw-compra-fatti{margin:16px 0 0}
/* sul computer il riquadro fermo a destra resta corto e si vede tutto: i dettagli (durata, modalità, ente) sono già in "Cosa ricevi" */
@media (min-width:980px){
  .cw-lato .cw-compra-fatti{display:none}
}
.cw-barra .cw-btn-dl{padding:10px 16px}
/* nome in grande (23/10/2026): sotto i 440px pulsanti piu stretti per lasciargli spazio */
@media (max-width:440px){.cw-barra-in{gap:6px}
  .cw-barra .cw-btn{padding:10px 13px}
  .cw-barra .cw-barra-agg{padding:0;width:42px}
}

/* ---------- pagina corso: il blocco "Quanto sali" che apre lo strumento (21/10/2026) ---------- */
.cw-pre-box{margin:0 0 18px;scroll-margin-top:calc(var(--testa) + 12px)}
.cw-qs-corso{margin:0;padding:clamp(20px,3vw,28px);gap:18px;transition:border-radius .3s}
@media (min-width:700px){.cw-qs-corso{grid-template-columns:minmax(0,1fr) 240px}}
.cw-qs-corso h2{font-size:clamp(22px,2.6vw,27px);margin-bottom:8px}
.cw-qs-corso p{font-size:15px;line-height:1.5;margin:0 0 14px}
.cw-qs-corso .cw-btn{margin-top:0}
.cw-qs-apri .cw-ico{transform:rotate(90deg);transition:transform .3s}
.cw-pre-box:not(.cw-pre-chiuso) .cw-qs-apri{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);box-shadow:none}
.cw-pre-box:not(.cw-pre-chiuso) .cw-qs-apri .cw-ico{transform:rotate(-90deg)}
.cw-qs-corso::after{content:"";position:absolute;inset:0;pointer-events:none;transform:translateX(-110%);
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%)}
/* la scala, più bassa di quella della pagina principale: 5 righe da 20 px ogni 28 px */
.cw-qs-corso .cw-qs-v{padding:14px 96px 14px 60px}
.cw-qs-corso .cw-qsv-l{gap:8px}
.cw-qs-corso .cw-qsv-l li{height:20px}
.cw-qs-corso .cw-qsv-l span{height:8px}
.cw-qs-corso .cw-qsv-tu{left:12px;top:13px;height:22px;font-size:11.5px;transform:translateY(112px);animation:cw-qsv-c 3.6s cubic-bezier(.6,0,.2,1) .8s infinite alternate}
@keyframes cw-qsv-c{0%,15%{transform:translateY(112px)}85%,100%{transform:translateY(28px)}}
.cw-qs-corso .cw-qsv-da,.cw-qs-corso .cw-qsv-a{height:20px;font-size:11.5px}
.cw-qs-corso .cw-qsv-da{top:126px}
.cw-qs-corso .cw-qsv-a{top:42px}
.cw-qs-corso .cw-qsv-es{bottom:8px;font-size:11px}
@media (max-width:699px){.cw-qs-corso .cw-qs-v{display:none}}

/* chiuso (solo con JavaScript), aperto, e l'effetto d'apertura */
.cw-js .cw-pre-chiuso .cw-pre-corpo{display:none}
.cw-pre-box:not(.cw-pre-chiuso) .cw-qs-corso{border-radius:var(--r-l) var(--r-l) 0 0}
.cw-pre-box:not(.cw-pre-chiuso) .cw-qsv-tu{animation:none;transform:translateY(28px);box-shadow:0 0 0 4px rgba(244,192,78,.25),0 6px 16px rgba(0,0,0,.25)}
.cw-pre-corpo{background:linear-gradient(180deg,#fff,#FAFCFE);border:1px solid #d9e6ee;border-top:0;border-radius:0 0 var(--r-l) var(--r-l);padding:clamp(16px,3vw,26px);box-shadow:var(--ombra)}
.cw-pre-corpo .cw-pre{margin-top:0}
@keyframes cw-luce{to{transform:translateX(110%)}}
@keyframes cw-qsv-sale{0%{transform:translateY(112px) scale(1)}60%{transform:translateY(20px) scale(1.18)}100%{transform:translateY(28px) scale(1)}}
@keyframes cw-pre-giu{from{opacity:0;transform:translateY(-16px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
.cw-pre-apre .cw-qs-corso::after{animation:cw-luce .9s ease-out}
.cw-pre-apre .cw-qsv-tu{animation:cw-qsv-sale .8s cubic-bezier(.2,.9,.3,1.2) both}
.cw-pre-apre .cw-pre-corpo{animation:cw-pre-giu .6s cubic-bezier(.2,.8,.2,1) .15s both}
.cw-pre-apre .cw-pre-campi>.cw-campo,.cw-pre-apre .cw-pre-scelta,.cw-pre-apre .cw-pre-azioni{animation:cw-hub-su .5s cubic-bezier(.2,.7,.2,1) both}
.cw-pre-apre .cw-pre-campi>.cw-campo:nth-child(2){animation-delay:.3s}
.cw-pre-apre .cw-pre-campi>.cw-campo:nth-child(3),.cw-pre-apre .cw-pre-campi>.cw-campo:nth-child(4){animation-delay:.36s}
.cw-pre-apre .cw-pre-campi>.cw-campo:nth-child(5){animation-delay:.42s}
.cw-pre-apre .cw-pre-campi>.cw-campo:nth-child(6){animation-delay:.48s}
.cw-pre-apre .cw-pre-scelta{animation-delay:.54s}
.cw-pre-apre .cw-pre-azioni{animation-delay:.62s}

/* la tendina per aggiungere altri titoli */
.cw-pre-agg-w{margin-top:10px;max-width:460px}
.cw-pre-agg{width:100%;min-height:46px;padding:10px 38px 10px 13px;border:1px dashed var(--acc-b);border-radius:12px;color:var(--acc-d);font:600 15px/1.35 var(--sans);
  appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23125E6B' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center}
.cw-pre-agg:hover{border-color:var(--acc);border-style:solid}
.cw-pre-agg:focus{outline:none;border-color:var(--acc);border-style:solid;box-shadow:0 0 0 3px rgba(45,79,192,.22)}
@media (prefers-reduced-motion:reduce){.cw-qs-corso .cw-qsv-tu{animation:none}}

/* ---------- DataLab nel menu e nel riquadro finale della pagina principale (21/10/2026) ---------- */
.cw-azioni a.cw-az-dl{background:#F2762E;color:#fff;border-color:transparent;border-radius:999px;min-height:40px;padding:0 16px;margin:0 4px;font-weight:700;text-decoration:none;box-shadow:0 6px 16px rgba(242,118,46,.28)}
.cw-azioni a.cw-az-dl:hover{background:#E0641F;color:#fff}
.cw-cta-dl{background:radial-gradient(600px 300px at 90% -20%,rgba(255,196,140,.45),transparent 60%),linear-gradient(135deg,#F2762E,#D9581C 70%,#B9461A)}
.cw-cta-dl .cw-btn-w{color:#B9461A}
.cw-cta-dl .cw-btn-w:hover{color:#9A3A14}

/* ---------- pagina principale: la scelta del profilo (21/10/2026) ---------- */
.cw-scegli{position:relative;overflow:hidden;display:grid;gap:22px;align-items:center;margin:30px 0 0;padding:clamp(20px,3vw,30px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--ombra);scroll-margin-top:calc(var(--testa) + 16px)}
.cw-scegli::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px 220px at 0 0,rgba(111,140,235,.13),transparent 70%),radial-gradient(380px 220px at 100% 100%,rgba(62,155,208,.11),transparent 70%)}
.cw-scegli>*{position:relative;min-width:0}
@media (min-width:900px){.cw-scegli{grid-template-columns:290px minmax(0,1fr);gap:34px}}
.cw-sc-et{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.cw-scegli h2{margin:0 0 16px;font-size:clamp(24px,2.8vw,30px)}
.cw-sc-tab{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:999px;background:#EEF3F8;border:1px solid var(--line)}
.cw-sc-tab::before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:linear-gradient(140deg,#1B5480,#2A7AAE);box-shadow:0 6px 16px rgba(27,84,128,.3);transition:transform .35s cubic-bezier(.3,.8,.3,1),background .35s}
.cw-scegli[data-att="doc"] .cw-sc-tab::before{transform:translateX(100%);background:linear-gradient(140deg,var(--acc-d),var(--gps));box-shadow:0 6px 16px rgba(30,58,138,.3)}
.cw-sc-tab button{position:relative;z-index:1;min-height:42px;padding:0 8px;border:0;border-radius:999px;background:none;font:700 14px/1.2 var(--sans);color:var(--soft);cursor:pointer;transition:color .3s}
.cw-sc-tab button[aria-pressed="true"]{color:#fff}
.cw-scegli .cw-filtro-info{margin:14px 0 8px;font-size:14px;line-height:1.45;color:var(--muted)}
.cw-sc-tutti{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-radius:999px;border:1px dashed var(--line-3);background:#fff;font:600 13.5px/1 var(--sans);color:var(--soft);cursor:pointer}
.cw-sc-tutti:hover{border-color:var(--acc);border-style:solid;color:var(--acc-d)}
.cw-sc-tutti .cw-ico{width:16px;height:16px}
.cw-sc-tutti[aria-pressed="true"]{display:none}
.cw-sc-pan{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:10px}
.cw-tes-n{overflow-wrap:break-word}
.cw-tes{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:center;min-height:64px;padding:10px 12px;text-align:left;font:inherit;color:var(--txt);
  background:#fff;border:1px solid var(--line);border-radius:16px;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s,background .25s,color .25s}
.cw-tes-i{grid-row:1/3;width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(62,155,208,.12);color:#1B5480;transition:background .25s,color .25s}
.cw-tes-doc .cw-tes-i{background:var(--acc-t);color:var(--acc-d)}
.cw-tes-i .cw-ico{width:20px;height:20px}
.cw-tes-n{align-self:end;font-size:14px;font-weight:700;line-height:1.25}
.cw-tes-c{align-self:start;font-size:12.5px;line-height:1.3;color:var(--muted)}
.cw-tes-ok{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:#1B5480;transform:scale(0);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.cw-tes-ok .cw-ico{width:13px;height:13px;stroke-width:3}
.cw-tes:hover{transform:translateY(-2px);border-color:#cfdbe8;box-shadow:var(--ombra)}
.cw-tes[aria-pressed="true"]{background:linear-gradient(140deg,#1B5480,#2A7AAE);border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(27,84,128,.32)}
.cw-tes-doc[aria-pressed="true"]{background:linear-gradient(140deg,var(--acc-d),var(--gps));box-shadow:0 10px 24px rgba(30,58,138,.32)}
.cw-tes[aria-pressed="true"] .cw-tes-i{background:rgba(255,255,255,.18);color:#fff}
.cw-tes[aria-pressed="true"] .cw-tes-c{color:rgba(255,255,255,.88)}
.cw-tes[aria-pressed="true"] .cw-tes-ok{transform:scale(1)}
.cw-tes-doc[aria-pressed="true"] .cw-tes-ok{color:var(--acc-d)}
.cw-tes:focus-visible{outline-offset:3px}
.cw-sc-pan[data-cw-sc-pan="doc"]{grid-template-columns:minmax(0,340px)}
.cw-sc-nota{margin:2px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}
@keyframes cw-tes-in{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.cw-sc-pan:not([hidden])>*{animation:cw-tes-in .45s cubic-bezier(.2,.8,.2,1) backwards}
.cw-sc-pan>:nth-child(2){animation-delay:.04s}
.cw-sc-pan>:nth-child(3){animation-delay:.08s}
.cw-sc-pan>:nth-child(4){animation-delay:.12s}
.cw-sc-pan>:nth-child(5){animation-delay:.16s}
.cw-sc-pan>:nth-child(6){animation-delay:.2s}
.cw-sc-pan>:nth-child(7){animation-delay:.24s}
.cw-sc-pan>:nth-child(8){animation-delay:.28s}
/* sul telefono una fila sola che scorre, con l'icona sopra il nome: il blocco resta basso */
@media (max-width:619px){
  .cw-sc-pan{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 calc(-1 * clamp(20px,3vw,30px));padding:4px clamp(20px,3vw,30px) 10px;scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%)}
  .cw-sc-pan::-webkit-scrollbar{display:none}
  .cw-tes{flex:0 0 142px;font-size:13.5px;scroll-snap-align:start;grid-template-columns:1fr;row-gap:6px;align-content:start;padding:12px}
  .cw-tes-i{grid-row:auto}
  .cw-tes-n{font-size:13.5px}
  .cw-sc-pan[data-cw-sc-pan="doc"]{display:grid;margin:0;padding:0;-webkit-mask-image:none;mask-image:none}
  .cw-sc-pan[data-cw-sc-pan="doc"] .cw-tes{grid-template-columns:auto minmax(0,1fr)}
  .cw-sc-pan[data-cw-sc-pan="doc"] .cw-tes-i{grid-row:1/3}
}

/* ---------- riquadro d'acquisto: i vantaggi principali sotto i bottoni (21/10/2026) ---------- */
.cw-compra-vant{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line-2);display:grid;gap:8px}
.cw-compra-vant li{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.4;color:var(--soft)}
.cw-compra-vant .cw-ico{flex:0 0 auto;width:20px;height:20px;padding:3px;margin-top:-1px;border-radius:50%;background:var(--ok-t);color:var(--ok-d);stroke-width:2.6}

/* ---------- pagina corso: "Ti serve? Dipende da chi sei" apribile (21/10/2026) ---------- */
.cw-serve{position:relative;overflow:hidden}
.cw-serve::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--ok),var(--acc-2));opacity:0;transition:opacity .3s}
.cw-serve:not(.cw-serve-chiuso)::before{opacity:1}
.cw-serve-h{margin:0}
.cw-serve-b{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin:0;padding:0;border:0;background:none;text-align:left;color:inherit;font:inherit;cursor:pointer}
.cw-serve-giu{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--acc-t);color:var(--acc-d);
  transition:transform .45s cubic-bezier(.3,1.4,.5,1),background .25s,color .25s}
.cw-serve-b:hover .cw-serve-giu{background:var(--acc);color:#fff}
.cw-serve:not(.cw-serve-chiuso) .cw-serve-giu{transform:rotate(180deg)}
.cw-serve:not(.cw-serve-chiuso) .cw-serve-rias{display:none}
.cw-serve-corpo{display:grid;grid-template-rows:1fr;transition:grid-template-rows .55s cubic-bezier(.3,.8,.3,1)}
.cw-serve-in{min-height:0;overflow:hidden}
.cw-serve-in>.cw-tab-w{padding-top:16px}
.cw-js .cw-serve-chiuso .cw-serve-corpo{grid-template-rows:0fr}
.cw-js .cw-serve-chiuso .cw-serve-in{visibility:hidden;transition:visibility 0s .55s}
@keyframes cw-riga{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.cw-serve-apre .cw-tab tbody tr{animation:cw-riga .45s cubic-bezier(.2,.8,.2,1) backwards}
.cw-serve-apre .cw-tab tbody tr:nth-child(2){animation-delay:.06s}
.cw-serve-apre .cw-tab tbody tr:nth-child(3){animation-delay:.12s}
.cw-serve-apre .cw-tab tbody tr:nth-child(4){animation-delay:.18s}
.cw-serve-apre .cw-tab tbody tr:nth-child(5){animation-delay:.24s}
.cw-serve-apre .cw-tab tbody tr:nth-child(6){animation-delay:.3s}
.cw-serve-apre .cw-tab tbody tr:nth-child(n+7){animation-delay:.36s}
.cw-serve-apre .cw-serve-giu{box-shadow:0 0 0 0 rgba(45,79,192,.45);animation:cw-onda .9s ease-out}
@keyframes cw-onda{to{box-shadow:0 0 0 16px rgba(45,79,192,0)}}

/* ---------- l'omaggio di un corso (21/10/2026): dorato, ben in vista ---------- */
.cw-omaggio{position:relative;overflow:hidden;display:flex;gap:16px;align-items:center;margin:16px 0 4px;padding:18px 20px;border-radius:var(--r);
  background:linear-gradient(120deg,#FFF7E3,#FFEFC7 55%,#FFE3A1);border:1px solid #F4D27F;box-shadow:0 10px 26px rgba(196,140,20,.16)}
.cw-omaggio::after{content:"";position:absolute;inset:0;pointer-events:none;transform:translateX(-110%);
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.6) 50%,transparent 65%);animation:cw-luccica 4s ease-in-out 1.2s infinite}
@keyframes cw-luccica{0%{transform:translateX(-110%)}30%,100%{transform:translateX(110%)}}
.cw-omaggio-i{flex:0 0 auto;width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#F4C04E,#D99A1E);color:#fff;
  box-shadow:0 8px 18px rgba(217,154,30,.35);transform:rotate(-6deg)}
.cw-omaggio-i .cw-ico{width:28px;height:28px;stroke-width:1.9}
.cw-omaggio-et{margin:0 0 2px;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9A6400}
.cw-omaggio-t{margin:0 0 4px;font-family:var(--serif);font-size:clamp(19px,2.2vw,22px);font-weight:600;line-height:1.2;color:#3B2A00}
.cw-omaggio-d{margin:0;font-size:14.5px;line-height:1.5;color:#5A4300}
.cw-compra-om{display:flex;align-items:flex-start;gap:9px;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:linear-gradient(120deg,#FFF7E3,#FFEFC7);border:1px solid #F4D27F;
  font-size:13.5px;line-height:1.4;color:#5A4300}
.cw-compra-om b{color:#7A5300}
.cw-compra-om .cw-ico{flex:0 0 auto;width:20px;height:20px;color:#C48A12}
.cw-ricevi-om{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;background:#FFF7E3;border:1px solid #F4D27F;color:#5A4300}
.cw-ricevi-om b{color:#7A5300}
.cw-ricevi-om .cw-ico{flex:0 0 auto;width:22px;height:22px;color:#C48A12;margin-top:1px}
@media (prefers-reduced-motion:reduce){.cw-omaggio::after{animation:none}}
/* l'omaggio in esclusiva ScuolaGo: bollino con la stella e bordo più acceso */
.cw-omaggio-et{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cw-esclusiva{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 7px;border-radius:999px;background:linear-gradient(135deg,var(--acc-d),var(--acc));color:#fff;
  font-size:11px;font-weight:800;letter-spacing:.08em;box-shadow:0 4px 12px rgba(30,58,138,.3)}
.cw-esclusiva .cw-ico{width:13px;height:13px;fill:#FFD66B;stroke:#FFD66B;stroke-width:1.2}
.cw-om-escl.cw-omaggio{border:1.5px solid #E9B949;box-shadow:0 12px 30px rgba(196,140,20,.22),inset 0 0 0 4px rgba(255,255,255,.35)}
.cw-om-escl .cw-omaggio-i{animation:cw-dondola 3.5s ease-in-out 1s infinite}
@keyframes cw-dondola{0%,80%,100%{transform:rotate(-6deg)}86%{transform:rotate(6deg) scale(1.06)}92%{transform:rotate(-10deg)}}
@media (prefers-reduced-motion:reduce){.cw-om-escl .cw-omaggio-i{animation:none}}

/* ---------- "Ti serve?": il riepilogo con anello e griglia di profili (21/10/2026) ---------- */
.cw-serve-rias{display:grid;gap:14px;margin:16px 0 0}
.cw-serve-sint{display:flex;align-items:center;gap:14px}
.cw-serve-cont{position:relative;flex:0 0 auto;width:62px;height:62px}
.cw-serve-anello{width:62px;height:62px;transform:rotate(-90deg)}
.cw-an-f{fill:none;stroke:#E8EEF5;stroke-width:5}
.cw-an-v{fill:none;stroke:var(--ok);stroke-width:5;stroke-linecap:round;stroke-dasharray:113.1;stroke-dashoffset:calc(113.1 * (1 - var(--p)));transition:stroke-dashoffset 1.3s cubic-bezier(.3,.8,.3,1) .1s}
.cw-js .cw-serve:not(.cw-serve-vis) .cw-an-v{stroke-dashoffset:113.1}
.cw-serve-cont b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ok-d)}
.cw-serve-sint p{margin:0}
.cw-serve-sint p b{display:block;font-family:var(--serif);font-size:clamp(18px,2vw,21px);font-weight:600;line-height:1.25;color:var(--txt)}
.cw-serve-sint p span{display:block;margin-top:2px;font-size:13.5px;line-height:1.45;color:var(--muted)}
.cw-serve-griglia{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media (max-width:640px){.cw-serve-griglia{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cw-st{width:100%;min-height:54px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:14px;background:#fff;
  font:inherit;text-align:left;color:var(--txt);cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
.cw-st:hover{transform:translateY(-2px);box-shadow:var(--ombra);border-color:#cfdbe8}
.cw-st:focus-visible{outline-offset:2px}
.cw-st-i{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.cw-st-i .cw-ico{width:18px;height:18px}
.cw-st-n{flex:1;min-width:0;font-size:13.5px;font-weight:600;line-height:1.25}
.cw-st-s{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.cw-st-s .cw-ico{width:14px;height:14px;stroke-width:2.8}
.cw-st-si{background:linear-gradient(135deg,#fff,#F1FAF5);border-color:#C6E8D4}
.cw-st-si .cw-st-i{background:var(--ok-t);color:var(--ok-d)}
.cw-st-si .cw-st-s{background:var(--ok);color:#fff;box-shadow:0 3px 8px rgba(47,163,107,.35)}
.cw-st-acc{background:linear-gradient(135deg,#fff,#EFF8F9);border-color:var(--acc-b)}
.cw-st-acc .cw-st-i{background:var(--acc-t);color:var(--acc-d)}
.cw-st-acc .cw-st-s{background:var(--acc);color:#fff;box-shadow:0 3px 8px rgba(45,79,192,.3)}
.cw-st-no{background:#FAFBFD}
.cw-st-no .cw-st-n{font-weight:500;color:var(--muted)}
.cw-st-no .cw-st-i{background:#F0F2F6;color:#9AA3B8}
.cw-st-no .cw-st-s{background:#EEF1F5;color:#9AA3B8}
@keyframes cw-pop{0%{transform:scale(0)}70%{transform:scale(1.25)}100%{transform:scale(1)}}
.cw-js .cw-serve:not(.cw-serve-vis) .cw-serve-griglia li{opacity:0}
.cw-serve-vis .cw-serve-griglia li{animation:cw-tes-in .45s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i) * 55ms)}
.cw-serve-vis .cw-st-s{animation:cw-pop .45s cubic-bezier(.3,1.5,.5,1) backwards;animation-delay:calc(var(--i) * 55ms + .3s)}
@keyframes cw-lampo{0%{background:#CDEFDB}100%{background:#F3FAF9}}
.cw-tab tr.cw-evid{animation:cw-lampo 1.8s ease-out}
@media (max-width:640px){
  .cw-st{gap:8px;padding:8px 9px}
  .cw-st-i{display:none}
  .cw-st-n{font-size:13px;overflow-wrap:break-word}
}

/* KPI con una parola lunga ("Qualifica professionalizzante", 21/10/2026): la parola va a capo da sola e si adatta al riquadro */
.cw-kpi li:has(.cw-kpi-w){container-type:inline-size}
.cw-kpi .cw-kpi-w{display:block;font-style:normal;font-size:clamp(14px,calc(100cqi / 10),25px);line-height:1.2;letter-spacing:-.01em;white-space:nowrap}

/* link "Verifica accreditamento" accanto a "Rilascia" (21/10/2026) */
.cw-accredia{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-weight:600;color:var(--acc-d);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.cw-accredia svg{width:12px;height:12px}

/* telefono più snello, "Corsi su misura" (utente, 22/10/2026): via il riepilogo "N corsi e N pacchetti...",
   il pulsante "Mostra tutti i corsi" e la nota sotto la scheda del profilo */
@media (max-width:979px){.cw-scegli .cw-filtro-info,.cw-scegli .cw-sc-tutti,.cw-scegli .cw-sc-nota{display:none!important}}

/* telefono: scorrendo in giù se ne va anche la barra delle sezioni, come in Docenti e ATA; la barra d'acquisto
   scende al suo posto e torna su quando la barra ricompare (classe cw-giu messa da initTestaScorre) */
@media (max-width:979px){
  .cw-sezbar{transition:transform .32s cubic-bezier(.2,.8,.2,1)}
  html.cw-giu:not(.is-app) .cw-sezbar{transform:translateY(calc(100% + 8px))}
  .cw-barra{transition:transform .25s ease,visibility 0s linear .25s,bottom .32s cubic-bezier(.2,.8,.2,1)}
  .cw-barra.cw-vista{transition:transform .25s ease,bottom .32s cubic-bezier(.2,.8,.2,1)}
  html.cw-giu:not(.is-app) .cw-barra{bottom:0;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:979px) and (prefers-reduced-motion:reduce){.cw-sezbar,.cw-barra,.cw-barra.cw-vista{transition:none}}

/* pannello delle categorie: via "Tutti i corsi · Tutti i pacchetti · Torna a scuolago.it" (utente, 22/10/2026) */
.cw-pannello .cw-pan-fondo{display:none!important}

/* blocchi che si aprono solo se chi legge lo vuole: Riferimenti normativi, Fonti e approfondimenti (22/10/2026) */
.cw-blocco{margin-top:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.6);box-shadow:0 6px 18px rgba(28,40,75,.05);overflow:hidden;transition:box-shadow .25s,border-color .25s}
.cw-blocco[open]{border-color:var(--acc-b);box-shadow:0 12px 30px rgba(28,40,75,.09)}
.cw-blocco summary{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 16px;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}
.cw-blocco summary::-webkit-details-marker{display:none}
.cw-blocco summary:hover{background:var(--acc-t)}
.cw-blocco-t{margin:0!important;font:700 15.5px/1.25 var(--sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--txt)!important;flex:1}
.cw-blocco-n{font:700 12px/1 var(--sans);color:var(--acc-d);background:var(--acc-t);border-radius:999px;padding:5px 9px}
.cw-blocco-giu{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(25,34,58,.05);color:var(--soft);transition:transform .35s cubic-bezier(.2,.9,.25,1.2),background-color .2s,color .2s}
.cw-blocco-giu .cw-ico{width:16px;height:16px}
.cw-blocco[open] .cw-blocco-giu{transform:rotate(180deg);background:var(--acc);color:#fff}
.cw-blocco-in{padding:4px 16px 16px}
.cw-blocco[open] .cw-blocco-in{animation:cw-blocco-in .35s cubic-bezier(.2,.8,.2,1) both}
@keyframes cw-blocco-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
#fonti .cw-blocco{margin-top:0}
@media (prefers-reduced-motion:reduce){.cw-blocco[open] .cw-blocco-in{animation:none}.cw-blocco-giu{transition:none}}

/* ---------- telefono: piede riordinato (utente, 22/10/2026: "riordina per bene il footer su mobile") ----------
   marchio e frase in cima; Docenti · GPS e Personale · ATA affiancati in due riquadri di vetro; Corsi sotto, a tutta
   larghezza, con le voci su due colonne; in fondo, centrati, i link legali e la società */
@media (max-width:819px){
  .cw-piede{padding:28px 0 calc(24px + 64px + env(safe-area-inset-bottom,0px));font-size:13.5px}
  .cw-piede-g{grid-template-columns:1fr 1fr;gap:12px}
  .cw-piede-brand{grid-column:1/-1;margin-bottom:4px}
  .cw-piede-brand p{font-size:13.5px;line-height:1.55;margin-top:8px;max-width:none}
  .cw-piede-col{padding:12px 14px 8px;border-radius:16px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);box-shadow:0 6px 18px rgba(28,40,75,.06)}
  /* Docenti | ATA sopra, Corsi | Altre sezioni sotto */
  .cw-piede-col:nth-child(2){order:3}
  .cw-piede-col:nth-child(3){order:1}
  .cw-piede-col:nth-child(4){order:2}
  .cw-piede-col:nth-child(5){order:4;--c:#B98300}
  .cw-piede-t{margin:0 0 4px;font-size:10.5px;letter-spacing:.1em;display:flex;align-items:center;gap:7px}
  .cw-piede-t::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c,var(--acc))}
  .cw-piede-col:nth-child(2){--c:#1E3A8A}
  .cw-piede-col:nth-child(3){--c:var(--gps)}
  .cw-piede-col:nth-child(4){--c:var(--ata)}
  .cw-piede li a{min-height:38px;font-size:14px;color:var(--soft)}
  .cw-piede-legal{margin-top:18px;padding-top:16px;text-align:center;font-size:12.5px;line-height:1.55}
  .cw-piede-legal p{margin:0 auto 8px}
  .cw-piede-link a{padding:4px 2px}
  .cw-piede-soc{font-size:12px}
}

/* numerino delle notifiche sull'omino (lo mette sg-badges.js): in alto a destra come un esponente, fuori dalla sagoma (22/10/2026) */
.cw-gn a.cw-omino{position:relative;overflow:visible}
.cw-gn a.cw-omino [data-sg-notif]{position:absolute!important;top:-5px;right:-7px;margin:0!important;min-width:18px!important;height:18px!important;
  line-height:14px!important;padding:0 4px!important;font-size:10px!important;border:2px solid #fff;border-radius:999px!important;box-shadow:0 2px 6px rgba(229,72,77,.35)}
/* "PRO" accanto a ScuolaGo per chi ha un piano Pro (22/10/2026) */
.cw-testa .cw-marchio-home{position:relative}
.sg-pro-logo{position:absolute;right:0;bottom:-1px;display:block;margin:0;padding:0;background:linear-gradient(120deg,#F2C54E,#D69A00 55%,#B98300);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font:800 8px/1 Inter,system-ui,sans-serif;letter-spacing:.24em;box-shadow:none;border-radius:0;pointer-events:none}

/* telefono: sopra il titolo la sezione con la sua lineetta, come in Docenti, ATA e DataLab (utente, 22/10/2026 sera) */
@media (max-width:979px){
.cw-eyebrow,.cw-eyebrow-piano{display:inline-flex;align-items:center;gap:8px;margin:18px 0 12px;padding:0;background:none;border:0;border-radius:0;color:var(--acc);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.cw-eyebrow::before,.cw-eyebrow-piano::before{display:block;content:"";width:22px;height:2px;border-radius:2px;background:var(--acc);flex:0 0 auto}
}

/* telefono: testata dell'indice a sinistra, come Docenti, ATA e DataLab (utente, 22/10/2026 sera) */
@media (max-width:979px){
.cw-hero-hub{text-align:left}
.cw-hero-hub .cw-briciole ol,.cw-hero-hub .cw-hero-b{justify-content:flex-start}
.cw-hero-hub .cw-intro,.cw-hero-hub .cw-intro p{margin-left:0;margin-right:0}
}
/* new accanto a Corsi, Academy e DataLab nella tendina delle sezioni, sul computer (utente, 23/10/2026); sul telefono il new sta nella barra in basso */
.cw-sz-t b .cw-sz-nov{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;vertical-align:1px;background:#f4c04e;color:#3a2a05;font:800 9px/1 Inter,system-ui,sans-serif;border-radius:99px;padding:2px 7px;min-height:14px;text-transform:lowercase;letter-spacing:0}
@media (max-width:900px){.cw-sz-t b .cw-sz-nov{display:none}}
/* computer (23/10/2026 sera, utente: "il desktop devi sistemarlo"): dopo il carrello Guide, News e l'omino, come nelle altre
   sezioni. L'omino e' la stessa sagoma del telefono e porta all'area personale (con l'accesso) o ad Accedi */
@media (min-width:980px){
  html .cw-gn{display:flex;align-items:center;gap:2px;margin-left:6px}
  html .cw-gn a{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#2E333A;text-decoration:none;transition:color .2s,background .2s}
  html .cw-gn a:hover,html .cw-gn a:focus-visible{color:#111418;background:rgba(25,34,58,.06)}
  html .cw-gn a svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  html .cw-gn a.cw-omino{margin-left:2px;color:#3D4862}
  html .cw-gn a.cw-omino svg{width:22px;height:22px;stroke-width:1.9}
  html .cw-gn a.cw-omino [data-sg-notif]{top:1px;right:-1px}
}
/* cestino sulle righe dell'ordine (23/10/2026, utente: "nel carrello deve esserci la possibilita' di rimuovere un acquisto") */
.cw-riga-x{width:36px;padding:0;justify-content:center;border-radius:10px;color:var(--muted)}
.cw-riga-x .cw-ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cw-riga-x:hover,.cw-riga-x:focus-visible{color:var(--no-d)}
@media (pointer:coarse){.cw-riga-x{width:44px}}
