/* Safe Defender — stile delle pagine documentali e di servizio.
   Usa gli stessi valori della home page, cosi' il sito resta coerente. */

:root{
  --bg:#F6F6F2; --bg-alt:#EFEFE9; --ink:#101418; --ink-soft:#4B5560;
  --ink-mute:#616B78; --ink-faint:#7A838F; --blue:#2348D8; --blue-dark:#132C8F;
  --lime:#C6F24E; --green:#14A05A; --rosso:#B3261E;
  --line:rgba(16,20,24,.10); --line-soft:rgba(16,20,24,.09); --line-firm:rgba(16,20,24,.14);
  --display:'Space Grotesk',system-ui,sans-serif;
  --body:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --wrap:1200px; --gutter:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--blue-dark)}
::selection{background:var(--blue);color:#fff}
img{max-width:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* intestazione */
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,246,242,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}
.site-header__inner{max-width:var(--wrap);margin:0 auto;padding:12px var(--gutter);display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.site-header__inner>a:first-child img{height:64px;width:auto;display:block}
.site-header nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.site-header nav a{color:var(--ink-soft);font-size:14.5px}
.site-header nav a:hover{color:var(--ink)}

/* corpo */
main{max-width:820px;margin:0 auto;padding:52px var(--gutter) 80px}
h1{font-family:var(--display);font-weight:700;font-size:clamp(30px,4vw,44px);letter-spacing:-.03em;line-height:1.06;margin:0 0 10px;text-wrap:balance}
.sottotitolo{color:var(--ink-mute);font-size:15px;margin:0 0 8px}
.aggiornato{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin-bottom:34px}

main h2{font-family:var(--display);font-weight:700;font-size:clamp(21px,2.6vw,27px);letter-spacing:-.02em;line-height:1.22;margin:44px 0 14px;padding-top:26px;border-top:1px solid var(--line-soft);scroll-margin-top:90px}
main h2:first-of-type{border-top:0;padding-top:0}
main h3{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.01em;margin:26px 0 8px}
main p{color:var(--ink-soft);font-size:15.5px;line-height:1.7;margin:0 0 14px;text-wrap:pretty}
main li{color:var(--ink-soft);font-size:15.5px;line-height:1.7;margin-bottom:7px}
main ul,main ol{padding-left:22px;margin:0 0 16px}
main strong{color:var(--ink);font-weight:600}

/* indice */
.indice{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 26px;margin-bottom:40px}
.indice p{font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink);margin:0 0 12px}
.indice ol{margin:0;padding-left:20px;columns:2;column-gap:32px}
.indice li{margin-bottom:6px;font-size:14.5px}
@media (max-width:620px){.indice ol{columns:1}}

/* tabelle */
.tabella{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14.5px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tabella th,.tabella td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--ink-soft)}
.tabella th{font-family:var(--display);font-weight:600;font-size:13.5px;color:var(--ink);background:var(--bg-alt)}
.tabella tr:last-child td{border-bottom:0}
.tabella-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* riquadri */
.nota{background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:12px;padding:16px 20px;margin:0 0 20px}
.nota p:last-child{margin-bottom:0}
.avviso{background:rgba(198,242,78,.16);border:1px solid rgba(16,20,24,.12);border-radius:12px;padding:16px 20px;margin:0 0 28px}
.avviso p:last-child{margin-bottom:0}

.torna{display:inline-block;margin-top:48px;padding-top:24px;border-top:1px solid var(--line-soft);font-size:14.5px}

/* piede */
.site-footer{border-top:1px solid var(--line-soft);background:var(--bg)}
.site-footer__inner{max-width:var(--wrap);margin:0 auto;padding:32px var(--gutter);display:flex;flex-wrap:wrap;gap:12px 28px;align-items:baseline}
.site-footer p{color:var(--ink-faint);font-size:13px;line-height:1.6;margin:0;flex:1 1 360px}
.site-footer a{font-size:13px}
.site-footer span{color:var(--ink-faint);font-size:13px}
