/* =====================================================================
   legali-nuovo.css — Privacy, Cookie e Termini (22/10/2026)
   Linguaggio delle pagine nuove (home, Centro assistenza): fondo #04060D con
   luci, testata grande, indice delle sezioni fisso, larghezza di lettura,
   link sottolineati. Nessun JS. Barra e piè di pagina restano quelli del sito
   (style.css + partial): questo foglio tocca solo <main class="lg">.
   ===================================================================== */
/* 22/10 · Carattere di riserva con le misure di Inter: quando Inter arriva da Google Fonts
   (display=swap) il testo non cambia altezza e l'indice non salta (CLS 0,018 su cookie a 390). */
@font-face { font-family: 'Inter Fallback'; src: local('Arial'), local('Helvetica Neue'), local('Helvetica'); size-adjust: 108%; ascent-override: 90%; descent-override: 22.4%; line-gap-override: 0%; }
.lg { font-family: 'Inter', 'Inter Fallback', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }
.lg-page { --lg-bg: #04060D; --lg-ink: #F3F6FC; --lg-ink-2: #C9D0DE; --lg-muted: #A3ADC2; --lg-line: rgba(168, 186, 224, .12); --lg-line-2: rgba(168, 186, 224, .22); --lg-link: #7FE9FF; background: var(--lg-bg); color: var(--lg-ink); }
.lg-page ::selection { background: rgba(0, 229, 255, .3); color: #fff; }
.lg-skip { position: fixed; left: 16px; top: -60px; z-index: 2000; padding: 10px 16px; border-radius: 10px; background: #fff; color: #04060D; font-weight: 700; text-decoration: none; }
.lg-skip:focus { top: 12px; }
.lg { display: block; position: relative; isolation: isolate; }
.lg:focus { outline: none; }
.lg a:focus-visible, .lg-skip:focus-visible { outline: 3px solid #7FE9FF; outline-offset: 3px; border-radius: 6px; }
.lg-wrap { max-width: 1180px; margin: 0 auto; padding: 0 clamp(16px, 4.6vw, 56px); }

/* ---- Testata ---- */
.lg-hero { position: relative; padding: clamp(112px, 14vw, 156px) 0 clamp(36px, 5vw, 56px); border-bottom: 1px solid var(--lg-line); overflow: hidden; }
.lg-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(760px 420px at 14% 0%, rgba(0, 229, 255, .13), transparent 62%), radial-gradient(680px 440px at 92% 10%, rgba(124, 77, 255, .15), transparent 64%); }
.lg-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgba(127, 233, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(127, 233, 255, .055) 1px, transparent 1px); background-size: 36px 36px;
  -webkit-mask-image: radial-gradient(ellipse 60% 90% at 30% 10%, #000 10%, transparent 70%); mask-image: radial-gradient(ellipse 60% 90% at 30% 10%, #000 10%, transparent 70%); }
.lg-docs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; margin-bottom: 28px; border-radius: 999px; border: 1px solid var(--lg-line-2); background: rgba(255, 255, 255, .035); }
.lg-docs a { display: inline-flex; align-items: center; height: 34px; padding: 0 16px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--lg-ink-2); text-decoration: none; transition: background .2s, color .2s; }
.lg-docs a:hover { color: var(--lg-ink); background: rgba(255, 255, 255, .06); }
.lg-docs a[aria-current="page"] { color: #031118; background: linear-gradient(120deg, #00E5FF, #5CF2C4 60%, #00E676); }
.lg-eyebrow { margin: 0 0 14px; font: 600 12px/1.2 'JetBrains Mono', ui-monospace, Menlo, monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--lg-ink-2); display: flex; align-items: center; gap: 10px; }
.lg-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #00E5FF; box-shadow: 0 0 0 4px rgba(0, 229, 255, .14), 0 0 14px rgba(0, 229, 255, .8); }
.lg-hero h1 { margin: 0 0 16px; max-width: 900px; font-size: clamp(38px, 5.4vw, 72px); line-height: 1; font-weight: 800; letter-spacing: -.045em; text-wrap: balance; color: var(--lg-ink); }
.lg-hero .legal-subtitle { margin: 0; max-width: 680px; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.6; color: var(--lg-ink-2); }
.lg-meta { display: inline-flex; align-items: center; gap: 10px; margin: 24px 0 0; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--lg-line-2); background: rgba(255, 255, 255, .035); font-size: 13px; color: var(--lg-muted); }
.lg-meta b { color: var(--lg-ink); font-weight: 600; }
.lg-dot { width: 7px; height: 7px; border-radius: 50%; background: #00E676; box-shadow: 0 0 10px rgba(0, 230, 118, .8); }

/* ---- Indice + testo ---- */
.lg-grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); padding-top: clamp(32px, 4vw, 56px); padding-bottom: clamp(64px, 8vw, 112px); align-items: start; }
.lg-toc { position: sticky; top: 96px; max-height: calc(100vh - 120px); overflow: auto; padding: 18px 16px; border-radius: 18px; border: 1px solid var(--lg-line); background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012)); scrollbar-width: thin; }
.lg-toc-t { margin: 0 0 10px; padding: 0 8px; font: 600 11px/1.2 'JetBrains Mono', ui-monospace, Menlo, monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--lg-muted); }
.lg-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.lg-toc a { display: block; padding: 7px 8px; border-radius: 10px; font-size: 13.5px; line-height: 1.35; color: var(--lg-ink-2); text-decoration: none; transition: background .2s, color .2s; }
.lg-toc a:hover { background: rgba(255, 255, 255, .05); color: var(--lg-ink); }

.lg .legal-content { max-width: 760px; min-width: 0; color: var(--lg-ink-2); font-size: 16.5px; line-height: 1.75; }
.lg .legal-content h2 { scroll-margin-top: 96px; margin: 56px 0 16px; padding-top: 28px; border-top: 1px solid var(--lg-line); font-size: clamp(22px, 2vw, 28px); line-height: 1.2; font-weight: 750; letter-spacing: -.03em; color: var(--lg-ink); }
.lg .legal-content h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.lg .legal-content h3 { margin: 32px 0 12px; font-size: 19px; line-height: 1.3; font-weight: 700; letter-spacing: -.02em; color: var(--lg-ink); }
.lg .legal-content p { margin: 0 0 16px; }
.lg .legal-content ul, .lg .legal-content ol { margin: 0 0 18px; padding-left: 22px; }
.lg .legal-content li { margin-bottom: 10px; padding-left: 4px; }
.lg .legal-content li::marker { color: #00E5FF; }
.lg .legal-content strong { color: var(--lg-ink); font-weight: 650; }
.lg .legal-content a { color: var(--lg-link); text-decoration: underline; text-decoration-color: rgba(127, 233, 255, .45); text-underline-offset: 3px; overflow-wrap: anywhere; }
.lg .legal-content a:hover { text-decoration-color: currentColor; }
.lg .legal-content code { padding: 2px 7px; border-radius: 6px; background: rgba(255, 255, 255, .06); border: 1px solid var(--lg-line); font: 500 .85em 'JetBrains Mono', ui-monospace, Menlo, monospace; color: #7FE9FF; white-space: nowrap; }
.lg-table { margin: 20px 0 28px; overflow-x: auto; border-radius: 16px; border: 1px solid var(--lg-line); background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .01)); }
.lg-table:focus-visible { outline: 3px solid #7FE9FF; outline-offset: 3px; }
.lg .legal-content table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; line-height: 1.55; }
.lg .legal-content thead th { padding: 12px 16px; text-align: left; font: 600 11px/1.3 'JetBrains Mono', ui-monospace, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--lg-muted); background: rgba(255, 255, 255, .03); border-bottom: 1px solid var(--lg-line); }
.lg .legal-content tbody td { padding: 14px 16px; vertical-align: top; border-bottom: 1px solid var(--lg-line); }
.lg .legal-content tbody tr:last-child td { border-bottom: 0; }

@media (max-width: 1023px) {
  .lg-grid { grid-template-columns: 1fr; }
  .lg-toc { position: static; max-height: none; }
  .lg-toc ol { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
}
@media (max-width: 600px) {
  .lg .legal-content { font-size: 16px; }
  .lg-docs { margin-bottom: 22px; }
  .lg-docs a { padding: 0 13px; }
  .lg-toc ol { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: no-preference) {
  html:has(.lg-page) { scroll-behavior: smooth; }
}
