/* CSS per software-detail.php (template condiviso da tutte le pagine software-<slug>.php) */
:root{
  --paper:#FFFFFF; --ink:#141210; --graphite:#6E6862;
  --red:#C8341E; --red-soft:#F4E2DC;
  --grid-fine:#F6E7E1; --edge:#D8D2CB; --tint:#FAF8F6;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper); color:var(--ink);
  font-family:'Public Sans',system-ui,sans-serif; font-size:15.5px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
  background-image:
    repeating-linear-gradient(to right, var(--grid-fine) 0 1px, transparent 1px 19px),
    repeating-linear-gradient(to bottom, var(--grid-fine) 0 1px, transparent 1px 19px);
}
h1,h2,h3{font-family:'Archivo',sans-serif;font-variation-settings:'wdth' 112;margin:0;letter-spacing:-.015em;line-height:1.08;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;}
.wrap{max-width:900px;margin:0 auto;padding:0 24px;}

.masthead{border-bottom:1px solid var(--edge);background:rgba(255,255,255,.9);backdrop-filter:blur(6px);position:sticky;top:0;z-index:40;}
.mast-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 24px;max-width:1180px;margin:0 auto;flex-wrap:wrap;}
.wordmark{display:flex;align-items:center;gap:11px;text-decoration:none;}
.wordmark img{height:40px;width:auto;display:block;flex:none;}
.wm-txt{display:flex;flex-direction:column;line-height:1.18;}
.wordmark b{font-family:'Archivo',sans-serif;font-variation-settings:'wdth' 118;font-weight:800;font-size:16px;letter-spacing:-.02em;text-transform:uppercase;}
.wm-sub{font-family:'Azeret Mono',monospace;font-size:9px;color:var(--graphite);letter-spacing:.11em;text-transform:uppercase;margin-top:3px;}
.mast-nav{display:flex;gap:4px;flex-wrap:wrap;}
.mast-nav a{font-size:13.5px;text-decoration:none;color:var(--graphite);padding:7px 11px;}
.mast-nav a:hover{color:var(--ink);background:var(--tint);}
.mast-nav a.on{color:var(--ink);background:var(--tint);font-weight:600;}

.sheet{background:var(--paper);border:1.5px solid var(--ink);margin:38px 0 0;box-shadow:0 1px 0 var(--edge),0 14px 34px -22px rgba(20,18,16,.5);}
.sheet-inner{border:.5px solid var(--edge);margin:7px;padding:34px 34px 30px;}
.stamp{font-family:'Azeret Mono',monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-bottom:16px;}
h1{font-size:clamp(27px,4.2vw,42px);font-weight:800;font-variation-settings:'wdth' 108;}
.lede{margin:18px 0 0;color:var(--graphite);font-size:16px;max-width:64ch;}
.acts{display:flex;gap:8px;margin-top:24px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;text-decoration:none;font-size:13.5px;font-weight:600;padding:10px 16px;border:1px solid var(--ink);}
.btn:hover{background:var(--red);border-color:var(--red);}
.btn-ghost{background:transparent;color:var(--ink);}
.btn-ghost:hover{background:var(--tint);}

section{padding:40px 0 4px;}
section h2{font-size:clamp(21px,3vw,28px);margin-bottom:14px;}

.crumb{font-size:12.5px;color:var(--graphite);margin:22px 0 0;}
.crumb a{color:var(--graphite);text-decoration:none;}
.crumb a:hover{color:var(--ink);text-decoration:underline;}

h1{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
/* La favicon vera del produttore (non un logo copiato da noi), scaricata
   una sola volta e incorporata come data: URI nel campo 'icon' di
   software/<slug>.php — vedi la nota grande in cima a software.php su
   icone e marchi, che vale identica qui: spiega anche perche' non e'
   un link esterno (lo vieta la Content-Security-Policy del sito). Se
   il valore manca o e' corrotto, l'onerror toglie l'icona e resta solo
   il nome. */
.sw-icon-lg{width:44px;height:44px;flex:none;border-radius:8px;border:1px solid var(--edge);background:#fff;object-fit:contain;padding:4px;}
.swtag{font-family:'Azeret Mono',monospace;font-size:10.5px;letter-spacing:.04em;color:var(--red);text-transform:uppercase;}
.swbest{background:var(--tint);border-left:2.5px solid var(--red);padding:9px 13px;font-size:13.5px;color:var(--ink);margin:12px 0 12px;}
.swbest b{font-family:'Azeret Mono',monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);display:block;margin-bottom:3px;font-weight:600;}
.swbody p{color:var(--ink);font-size:15.5px;margin:0 0 16px;max-width:70ch;}

.sw-other{border-top:1px solid var(--edge);margin-top:8px;padding-top:18px;}
.sw-other h2{font-size:18px;}
.sw-other-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.sw-other-list a{font-size:12.5px;text-decoration:none;color:var(--graphite);border:1px solid var(--edge);padding:6px 11px;background:#fff;}
.sw-other-list a:hover{border-color:var(--ink);color:var(--ink);}

.note{background:var(--tint);border:1px solid var(--edge);padding:16px 18px;font-size:13.5px;color:var(--graphite);margin-top:18px;}
.note strong{color:var(--ink);}

.cta{border:1.5px solid var(--ink);background:var(--tint);padding:26px 26px 28px;margin:34px 0 10px;}
.cta h2{margin-bottom:8px;}
.cta p{color:var(--graphite);margin-bottom:18px;}

/* Al posto del selettore di lingua vero: questa pagina esiste solo in
   inglese, vedi la nota grande in cima al file. */
.langfixed{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--graphite);padding:6px 10px;border:1px solid var(--edge);background:#fff;cursor:default;}
.lgcode{font-family:'Azeret Mono',monospace;font-size:10.5px;letter-spacing:.08em;color:var(--red);}
@media(max-width:560px){.lgname{display:none;}}

footer{border-top:1px solid var(--edge);margin-top:44px;padding:22px 0 40px;font-size:13px;color:var(--graphite);}
footer .foot{display:flex;flex-wrap:wrap;gap:8px 22px;}

/* Erano style="" nel template: spostati qui per la CSP stretta (niente 'unsafe-inline' su style-src). */
.swtag-detail{display:block;margin-top:10px;}
.swbest-gap{margin-top:20px;}
