/* Help ShoppiX / DigiShop - foglio di stile del sito (nessuna dipendenza esterna) */
:root{
  --bg:#f6f7fb; --surface:#fff; --surface2:#f0f2f8; --text:#1d2433; --muted:#5b6579; --line:#dfe3ee;
  --link:#1d4ed8; --shadow:0 1px 2px rgba(20,30,60,.06),0 6px 20px rgba(20,30,60,.06);
  --radius:14px; --side-w:288px; --toc-w:220px; --measure:760px;
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Consolas,Menlo,monospace;
  --acc:#2563eb; --pas:#dbeafe;
}
:root[data-theme="dark"]{
  --bg:#0f1420; --surface:#171d2c; --surface2:#1e2638; --text:#e8ecf5; --muted:#a0aabf; --line:#2a3349;
  --link:#8ab4ff; --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0f1420; --surface:#171d2c; --surface2:#1e2638; --text:#e8ecf5; --muted:#a0aabf; --line:#2a3349;
    --link:#8ab4ff; --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
  }
}
/* un colore per argomento: --acc pieno, --pas pastello */
.c-sky{--acc:#0284c7;--pas:#e0f2fe}.c-blue{--acc:#2563eb;--pas:#dbeafe}.c-green{--acc:#16a34a;--pas:#dcfce7}
.c-pink{--acc:#db2777;--pas:#fce7f3}.c-purple{--acc:#7c3aed;--pas:#ede9fe}.c-amber{--acc:#d97706;--pas:#fef3c7}
.c-teal{--acc:#0d9488;--pas:#ccfbf1}.c-orange{--acc:#ea580c;--pas:#ffedd5}.c-indigo{--acc:#4f46e5;--pas:#e0e7ff}.c-red{--acc:#dc2626;--pas:#fee2e2}.c-fuchsia{--acc:#c026d3;--pas:#fae8ff}.c-cyan{--acc:#0891b2;--pas:#cffafe}
:root[data-theme="dark"] [class*="c-"]{--pas:color-mix(in srgb,var(--acc) 22%,var(--surface))}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) [class*="c-"]{--pas:color-mix(in srgb,var(--acc) 22%,var(--surface))}}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--link);text-underline-offset:2px}
img{max-width:100%;height:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 12px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.ico{width:1.25em;height:1.25em;fill:currentColor;flex:none;vertical-align:-.25em}
.ibox{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--pas);color:var(--acc);flex:none}
.ibox .ico{width:20px;height:20px}

/* barra superiore */
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;height:60px;padding:0 20px;
  background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:600;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--acc);color:#fff}
.brand-mark .ico{width:20px;height:20px}
.brand b{font-weight:800}
.iconbtn{display:inline-grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
.iconbtn:hover{background:var(--pas);color:var(--acc)}
.navbtn{display:none}
.searchbtn{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:260px;height:40px;padding:0 12px;border:1px solid var(--line);
  border-radius:999px;background:var(--surface2);color:var(--muted);font:inherit;font-size:14px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.searchbtn:hover{border-color:var(--acc);box-shadow:0 0 0 3px var(--pas)}
.searchbtn span{flex:1;text-align:left}
kbd{font:12px var(--mono);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:0 6px;background:var(--surface)}
.edsel{display:flex;align-items:center;gap:6px;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface2);color:var(--muted)}
.edsel select{border:0;background:transparent;color:var(--text);font:inherit;font-size:14px;cursor:pointer;outline:none;max-width:150px}

/* struttura */
.shell{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);max-width:1480px;margin:0 auto}
.side{position:sticky;top:104px;align-self:start;height:calc(100vh - 104px);overflow:auto;padding:18px 12px 40px 20px}
.main{display:grid;grid-template-columns:minmax(0,var(--measure)) var(--toc-w);gap:40px;justify-content:center;padding:32px 28px 60px}
.doc{min-width:0}

/* indice laterale: gruppi con barra e cerchio pastello */
.tree .grp{margin:0 0 6px;border-radius:12px}
.tree summary{display:flex;align-items:center;gap:10px;padding:8px 10px;cursor:pointer;list-style:none;font-weight:600;border-radius:12px;
  border-left:4px solid var(--acc);background:var(--surface);transition:box-shadow .15s,transform .15s}
.tree summary::-webkit-details-marker{display:none}
.tree summary:hover{box-shadow:var(--shadow)}
.tree summary:hover .ibox{background:var(--acc);color:#fff}
.tree summary .ibox{transition:background .15s,color .15s}
.tree ul{list-style:none;margin:4px 0 8px 22px;padding:0 0 0 14px;border-left:2px solid var(--pas)}
.tree li a{display:block;padding:5px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-size:15px}
.tree li a:hover{background:var(--pas)}
.tree li a.cur{background:var(--pas);color:var(--acc);font-weight:700}
.tree li.dim,.cards li.dim{display:none}.cards .card[hidden]{display:none}

/* testata della pagina */
.doc-head{padding:0 0 18px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--acc);font-weight:700;font-size:14px;letter-spacing:.02em;text-transform:uppercase}
.doc-head h1{margin:0;font-size:clamp(1.8rem,3.4vw,2.4rem);line-height:1.2;letter-spacing:-.01em}
.doc-head::after{content:"";display:block;height:4px;width:72px;border-radius:4px;background:var(--acc);margin-top:16px}

/* testo */
.prose h2{margin:2.2em 0 .6em;font-size:1.5rem;line-height:1.3;padding-left:14px;border-left:5px solid var(--acc)}
.prose h3{margin:1.8em 0 .5em;font-size:1.2rem;color:var(--acc)}
.prose p,.prose li{max-width:70ch}
.prose .lead{font-size:1.15rem;color:var(--muted)}
.prose h2 .anchor,.prose h3 .anchor{margin-left:8px;opacity:0;color:var(--muted);text-decoration:none;font-weight:400;transition:opacity .15s}
.prose h2:hover .anchor,.prose h3:hover .anchor,.anchor:focus{opacity:1}
.prose ul,.prose ol{padding-left:1.4em}
.prose li{margin:.25em 0}
.prose code{font:.9em var(--mono);background:var(--surface2);padding:.1em .4em;border-radius:6px}
.prose pre{margin:1.2em 0;padding:12px 16px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius);overflow:auto;font:.9rem/1.5 var(--mono)}
.prose b,.prose strong{font-weight:650}
.prose img.ico{width:auto;height:auto;max-height:26px;vertical-align:middle;margin:0 4px}
.prose figure{margin:1.4em 0;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center}
.prose figure img{border-radius:8px;cursor:zoom-in}
.prose figcaption{margin-top:8px;font-size:.88rem;color:var(--muted)}
.table-wrap{overflow:auto;margin:1.2em 0;border:1px solid var(--line);border-radius:var(--radius)}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem}
.prose th,.prose td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prose th{background:var(--pas);color:var(--acc)}
.prose tr:last-child td{border-bottom:0}

/* passi numerati */
.prose ol.passi{list-style:none;counter-reset:p;padding:0;margin:1.2em 0}
.prose ol.passi>li{counter-increment:p;position:relative;margin:0 0 14px;padding:12px 16px 12px 58px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);max-width:none;transition:box-shadow .15s,border-color .15s}
.prose ol.passi>li:hover{border-color:var(--acc);box-shadow:var(--shadow)}
.prose ol.passi>li::before{content:counter(p);position:absolute;left:14px;top:12px;width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;background:var(--pas);color:var(--acc);font-weight:800}

/* riquadri nota / suggerimento / attenzione */
.callout{margin:1.4em 0;padding:12px 16px 12px 18px;border-radius:var(--radius);border-left:5px solid var(--acc);background:var(--pas)}
.callout p{margin:.3em 0}
.callout-head{display:flex;align-items:center;gap:8px;color:var(--acc);font-weight:800}
.callout.nota{--acc:#0284c7;--pas:#e0f2fe}.callout.suggerimento{--acc:#16a34a;--pas:#dcfce7}
.callout.attenzione,.callout.importante{--acc:#d97706;--pas:#fef3c7}
:root[data-theme="dark"] .callout{background:color-mix(in srgb,var(--acc) 18%,var(--surface))}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .callout{background:color-mix(in srgb,var(--acc) 18%,var(--surface))}}

/* blocchi per edizione */
.ed,.feat{margin:1.4em 0;padding:4px 16px 8px;border-radius:var(--radius);border:1px dashed var(--line);background:var(--surface)}
.ed-label{margin:10px 0 4px;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.ed[hidden],.feat[hidden]{display:none}

/* dettagli ad espansione */
.prose details{margin:10px 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.prose summary{cursor:pointer;padding:12px 16px;font-weight:650;list-style:none;display:flex;align-items:center;gap:10px}
.prose summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:rotate(-45deg);transition:transform .2s}
.prose details[open]>summary::before{transform:rotate(45deg)}
.prose summary::-webkit-details-marker{display:none}
.prose summary:hover{background:var(--pas)}
.prose details>*:not(summary){padding:0 16px}
.prose details>*:last-child{padding-bottom:12px}

/* precedente / successiva */
.pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:48px 0 8px}
.pn a{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);text-decoration:none;font-weight:650;transition:border-color .15s,box-shadow .15s}
.pn a:hover{border-color:var(--acc);box-shadow:var(--shadow);color:var(--acc)}
.pn small{display:block;font-weight:500;color:var(--muted)}
.pn .next{justify-content:flex-end;text-align:right}
.doc-foot{margin-top:30px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}

/* sommario di pagina */
.toc{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 110px);overflow:auto;font-size:14px}
.toc-t{margin:0 0 8px;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.toc ul{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.toc a{display:block;padding:4px 12px;margin-left:-2px;border-left:2px solid transparent;color:var(--muted);text-decoration:none}
.toc .l3 a{padding-left:24px;font-size:13px}
.toc a:hover{color:var(--acc)}
.toc a.on{color:var(--acc);border-left-color:var(--acc);font-weight:650}

/* home */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:26px}
.card{position:relative;padding:20px 20px 16px;background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--acc);border-radius:var(--radius);transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.card:hover .ibox{background:var(--acc);color:#fff}
.card .ibox{width:44px;height:44px;transition:background .2s,color .2s}.card .ibox .ico{width:26px;height:26px}
.card h2{margin:12px 0 8px;font-size:1.15rem;border:0;padding:0}
.card ul{list-style:none;margin:0;padding:0}
.card li{margin:0;max-width:none}
.card li a{display:block;padding:5px 0;color:var(--text);text-decoration:none}
.card li a:hover{color:var(--acc)}

/* ricerca e lightbox */
.searchdlg,.lightbox{border:0;padding:0;border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.searchdlg{width:min(680px,94vw);margin-top:9vh;max-height:76vh}
.searchdlg::backdrop,.lightbox::backdrop{background:rgba(15,20,35,.55);backdrop-filter:blur(3px)}
.sform{margin:0}
.sbox{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--muted)}
.sbox input{flex:1;border:0;background:transparent;font:inherit;font-size:1.05rem;color:var(--text);outline:none;height:40px}
.results{list-style:none;margin:0;padding:8px;max-height:56vh;overflow:auto}
.results li a{display:block;padding:10px 12px;border-radius:10px;color:var(--text);text-decoration:none;border-left:4px solid var(--acc)}
.results li a:hover,.results li a.sel{background:var(--pas)}
.results .rt,.results .rs{display:block}
.results .rt{font-weight:650}.results .rs{font-size:.8rem;color:var(--acc);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.results .rx{font-size:.9rem;color:var(--muted);display:block}
.results mark{background:var(--pas);color:inherit;border-radius:3px}
.results .none{padding:18px;color:var(--muted)}
.lightbox{max-width:96vw;max-height:94vh;padding:10px;background:var(--surface)}
.lightbox img{max-width:92vw;max-height:84vh;display:block;margin:0 auto}
.lightbox form{position:absolute;right:8px;top:8px}

@media (max-width:1180px){.main{grid-template-columns:minmax(0,var(--measure));}.toc{display:none}}
@media (max-width:480px){.top{gap:6px;padding:0 10px}.edsel{padding:0 6px}.edsel select{max-width:92px}.edsel .ico{display:none}}
@media (max-width:900px){
  .shell{grid-template-columns:1fr}
  .navbtn{display:inline-grid}
  .side{position:fixed;z-index:40;left:0;top:104px;width:min(86vw,320px);height:calc(100vh - 104px);background:var(--bg);box-shadow:var(--shadow);transform:translateX(-102%);transition:transform .2s}
  .side.open{transform:none}
  .searchbtn{min-width:0;margin-left:auto}.searchbtn span,.searchbtn kbd{display:none}.searchbtn{width:40px;flex:none;padding:0;justify-content:center;border-radius:50%}.edsel select{max-width:118px}
  .brand-t{display:none}
  .main{padding:22px 16px 48px}
  .pn{grid-template-columns:1fr}
}
@media print{.top,.side,.toc,.pn,.searchbtn{display:none}.shell{display:block}.main{display:block;padding:0}.prose figure{box-shadow:none}}


.edbar{position:sticky;top:60px;z-index:29;display:flex;align-items:center;gap:12px;height:44px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--line)}
.edlbl{flex:none;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.edbtns{display:flex;flex:1 1 auto;min-width:0;gap:6px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 0}
.edbtns::-webkit-scrollbar{display:none}
.edbtns button{flex:none;height:30px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface2);color:var(--text);font:inherit;font-size:13.5px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.edbtns button:hover{border-color:var(--acc);color:var(--acc)}
.edbtns button.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.edbtns .edall-btn{margin-left:6px;border-style:dashed}
@media (max-width:480px){.edbar{padding:0 10px;gap:8px}.edlbl{font-size:11px}}
