/* ============================================================================
   NAGITEK — Stile condiviso pagine legali (privacy.html, cookie-policy.html)
   Riusa i design token della landing (index.html).
   ========================================================================== */
:root{
  --primary:#0b5c6b;--primary-dark:#062f37;--primary-deep:#041a1f;
  --secondary:#a8d5dc;--secondary-soft:#eaf5f7;--ink:#0c1e22;--paper:#f3f6f5;
  --font-display:'Plus Jakarta Sans',system-ui,sans-serif;
  --font-sans:'Inter',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:4.5rem;-webkit-text-size-adjust:100%}
body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);
  min-height:100vh;-webkit-font-smoothing:antialiased;line-height:1.5}
svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}

/* ── header ── */
.site-header{position:sticky;top:0;z-index:50;background:var(--primary)}
.header-inner{max-width:72rem;margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;padding:1rem 1.5rem}
@media(min-width:640px){.header-inner{padding:1rem 2.5rem}}
.logo{display:flex;align-items:center;gap:.625rem}
.logo .logo-icon{height:2.25rem;width:auto;color:#fff}
.logo .logo-text{height:1.35rem;width:auto;color:#fff}
.back-link{font-family:var(--font-mono);font-size:.6875rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.75);
  display:inline-flex;align-items:center;gap:.5rem;transition:color .15s}
.back-link:hover{color:#fff}
.back-link svg{height:.75rem;width:.75rem}

/* ── hero/title ── */
.legal-hero{border-bottom:1px solid rgba(12,30,34,.1);background:var(--paper)}
.legal-hero-in{max-width:72rem;margin:0 auto;padding:4rem 1.5rem 3rem}
@media(min-width:640px){.legal-hero-in{padding:5rem 2.5rem 3.5rem}}
.legal-hero .eyebrow{font-family:var(--font-mono);font-size:.75rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.16em;color:var(--primary)}
.legal-hero h1{margin-top:.75rem;font-family:var(--font-display);font-weight:800;
  letter-spacing:-.025em;line-height:1.05;font-size:2.25rem;color:var(--ink)}
@media(min-width:640px){.legal-hero h1{font-size:3rem}}
.legal-hero .updated{margin-top:1.25rem;max-width:46rem;font-size:.9375rem;
  line-height:1.7;color:rgba(12,30,34,.6)}

/* ── layout ── */
.legal-wrap{max-width:72rem;margin:0 auto;padding:3rem 1.5rem 4rem;
  display:grid;gap:3rem}
@media(min-width:640px){.legal-wrap{padding:3.5rem 2.5rem 5rem}}
@media(min-width:1024px){.legal-wrap{grid-template-columns:230px 1fr;gap:3.5rem}}
.legal-toc{display:none}
@media(min-width:1024px){.legal-toc{display:block;position:sticky;top:6rem;align-self:start}}
.legal-toc p{font-family:var(--font-mono);font-size:.6875rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.16em;color:rgba(12,30,34,.35)}
.legal-toc ol{margin-top:1rem;display:flex;flex-direction:column;gap:.6rem}
.legal-toc a{font-size:.8125rem;line-height:1.4;color:rgba(12,30,34,.55);transition:color .15s}
.legal-toc a:hover{color:var(--primary)}

/* ── article ── */
.legal-body{max-width:44rem}
.legal-body section{padding-top:2.5rem;margin-top:2.5rem;border-top:1px solid rgba(12,30,34,.1)}
.legal-body section:first-child{padding-top:0;margin-top:0;border-top:0}
.legal-body h2{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;
  font-size:1.4rem;color:var(--ink)}
.legal-body h3{margin-top:1.5rem;font-family:var(--font-display);font-weight:700;
  font-size:1.05rem;color:var(--ink)}
.legal-body p{margin-top:.9rem;font-size:.9375rem;line-height:1.75;color:rgba(12,30,34,.72)}
.legal-body ul,.legal-body ol.list{margin-top:.9rem;padding-left:1.25rem;
  display:flex;flex-direction:column;gap:.5rem}
.legal-body ul li{position:relative;font-size:.9375rem;line-height:1.7;color:rgba(12,30,34,.72)}
.legal-body ul li::before{content:"";position:absolute;left:-1.1rem;top:.65rem;
  width:.3rem;height:.3rem;border-radius:999px;background:var(--primary)}
.legal-body ol.list{list-style:decimal}
.legal-body ol.list li{font-size:.9375rem;line-height:1.7;color:rgba(12,30,34,.72);padding-left:.25rem}
.legal-body strong{color:var(--ink);font-weight:600}
.legal-body a.inline{color:var(--primary);text-decoration:underline;text-underline-offset:2px}
.legal-body a.inline:hover{color:var(--primary-dark)}

/* ── table ── */
.legal-table-wrap{margin-top:1.25rem;overflow-x:auto;border:1px solid rgba(12,30,34,.12)}
.legal-table{width:100%;min-width:34rem;border-collapse:collapse;text-align:left}
.legal-table th{background:var(--secondary-soft);font-family:var(--font-mono);
  font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
  color:rgba(12,30,34,.55);padding:.75rem .9rem;border-bottom:1px solid rgba(12,30,34,.12)}
.legal-table td{padding:.8rem .9rem;font-size:.8125rem;line-height:1.55;
  color:rgba(12,30,34,.68);border-bottom:1px solid rgba(12,30,34,.08);vertical-align:top}
.legal-table tr:last-child td{border-bottom:0}
.legal-table td .mono{font-family:var(--font-mono);font-size:.75rem;color:var(--ink)}

/* ── preferences button ── */
.legal-prefs{margin-top:1.5rem;display:inline-flex;align-items:center;gap:.5rem;
  background:var(--ink);border:0;cursor:pointer;padding:.85rem 1.35rem;
  font-family:var(--font-mono);font-size:.6875rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;color:var(--paper);transition:background .18s}
.legal-prefs:hover{background:var(--primary)}

/* ── callout ── */
.legal-note{margin-top:1.25rem;padding:1rem 1.25rem;background:var(--secondary-soft);
  border-left:3px solid var(--primary);font-size:.8438rem;line-height:1.65;color:rgba(12,30,34,.7)}

/* ── footer ── */
.legal-footer{background:var(--ink);margin-top:2rem}
.legal-footer-in{max-width:72rem;margin:0 auto;padding:2.5rem 1.5rem;
  display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between}
@media(min-width:640px){.legal-footer-in{padding:2.5rem 2.5rem}}
.legal-footer p{font-family:var(--font-mono);font-size:.75rem;color:rgba(255,255,255,.35);line-height:1.6}
.legal-footer p a{text-decoration:underline;text-underline-offset:2px}
.legal-footer p a:hover{color:rgba(255,255,255,.6)}
.legal-footer nav{display:flex;flex-wrap:wrap;gap:1.25rem}
.legal-footer nav a,.legal-footer nav button{font-family:var(--font-mono);font-size:.75rem;
  color:rgba(255,255,255,.5);text-decoration:underline;text-underline-offset:2px;
  background:none;border:0;cursor:pointer;transition:color .15s}
.legal-footer nav a:hover,.legal-footer nav button:hover{color:var(--secondary)}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}