/* ==========================================================
   Pagine legali (privacy, cookie): testo leggibile, stile del sito
   ========================================================== */
.legal-page { overflow-x: hidden; }
.legal-head {
  position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px var(--gutter); background: rgba(12, 11, 12, .9); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--coal);
}
.legal-logo img { height: 30px; width: auto; }
.legal { max-width: 780px; margin: 0 auto; padding: clamp(48px, 8vw, 110px) var(--gutter) clamp(60px, 8vw, 120px); }
.legal h1 { font-size: clamp(44px, 7vw, 96px); font-weight: 900; line-height: .92; letter-spacing: -.04em; font-variation-settings: "wdth" 118; margin: 24px 0 14px; }
.legal__meta { color: var(--dim); margin-bottom: clamp(28px, 4vw, 48px); }
.legal__lead { font-size: clamp(18px, 1.5vw, 22px); color: var(--white); line-height: 1.5; }
.legal section { margin-top: clamp(40px, 6vw, 64px); scroll-margin-top: 90px; }
.legal h2 { font-size: clamp(24px, 2.4vw, 32px); font-weight: 800; letter-spacing: -.02em; font-variation-settings: "wdth" 108; margin-bottom: 16px; padding-top: 18px; border-top: 1px solid var(--coal); }
.legal h3 { font-size: 17px; font-weight: 700; margin: 22px 0 8px; }
.legal p, .legal li { color: var(--silver); font-size: 16px; line-height: 1.65; }
.legal p + p { margin-top: 12px; }
.legal b { color: var(--white); font-weight: 600; }
.legal ul { list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 10px; }
.legal ul li { position: relative; padding-left: 22px; }
.legal ul li::before { content: "—"; position: absolute; left: 0; color: var(--dim); }
.legal small { color: var(--dim); font-size: 10px; }

.legal__toc { margin-top: clamp(28px, 4vw, 44px); padding: 20px 22px; border: 1px solid var(--coal); }
.legal__toc ol { list-style: decimal inside; padding: 0; margin: 0; display: grid; gap: 6px; color: var(--dim); }
.legal__toc a { color: var(--silver); text-transform: none; letter-spacing: .02em; }
.legal__toc a:hover { color: var(--white); }

.legal__table { margin-top: 16px; border-top: 1px solid var(--coal); }
.legal__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--coal); color: var(--silver); font-size: 15px; line-height: 1.55; }
.legal__row--head { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--dim); padding: 10px 0; }

.legal-foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 20px var(--gutter) 28px; border-top: 1px solid var(--coal); color: var(--dim); }
.legal-foot a { color: var(--silver); }

@media (max-width: 640px) {
  .legal__row { grid-template-columns: 1fr; gap: 6px; }
  .legal__row--head { display: none; }
  .legal-foot { flex-direction: column; }
}
