/* Lead magnet (checklist processi AI): barra laterale degli articoli + popup non invasivo */
.mg-card{position:relative;border:1px solid var(--border);border-radius:18px;background:var(--bg-card);overflow:hidden}
.mg-card.hl{border-color:rgba(124,58,237,.35);background:linear-gradient(160deg,rgba(124,58,237,.10),var(--bg-card) 60%)}
.mg-head{display:flex;gap:14px;align-items:flex-start;padding:18px 18px 0}
.mg-cover{flex:none;width:84px;aspect-ratio:420/594;border-radius:8px;overflow:hidden;box-shadow:0 14px 28px -10px rgba(40,10,120,.55);transform:rotate(-3deg);border:1px solid rgba(255,255,255,.08)}
.mg-cover img{display:block;width:100%;height:100%;object-fit:cover}
.mg-tag{display:inline-block;font:700 9.5px 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#a78bfa;margin-bottom:4px}
.mg-title{font:800 15.5px/1.2 'Sora',sans-serif;letter-spacing:-.02em;color:var(--text);margin-bottom:5px}
.mg-sub{font-size:12px;line-height:1.45;color:var(--muted)}
.mg-form{padding:14px 18px 18px;display:flex;flex-direction:column;gap:9px}
.mg-form input[type=text],.mg-form input[type=email]{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:rgba(127,127,160,.08);color:var(--text);font:500 13.5px 'DM Sans',sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}
.mg-form input:focus{border-color:rgba(124,58,237,.7);box-shadow:0 0 0 3px rgba(124,58,237,.18)}
.mg-chk{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.4;color:var(--muted);cursor:pointer}
.mg-chk input{flex:none;margin-top:2px;accent-color:#7C3AED;width:14px;height:14px}
.mg-chk a{color:#a78bfa;text-decoration:underline;text-underline-offset:2px}
.mg-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border:none;border-radius:11px;background:var(--violet);color:#fff;font:700 13.5px 'DM Sans',sans-serif;cursor:pointer;transition:background .2s,transform .15s}
.mg-btn:hover{background:#6d28d9;transform:translateY(-1px)}
.mg-btn[disabled]{opacity:.6;cursor:wait;transform:none}
.mg-err{display:none;font-size:11.5px;color:#ef4444;line-height:1.35}
.mg-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.mg-ok{display:none;padding:18px;text-align:left}
.mg-ok h4{font:800 15px 'Sora',sans-serif;color:var(--text);margin-bottom:6px}
.mg-ok p{font-size:12.5px;color:var(--muted);line-height:1.5;margin-bottom:12px}
.mg-ok .mg-btn{text-decoration:none}
.mg-ok .mg-more{display:block;margin-top:10px;text-align:center;font-size:12px;color:#a78bfa;text-decoration:underline;text-underline-offset:2px}
.mg-card.done .mg-form,.mg-card.done .mg-head{display:none}.mg-card.done .mg-ok{display:block}
/* sidebar */
.art-layout{max-width:1180px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:minmax(0,760px) 330px;gap:52px;justify-content:center;align-items:stretch}
.art-layout .article{margin:0;max-width:none;padding-left:0;padding-right:0}
.art-side{padding-top:120px}
.side-sticky{position:sticky;top:86px;display:flex;flex-direction:column;gap:14px}
@media (max-height:920px){.side-toc{display:none}}
.side-box{padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--bg-card)}
.side-box h3{font:800 14.5px 'Sora',sans-serif;letter-spacing:-.02em;color:var(--text);margin-bottom:6px}
.side-box p{font-size:12.5px;line-height:1.5;color:var(--muted);margin-bottom:12px}
.side-box .mg-btn{font-size:13px}
.side-links{list-style:none;display:grid;gap:6px;margin-top:10px}
.side-links a{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--text);padding:9px 12px;border:1px solid var(--border);border-radius:10px;text-decoration:none;transition:border-color .2s,transform .15s}
.side-links a:hover{border-color:rgba(124,58,237,.5);transform:translateX(2px)}
.side-links a span{color:#a78bfa}
.toc{list-style:none;display:grid;gap:2px;margin:0}
.toc a{display:block;font-size:12.5px;line-height:1.35;color:var(--muted);padding:6px 10px;border-left:2px solid var(--border);text-decoration:none;transition:color .2s,border-color .2s}
.toc a:hover{color:var(--text)}
.toc a.on{color:#a78bfa;border-left-color:#7C3AED;font-weight:600}
@media (max-width:1100px){
  .art-layout{grid-template-columns:minmax(0,760px);gap:0}
  .art-side{padding-top:36px}.side-sticky{position:static;max-height:none;overflow:visible}
  .side-toc{display:none}
}
/* popup non invasivo: card in basso a destra, bottom sheet su mobile (nessun overlay a tutto schermo) */
.mg-pop{position:fixed;z-index:9990;right:22px;bottom:22px;width:372px;max-width:calc(100vw - 24px);opacity:0;transform:translateY(24px) scale(.98);pointer-events:none;transition:opacity .35s ease,transform .35s ease;box-shadow:0 30px 70px -18px rgba(10,5,40,.65)}
.mg-pop.open{opacity:1;transform:none;pointer-events:auto}
.mg-pop .mg-card{border-radius:20px;background-color:#0f0f17;background-image:linear-gradient(160deg,rgba(124,58,237,.14),rgba(15,15,23,0) 60%)}
html[data-theme="light"] .mg-pop .mg-card.hl{background-color:#ffffff;background-image:linear-gradient(160deg,rgba(124,58,237,.08),rgba(255,255,255,0) 60%)}
.mg-x{position:absolute;top:8px;right:8px;z-index:2;width:30px;height:30px;border:none;border-radius:50%;background:rgba(127,127,160,.16);color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:background .2s}
.mg-x:hover{background:rgba(127,127,160,.3);color:var(--text)}
.mg-no{display:block;width:100%;text-align:center;font-size:11.5px;color:var(--muted);text-decoration:underline;text-underline-offset:2px;background:none;border:none;cursor:pointer;padding:2px 0 0;font-family:inherit}
@media (max-width:640px){
  .mg-pop{right:0;left:0;bottom:0;width:100%;max-width:none;transform:translateY(100%);box-shadow:0 -20px 50px -20px rgba(10,5,40,.6)}
  .mg-pop.open{transform:none}
  .mg-pop .mg-card{border-radius:20px 20px 0 0;max-height:78vh;overflow:auto}
  .mg-cover{width:68px}
}
@media (prefers-reduced-motion:reduce){.mg-pop{transition:none}}
html[data-theme="light"] .mg-card.hl{background:linear-gradient(160deg,rgba(124,58,237,.08),#fff 60%)}
html[data-theme="light"] .mg-form input[type=text],html[data-theme="light"] .mg-form input[type=email]{background:#f7f6fb}
