/* ==========================================================================
   HELPTEC — v7.0 · design system "console operativa" + home WOW
   Caricato DOPO style.css. Tema chiaro di default (palette ufficiale),
   tema scuro opt-in dal toggle. Font: Archivo (titoli), IBM Plex Sans
   (testo), IBM Plex Mono (dati, etichette, KPI).
   ========================================================================== */

/* ---- palette ufficiale sul tema chiaro (default) ---- */
:root[data-theme="light"]{
  --blue:#1B5BF7; --blue-dark:#0E3FBE;
  --cyan:#1B5BF7; --cyan-dim:#1B5BF7;          /* niente ciano nel design system */
  --amber:#FFAD0D; --green:#22C55E;
  --ink:#0C1622; --ink-2:#101E2E;
  --paper:#F5F7F9; --white:#FFFFFF;
  --text-0:#0C1622; --text-1:#33475E; --text-2:#5B6B7D;
  --slate:#5B6B7D; --line:#DDE4EB; --line-dark:#DDE4EB;
}

/* ---- tipografia ---- */
body{font-family:'IBM Plex Sans',system-ui,sans-serif}
h1,h2,h3,.btn,.logo{font-family:'Archivo',system-ui,sans-serif}
h1,h2{letter-spacing:-.025em}
.btn{font-weight:700}
:root[data-theme="light"] body{background:var(--paper)}
:root[data-theme="light"] body::before{display:none}
:root[data-theme="light"] .btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 24px rgba(27,91,247,.32)}
:root[data-theme="light"] .btn-primary:hover{box-shadow:0 12px 30px rgba(27,91,247,.45)}
:root[data-theme="light"] .deadline{background:var(--amber);border-color:var(--amber);color:var(--ink)}

/* ---- status bar + header: blocco scuro su tutte le pagine ---- */
:root[data-theme="light"] .statusbar{background:var(--ink);border-bottom:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.72)}
:root[data-theme="light"] .statusbar .dot{background:#22C55E;box-shadow:0 0 10px #22C55E}
:root[data-theme="light"] .statusbar nav a:hover{color:#fff}
:root[data-theme="light"] header.main{background:rgba(12,22,34,.94);border-bottom:1px solid rgba(255,255,255,.06)}
:root[data-theme="light"] header.main nav.primary a{color:rgba(255,255,255,.82)}
:root[data-theme="light"] header.main nav.primary a:hover,
:root[data-theme="light"] header.main nav.primary a.active{color:#fff;box-shadow:inset 0 -2px 0 var(--blue)}
:root[data-theme="light"] header.main .theme-toggle:hover{color:#fff;border-color:#fff}
header.main .wrap{height:80px}
header.main .logo img{height:44px;width:auto;display:block}
.btn-area{display:inline-flex;align-items:center;gap:.55em;background:var(--blue);color:#fff !important;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.92rem;padding:.72em 1.2em;border-radius:10px;box-shadow:0 8px 24px rgba(27,91,247,.45);transition:transform .15s ease,box-shadow .15s ease;min-height:44px}
.btn-area:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(27,91,247,.6)}
.btn-area svg{width:16px;height:16px;flex-shrink:0}
@media(max-width:960px){ nav.primary{top:80px} }
@media(max-width:420px){ .btn-area .lbl-long{display:none} }

/* ==========================================================================
   HOME — hero WOW
   ========================================================================== */
.hero.hero-wow{position:relative;background:var(--ink);color:#fff;border-bottom:none;overflow:hidden;isolation:isolate}
.hero-wow::before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:26px 26px}
.hero-wow::after{content:"";position:absolute;z-index:-1;width:900px;height:900px;right:-240px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(27,91,247,.42) 0%,rgba(27,91,247,0) 70%);pointer-events:none}
.hero-wow .glow-2{position:absolute;z-index:-1;width:700px;height:700px;left:-320px;bottom:-360px;border-radius:50%;background:radial-gradient(circle,rgba(27,91,247,.22) 0%,rgba(27,91,247,0) 70%);pointer-events:none}
.hero-wow .netbg{opacity:.35}
.hero-wow .wrap{grid-template-columns:1fr 1fr;gap:64px;padding-top:72px;padding-bottom:96px;max-width:1280px}
.hero-pill{display:inline-flex;align-items:center;gap:.7em;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);border-radius:999px;padding:.45em 1em .45em .5em;font-family:'IBM Plex Mono',monospace;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.hero-pill b{background:var(--blue);color:#fff;border-radius:999px;padding:.2em .7em;font-weight:600}
.hero-wow h1{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:clamp(2.6rem,5vw,4.4rem);line-height:.98;letter-spacing:-.035em;color:#fff;margin:.45em 0 .4em}
.hero-wow h1 em{font-style:normal;color:var(--blue);background:none;-webkit-background-clip:initial;background-clip:initial}
.hero-wow p.lead{color:rgba(255,255,255,.74);font-size:1.18rem;max-width:34em}
.hero-wow .btn-primary,:root[data-theme="light"] .hero-wow .btn-primary{background:var(--blue);color:#fff;font-size:1.05rem;padding:1em 1.7em;border-radius:12px;box-shadow:0 12px 32px rgba(27,91,247,.55)}
.hero-wow .btn-primary svg{width:18px;height:18px}
.hero-wow .btn-ghost,:root[data-theme="light"] .hero-wow .btn-ghost{background:rgba(255,255,255,.04);color:#fff;border:1px solid rgba(255,255,255,.22);font-size:1.05rem;padding:1em 1.7em;border-radius:12px}
.hero-wow .btn-ghost:hover,:root[data-theme="light"] .hero-wow .btn-ghost:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.4)}
.hero-wow .trust{color:rgba(255,255,255,.6);font-family:'IBM Plex Mono',monospace;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.hero-wow .trust b{color:rgba(255,255,255,.85);font-weight:500}

/* schema di rete + console sovrapposta */
.hero-visual{position:relative;padding-left:56px}
.hero-visual .net{position:relative;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(16,30,46,.55);overflow:hidden}
.hero-visual .net svg{display:block;width:100%;height:auto}
.hero-visual .net .cap{position:absolute;left:22px;top:18px;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.hero-wow .console{position:absolute;left:0;top:12%;width:272px;background:rgba(16,30,46,.94);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 0 1px rgba(27,91,247,.25);border-radius:14px;font-family:'IBM Plex Mono',monospace;backdrop-filter:blur(8px)}
:root[data-theme="light"] .hero-wow .console{background:rgba(16,30,46,.94)}
.hero-wow .console .bar{color:rgba(255,255,255,.62)}
.hero-wow .console .bar .live{display:inline-flex;align-items:center;gap:.5em;color:#fff}
.hero-wow .console .bar .live::before{content:"";width:7px;height:7px;border-radius:50%;background:#22C55E;box-shadow:0 0 10px #22C55E}
.hero-wow .console .body{padding:14px 16px 16px;font-size:.76rem}
.hero-wow .crow{padding:.38em 0;border-bottom:none}
.hero-wow .crow .k{color:rgba(255,255,255,.62)}
.hero-wow .crow .v{font-size:.8rem;color:#fff}
.hero-wow .crow .v.green{color:#22C55E}
.hero-wow .crow .v.amber{color:#FFAD0D}

/* pulsazione sui nodi dello schema */
@keyframes hwPulse{0%,100%{opacity:.18;transform:scale(1)}50%{opacity:.42;transform:scale(1.35)}}
.hero-visual .pulse{transform-box:fill-box;transform-origin:center;animation:hwPulse 2.4s ease-in-out infinite}
.hero-visual .pulse:nth-of-type(2n){animation-delay:.8s}
@keyframes hwDash{to{stroke-dashoffset:-20}}
.hero-visual .vpn{animation:hwDash 1.2s linear infinite}
@media (prefers-reduced-motion: reduce){.hero-visual .pulse,.hero-visual .vpn{animation:none}}

@media(max-width:1180px){.hero-wow .wrap{gap:40px}.hero-visual{padding-left:40px}}
@media(max-width:960px){
  .hero-wow .wrap{grid-template-columns:1fr;padding-top:44px;padding-bottom:40px}
  .hero-visual{padding-left:0}
  .hero-wow .console{position:relative;left:auto;top:auto;width:100%;max-width:none;margin-top:16px}
}
@media(max-width:560px){
  .hero-wow .ctas{flex-direction:column}
  .hero-wow .ctas .btn{justify-content:center;width:100%}
  .hero-wow .trust{white-space:normal}
}

/* ---- KPI: continua il blocco scuro dell'hero ---- */
.home .kpi,:root[data-theme="light"] .home .kpi{background:var(--ink);border-top:1px solid rgba(255,255,255,.08);border-bottom:none;padding:48px 0 40px}
.kpi .kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.kpi .wrap{display:block;max-width:1280px}
.kpi .cell{border-left:2px solid var(--blue)}
.kpi .num{font-family:'IBM Plex Mono',monospace;font-size:clamp(1.8rem,3.2vw,2.75rem);letter-spacing:-.02em;color:#fff}
.kpi .lbl{font-family:'IBM Plex Mono',monospace;color:rgba(255,255,255,.62);font-size:.7rem;letter-spacing:.1em}
.kpi .src{margin-top:28px;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
@media(max-width:960px){.kpi .kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.kpi .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}}

/* ---- piano in evidenza: card scura sollevata ---- */
:root[data-theme="light"] .home .plan.featured{background:var(--ink);color:#fff;border:2px solid var(--blue);box-shadow:0 30px 60px rgba(27,91,247,.30);transform:translateY(-12px)}
:root[data-theme="light"] .home .plan.featured:hover{transform:translateY(-16px)}
:root[data-theme="light"] .home .plan.featured p,
:root[data-theme="light"] .home .plan.featured .tag{color:rgba(255,255,255,.72)}
:root[data-theme="light"] .home .plan.featured li::before{color:#fff}
@media(max-width:900px){:root[data-theme="light"] .home .plan.featured{transform:none}}

/* ---- CTA finale: bagliore blu ---- */
:root[data-theme="light"] .final{background:radial-gradient(circle at 85% 20%,rgba(27,91,247,.45) 0%,rgba(27,91,247,0) 55%),var(--ink)}
:root[data-theme="light"] .final .btn{background:var(--blue);color:#fff;box-shadow:0 10px 30px rgba(27,91,247,.5)}
:root[data-theme="light"] .final .side{color:rgba(255,255,255,.8)}

/* ---- sezioni alternate sul tema chiaro: bianco pulito, niente velature scure ---- */
:root[data-theme="light"] .sec-alt,
:root[data-theme="light"] .story{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
:root[data-theme="light"] .sec-news{background:var(--paper);border-top:none}
:root[data-theme="light"] .btn-ghost{border:1px solid var(--line)}
:root[data-theme="light"] .btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
:root[data-theme="light"] header.main .menu-toggle{color:#fff;border-color:rgba(255,255,255,.25);min-height:44px}
@media(max-width:560px){
  .statusbar nav{gap:1.1em;overflow-x:auto;white-space:nowrap;scrollbar-width:none;max-width:100%}
  .statusbar nav::-webkit-scrollbar{display:none}
  .statusbar .wrap{justify-content:flex-start}
  .hero-visual .net .cap{display:none}
}

/* ==========================================================================
   APRI TICKET — procedura guidata (componenti tk-*). Prima della v7.1 queste
   classi non avevano alcuna regola: icone SVG a tutta larghezza e passi in
   lista numerata grezza.
   ========================================================================== */
.tk-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 22px;padding:0;counter-reset:none}
.tk-steps li{display:flex;align-items:center;gap:.6em;padding:.7em .9em;border:1px solid var(--line);border-radius:10px;background:var(--white);font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}
.tk-steps li span{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--line);font-weight:600;color:var(--slate)}
.tk-steps li.on{border-color:var(--blue);color:var(--text-0);box-shadow:0 0 0 1px var(--blue)}
.tk-steps li.on span{background:var(--blue);border-color:var(--blue);color:#fff}
.tk-steps li.fatto span{background:var(--green);border-color:var(--green);color:#fff}
@media(max-width:640px){.tk-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tk-panel{margin-bottom:18px}
.tk-hint{font-size:.92rem;color:var(--text-1);margin:.4em 0 1.1em}
.tk-ambiti{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:640px){.tk-ambiti{grid-template-columns:1fr}}
.tk-ambito{display:flex;align-items:flex-start;gap:14px;text-align:left;width:100%;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--text-0);font:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;min-height:44px}
.tk-ambito:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 10px 24px rgba(12,22,34,.08)}
.tk-ambito.on{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue)}
.tk-ic{flex-shrink:0;width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:rgba(27,91,247,.08);color:var(--blue)}
.tk-ic svg{width:22px;height:22px;display:block}
.tk-ambito.on .tk-ic{background:var(--blue);color:#fff}
.tk-tx{display:flex;flex-direction:column;gap:.25em}
.tk-tx b{font-family:'Archivo',system-ui,sans-serif;font-size:1rem}
.tk-tx small{font-size:.84rem;color:var(--slate);line-height:1.45}
.tk-campo{margin-bottom:16px}
.tk-obb{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-left:.5em}
.tk-aiuto{font-size:.8rem;color:var(--slate);margin-top:.4em}
.tk-multi{display:flex;flex-wrap:wrap;gap:8px}
.tk-chk{display:inline-flex;align-items:center;gap:.5em;padding:.5em .8em;border:1px solid var(--line);border-radius:8px;background:var(--white);font-size:.88rem;cursor:pointer;min-height:40px}
.tk-chk:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.tk-prio{display:grid;gap:10px}
.tk-radio{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--white);cursor:pointer}
.tk-radio input{margin-top:.25em;accent-color:var(--blue)}
.tk-radio span{display:flex;flex-direction:column;gap:.25em}
.tk-radio small{font-size:.84rem;color:var(--slate);line-height:1.45}
.tk-radio:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.tk-avviso{margin-top:14px;padding:14px 16px;border-radius:10px;background:#FFF7E6;border:1px solid var(--amber);color:var(--text-0);font-size:.88rem;line-height:1.55}
.tk-dest{display:grid;gap:8px;margin-bottom:16px}
.tk-dest-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:.9rem}
.tk-dest-r span{font-family:'IBM Plex Mono',monospace;font-size:.7rem;font-weight:600;min-width:2.2em;color:var(--blue)}
.tk-dest-r small{color:var(--slate)}
.tk-corpo{font-family:'IBM Plex Mono',monospace;font-size:.82rem;line-height:1.6;min-height:320px}
.tk-azioni,.tk-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.tk-nav{justify-content:space-between}
.tk-nav #tk-avanti{margin-left:auto}
.tk-nav .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}

/* ---- attributo hidden sempre rispettato (anche su .btn che forza display) ---- */
[hidden]{display:none !important}

/* ---- testi legali (/privacy): tipografia di lettura, prima assente ---- */
.legal{max-width:820px;font-size:.98rem;line-height:1.7;color:var(--text-1)}
.legal h2{font-family:'Archivo',system-ui,sans-serif;font-size:1.35rem;color:var(--text-0);margin:2.2em 0 .6em;padding-top:1.2em;border-top:1px solid var(--line)}
.legal h2:first-child{margin-top:0;padding-top:0;border-top:none}
.legal h3{font-family:'Archivo',system-ui,sans-serif;font-size:1.05rem;color:var(--text-0);margin:1.4em 0 .4em}
.legal p{margin-bottom:.9em}
.legal ul,.legal ol{margin:.4em 0 1em 1.4em}
.legal li{margin-bottom:.35em}
.legal a{color:var(--blue);text-decoration:underline}
