/* lucamoschetti.it — stile del sito. Gli stili dei singoli elementi restano in linea come nella bozza. */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/space-grotesk-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/space-grotesk-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;overflow-x:clip;background:#FAF9F6;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:#1B2A4E}
a{color:#0A7F70;text-decoration:none}
a:hover{color:#1B2A4E}
input,textarea,button,select{font-family:inherit;font-size:16px}
::placeholder{color:#5E6880;opacity:1}
:focus-visible{outline:3px solid #00C2A8;outline-offset:3px;border-radius:8px}
button{cursor:pointer}
@keyframes floatA{0%,100%{transform:translate(0,0)}50%{transform:translate(0,-26px)}}
@keyframes floatB{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(16px,14px) rotate(8deg)}}
@keyframes floatC{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-14px,10px) scale(1.06)}}
@keyframes dashDrift{to{stroke-dashoffset:-240}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Desktop / telefono (nella bozza era isDesktop = larghezza >= 1040) */
@media (max-width:1039.98px){.solo-desk{display:none!important}}
@media (min-width:1040px){.solo-mob{display:none!important}}

/* Campi dei form: bordo turchese quando attivi */
input:focus,textarea:focus,select:focus{border-color:#00C2A8!important}
.campo-errore{border-color:#D8573F!important}

/* Finestre (modali) */
.modale{position:fixed;inset:0;z-index:80;background:rgba(11,25,45,0.66);display:none;align-items:center;justify-content:center;padding:clamp(12px,2.5vw,32px)}
.modale.aperta{display:flex}
body.modale-aperta{overflow:hidden}

/* Avvisi (flash) */
.avviso{display:flex;gap:11px;align-items:flex-start;padding:14px 18px;border-radius:14px;font-size:15.5px;line-height:1.5}
.avviso.ok{background:rgba(0,194,168,0.14);color:#08302C}
.avviso.errore{background:rgba(216,87,63,0.12);color:#8A2A18}
.avviso.info{background:rgba(255,200,87,0.2);color:#6B4A05}

/* Stelle recensioni */
.stelle-voto{display:flex;gap:6px;flex-direction:row-reverse;justify-content:flex-end}
.stelle-voto input{position:absolute;opacity:0;width:1px;height:1px}
.stelle-voto label{font-size:34px;line-height:1;color:rgba(27,42,78,0.18);cursor:pointer;transition:color .12s ease}
.stelle-voto input:checked~label,.stelle-voto label:hover,.stelle-voto label:hover~label{color:#F2A900}
.stelle-voto input:focus-visible+label{outline:3px solid #00C2A8;outline-offset:2px;border-radius:6px}

/* Effetti hover della bozza (style-hover) */
.hv1:hover{border-color:#00C2A8!important;color:#1B2A4E!important}
.hv2:hover{background:#F7BC3F!important}
.hv3:hover{transform:translateY(-3px)!important}
.hv4:hover{border-color:#00C2A8!important;transform:translateY(-3px)!important}
.hv5:hover{background:rgba(0,194,168,0.16)!important;color:#0A7F70!important}
.hv6:hover{transform:translateY(-5px)!important;box-shadow:0 24px 50px rgba(27,42,78,0.16)!important}
.hv7:hover{border-color:#00C2A8!important}
.hv8:hover{transform:translateY(-7px)!important;box-shadow:0 22px 46px var(--sh)!important;border-color:var(--fg)!important}
.hv9:hover{border-color:#00C2A8!important;color:#4FE0CC!important}
.hv10:hover{transform:translateY(-7px)!important;border-color:rgba(0,194,168,0.6)!important}
.hv11:hover{transform:translateY(-7px)!important;border-color:rgba(255,200,87,0.6)!important}
.hv12:hover{transform:translateY(-7px)!important;border-color:rgba(224,92,79,0.7)!important}
.hv13:hover{border-color:#1B2A4E!important;color:#1B2A4E!important}
.hv14:hover{transform:translateY(-3px)!important;box-shadow:0 10px 22px rgba(27,42,78,0.10)!important;border-color:var(--fg)!important}
.hv15:hover{border-color:rgba(27,42,78,0.3)!important}
.hv16:hover{background:rgba(27,42,78,0.05)!important}
.hv17:hover{transform:translateY(-6px)!important;box-shadow:0 18px 40px var(--sh)!important;border-color:var(--fg)!important}
.hv18:hover{transform:translateY(-7px)!important;box-shadow:0 22px 44px rgba(27,42,78,0.3)!important;border-color:rgba(0,194,168,0.6)!important}
.hv19:hover{border-color:rgba(255,200,87,0.9)!important;transform:translateY(-4px)!important;box-shadow:0 18px 36px rgba(27,42,78,0.1)!important}
.hv20:hover{transform:translateY(-5px)!important;box-shadow:0 18px 36px rgba(154,108,8,0.26)!important;border-color:rgba(255,200,87,0.9)!important}
.hv21:hover{border-color:rgba(255,200,87,0.9)!important;transform:translateY(-3px)!important;box-shadow:0 14px 30px rgba(27,42,78,0.09)!important}
.hv22:hover{transform:translateY(-5px)!important;box-shadow:0 18px 36px rgba(199,74,50,0.24)!important;border-color:rgba(242,118,91,0.65)!important}
.hv23:hover{color:#C74A32!important}
.hv24:hover{transform:translateY(-4px)!important;box-shadow:0 20px 40px rgba(10,127,112,0.34)!important}
.hv25:hover{border-color:rgba(123,92,214,0.55)!important;box-shadow:0 14px 30px rgba(101,68,192,0.18)!important}
.hv26:hover{transform:translateY(-5px)!important;box-shadow:0 20px 40px rgba(101,68,192,0.24)!important}
.hv27:hover{transform:translateY(-6px)!important;box-shadow:0 20px 42px rgba(101,68,192,0.22)!important;border-color:rgba(123,92,214,0.5)!important}
.hv28:hover{color:#1B2A4E!important}
.hv29:hover{transform:translateY(-5px)!important;box-shadow:0 18px 36px rgba(48,89,196,0.24)!important;border-color:rgba(62,111,224,0.5)!important}
.hv30:hover{transform:translateY(-5px)!important;box-shadow:0 18px 36px rgba(10,127,112,0.24)!important}
.hv31:hover{text-decoration:underline!important}
.hv32:hover{border-color:#1B2A4E!important}
.hv33:hover{transform:translateY(-6px)!important;box-shadow:0 20px 40px rgba(10,127,112,0.26)!important;border-color:rgba(0,194,168,0.6)!important}
.hv34:hover{background:var(--hbg)!important;border-color:var(--hbd)!important}
.hv35:hover{background:linear-gradient(100deg,rgba(62,111,224,0.09),rgba(123,92,214,0.09),rgba(214,84,145,0.09))!important;border-color:rgba(123,92,214,0.55)!important}
.hv36:hover{transform:translateY(-5px)!important;box-shadow:0 18px 36px var(--hsh)!important;border-color:var(--hbd)!important}
.hv37:hover{border-color:rgba(0,194,168,0.6)!important;transform:translateX(4px)!important}
.hv38:hover{background:rgba(27,42,78,0.06)!important}
.hv39:hover{color:#4FE0CC!important}
.hv40:hover{background:#00C2A8!important;color:#08302C!important}
.hv41:hover{transform:translateY(-5px)!important;box-shadow:0 18px 36px rgba(10,127,112,0.24)!important;border-color:rgba(0,194,168,0.6)!important}
.hv42:hover{transform:translateY(-4px)!important;box-shadow:0 16px 32px rgba(27,42,78,0.1)!important;border-color:rgba(0,194,168,0.6)!important}
.hv43:hover{border-color:rgba(0,194,168,0.7)!important;transform:translateY(-3px)!important;box-shadow:0 14px 30px rgba(27,42,78,0.09)!important}
.hv44:hover{color:#0A7F70!important}
.hv45:hover{border-color:rgba(0,194,168,0.7)!important;background:rgba(0,194,168,0.06)!important}
.hv46:hover{background:rgba(0,194,168,0.2)!important}

/* Varianti desktop/telefono che nella bozza erano calcolate in JS */
.col-foto-chi{flex:0 1 420px;position:relative;min-width:min(100%,300px)}
@media (max-width:1039.98px){.col-foto-chi{order:2;flex:1 1 100%;width:min(100%,420px);max-width:calc(100% - 26px);margin-inline:auto}}
@media (max-width:1239.98px){.testo-largo{display:none}}

/* Hover aggiunti per i nuovi elementi */
.hv-playlist:hover{transform:translateY(-7px)!important;border-color:var(--hbd)!important}
.hv-accedi:hover{background:#0F1D38!important}
.hv-voce:hover{background:rgba(27,42,78,0.06)!important}
.hv-chiudi:hover{border-color:#00C2A8!important}
.menu-account summary::-webkit-details-marker{display:none}
.menu-account[open] summary{border-color:#00C2A8!important}

/* Box delle pagine a blocchi: il colore di accento arriva dalla sezione (--acc, --acc-bd, --acc-sh) */
.hb-card:hover{transform:translateY(-5px)!important;box-shadow:0 18px 36px var(--acc-sh)!important;border-color:var(--acc-bd)!important}
.hb-riga:hover{border-color:var(--acc-bd)!important;transform:translateY(-3px)!important;box-shadow:0 14px 30px rgba(27,42,78,0.09)!important}
.hb-testo:hover{color:var(--acc)!important}
.testo-blocco p{margin:0}
.testo-blocco ul,.testo-blocco ol{margin:0;padding-left:1.3em}
.voce-playlist{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border-radius:13px;border:1.5px solid rgba(27,42,78,0.1);background:#FFFFFF;color:#1B2A4E;font-size:15.5px;font-weight:600;line-height:1.35;text-align:left;transition:border-color .16s ease,background .16s ease}
.voce-playlist .n{width:28px;height:28px;flex:none;border-radius:9px;background:rgba(27,42,78,0.07);display:inline-flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-size:13.5px;font-weight:700}
.voce-playlist:hover{border-color:rgba(27,42,78,0.3)}
.voce-playlist[aria-current=true]{border-color:var(--acc);background:#FFFFFF;box-shadow:0 8px 20px rgba(27,42,78,0.08)}
.voce-playlist[aria-current=true] .n{background:var(--acc);color:#FFFFFF}
.riga-filtro{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.etich-filtro{font-size:13px;font-weight:700;color:#5E6880;letter-spacing:0.08em;text-transform:uppercase;min-width:74px}
.chips-filtro{display:flex;gap:7px;flex-wrap:wrap}
.chip-filtro{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:100px;border:1.5px solid rgba(27,42,78,0.12);background:#FFFFFF;color:#55617D;font-size:14.5px;font-weight:600}
.chip-filtro[aria-pressed=true]{border-color:rgba(123,92,214,0.7);background:rgba(123,92,214,0.12);color:#6544C0}
.chip-filtro .n{font-size:12.5px;opacity:.75}
@media (max-width:640px){.riga-filtro{flex-wrap:nowrap}.chips-filtro{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.chips-filtro::-webkit-scrollbar{display:none}.chip-filtro{flex:none}}

/* Chi sono: ritratto e griglia dei titoli (desktop / telefono) */
.col-ritratto{flex:0 1 400px;position:relative;min-width:min(100%,280px);max-width:calc(100% - 26px);margin-inline:auto}
.box-ritratto{position:relative;width:100%}
.mask-ritratto{position:absolute;left:20px;top:20px;right:-20px;bottom:-20px;border-radius:36px;background:rgba(0,194,168,0.16)}
.griglia-cv{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;align-items:start}
@media (max-width:1039.98px){
  .col-ritratto{flex:1 1 100%;width:100%;max-width:none;display:flex;gap:26px;align-items:stretch}
  .box-ritratto{flex:1 1 54%;min-width:0}
  .mask-ritratto{left:9px;top:9px;right:-9px;bottom:-9px;border-radius:30px}
  .griglia-cv{display:flex;flex-direction:column;gap:16px}
}

/* Domande frequenti (details/summary al posto dello stato in JS della bozza) */
.faq summary::-webkit-details-marker{display:none}
.faq .faq-segno::before{content:"+"}
.faq[open]{border-color:rgba(0,194,168,0.6)!important}
.faq[open] .faq-segno::before{content:"−"}

/* Pagina Test: colonna dei percorsi */
.col-filtro-test{flex:0 0 clamp(240px,25%,300px);display:flex;flex-direction:column;gap:8px}
@media (max-width:1039.98px){.col-filtro-test{flex:1 1 100%;width:100%}}

/* ── Svolgimento del test ── */
#runner{display:flex;flex-direction:column;gap:18px;scroll-margin-top:90px}
.rt-testa{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rt-info{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:650;color:#5E6880}
.rt-punti{padding:4px 11px;border-radius:100px;background:rgba(27,42,78,0.07);font-size:13px}
.rt-timer{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;border-radius:12px;background:#1B2A4E;color:#FAF9F6;font-family:'Space Grotesk',sans-serif;font-size:18px;font-variant-numeric:tabular-nums}
.rt-timer.poco{background:#D8573F;animation:pulsa 1s ease-in-out infinite}
@keyframes pulsa{50%{transform:scale(1.04)}}
.rt-barra{height:8px;border-radius:100px;background:rgba(27,42,78,0.09);overflow:hidden}
.rt-barra i{display:block;height:100%;border-radius:100px;background:#00C2A8;transition:width .3s ease}
.rt-domanda{display:flex;flex-direction:column;gap:18px;padding:clamp(22px,3vw,34px);border-radius:22px;background:#FFFFFF;border:1px solid rgba(27,42,78,0.09);box-shadow:0 18px 44px rgba(27,42,78,0.08);outline:none}
.rt-testo{font-family:'Space Grotesk',sans-serif;font-size:clamp(20px,2vw,26px);line-height:1.4;font-weight:600;letter-spacing:-0.3px}
.rt-testo p{margin:0 0 8px}
.rt-testo ul,.rt-testo ol{margin:6px 0;padding-left:1.3em;font-size:.85em}
.rt-img{max-width:min(100%,560px);border-radius:14px}
.rt-nota{margin:-6px 0 0;font-size:14.5px;color:#5E6880}
.rt-opzioni{display:flex;flex-direction:column;gap:11px}
.rt-opz{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border-radius:15px;background:#FFFFFF;border:1.5px solid rgba(27,42,78,0.14);color:#1B2A4E;text-align:left;font-size:17px;font-weight:550;line-height:1.35;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.rt-opz:hover{border-color:rgba(0,194,168,0.6)}
.rt-opz.scelta{border-color:#00C2A8;background:rgba(0,194,168,0.1)}
.rt-lettera{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex:none;font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;background:rgba(27,42,78,0.07);color:#465577}
.rt-opz.scelta .rt-lettera{background:#00C2A8;color:#08302C}
.rt-spazio{display:inline-block;width:clamp(90px,14ch,180px);height:42px;margin:0 4px;padding:0 10px;border:0;border-bottom:2.5px solid #1B2A4E;border-radius:8px 8px 0 0;background:rgba(0,194,168,0.08);font-family:Inter,sans-serif;font-size:18px;font-weight:600;color:#0A7F70;text-align:center;outline:none;vertical-align:baseline}
.rt-spazio:focus{border-bottom-color:#00C2A8;background:rgba(0,194,168,0.16)}
.rt-aperta{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:600;color:#3E4A66}
.rt-aperta textarea{padding:14px 16px;border-radius:14px;border:1.5px solid rgba(27,42,78,0.14);background:#FAF9F6;font-size:17px;line-height:1.55;color:#1B2A4E;outline:none;resize:vertical}
.rt-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rt-salva{font-size:13.5px;color:#8A93A6}
.rt-btn{height:52px;padding:0 24px;border-radius:14px;border:0;background:#1B2A4E;color:#FAF9F6;font-size:16.5px;font-weight:650;transition:transform .15s ease}
.rt-btn:hover{transform:translateY(-2px)}
.rt-btn[disabled]{opacity:.35;transform:none;cursor:default}
.rt-btn.chiaro{background:#FFFFFF;color:#1B2A4E;border:1.5px solid rgba(27,42,78,0.16)}
.rt-btn.giallo{background:#FFC857;color:#1B2A4E;box-shadow:0 10px 24px rgba(255,200,87,0.45)}
.rt-punti-nav{display:flex;flex-wrap:wrap;gap:7px}
.rt-punti-nav button{width:38px;height:38px;border-radius:11px;border:1.5px solid rgba(27,42,78,0.14);background:#FFFFFF;font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;color:#5E6880}
.rt-punti-nav button.fatta{background:rgba(0,194,168,0.14);border-color:rgba(0,194,168,0.5);color:#0A7F70}
.rt-punti-nav button.ora{border-color:#1B2A4E;background:#1B2A4E;color:#FAF9F6}
.rt-consegna-ora{align-self:flex-start;border:0;background:none;padding:4px 0;color:#0A7F70;font-size:15px;font-weight:650;text-decoration:underline}
.rt-attesa{padding:40px;border-radius:22px;background:#FFFFFF;border:1px solid rgba(27,42,78,0.08);text-align:center;font-size:18px;font-weight:600}
.rt-modale{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(11,25,45,0.62)}
.rt-scheda{width:min(480px,100%);display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:22px;background:#FAF9F6;box-shadow:0 30px 80px rgba(11,25,45,0.4)}
.rt-scheda h2{margin:0;font-family:'Space Grotesk',sans-serif;font-size:24px;line-height:1.15}
.rt-scheda p{margin:0;font-size:16px;line-height:1.55;color:#55617D}
.rt-prova-fine{padding:18px 22px;border-radius:18px;background:rgba(255,200,87,0.2);color:#6B4A05}
.rt-prova-fine h2{margin:0 0 4px;font-family:'Space Grotesk',sans-serif;font-size:20px}
.rt-prova-fine p{margin:0;font-weight:650}
.testo-domanda p{margin:0}
