/*
 * Sagra+ — Legal pages (privacy, cookie, note legali)
 * Long-form prose, built on the "Vivido Avio" tokens. No new hues.
 */

.legal { padding-block: var(--space-16) var(--space-20); }
.legal .container { max-width: var(--container-narrow); }

.legal__head { margin-bottom: var(--space-10); padding-bottom: var(--space-8); border-bottom: 1px solid var(--border); }
.legal__head h1 { font-size: var(--fs-h1); line-height: 1.08; margin-top: var(--space-3); }
.legal__updated { margin-top: var(--space-4); font-size: var(--fs-xs); color: var(--text-muted); }

.legal__body { color: var(--text); }
.legal__body > section { margin-top: var(--space-10); }
.legal__body h2 { font-family: var(--font-display); font-size: var(--fs-h3); line-height: 1.2; margin-bottom: var(--space-4); scroll-margin-top: 96px; }
.legal__body h3 { font-family: var(--font-display); font-size: var(--fs-lead); margin: var(--space-6) 0 var(--space-3); }
.legal__body p { color: var(--text-muted); font-size: var(--fs-body); line-height: 1.7; margin-bottom: var(--space-4); }
.legal__body a { color: var(--primary); text-decoration: underline; }
.legal__body a:hover { color: var(--primary-hover); }
.legal__body strong, .legal__body b { color: var(--text); font-weight: 600; }
.legal__body ul, .legal__body ol { margin: 0 0 var(--space-4) 1.3em; color: var(--text-muted); font-size: var(--fs-body); line-height: 1.7; }
.legal__body li { margin-bottom: var(--space-2); }
.legal__body li > strong { color: var(--text); }
.legal__body address { font-style: normal; color: var(--text-muted); line-height: 1.7; }

/* Data-processing / cookie tables */
.legal__table { width: 100%; border-collapse: collapse; margin: var(--space-4) 0 var(--space-6); font-size: var(--fs-sm); }
.legal__table caption { text-align: left; color: var(--text-muted); font-size: var(--fs-xs); margin-bottom: var(--space-3); }
.legal__table th, .legal__table td { text-align: left; vertical-align: top; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--border); color: var(--text-muted); line-height: 1.6; }
.legal__table th { font-family: var(--font-display); color: var(--text); font-weight: 600; background: var(--surface-2); }
.legal__table tbody th { background: transparent; }

/* Table of contents */
.legal__toc { margin-top: var(--space-6); padding: var(--space-5) var(--space-6); background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.legal__toc h2 { font-family: var(--font-display); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: var(--space-3); }
.legal__toc ol { margin: 0; padding-left: 1.3em; color: var(--text-muted); line-height: 1.9; }
.legal__toc a { color: var(--text-muted); text-decoration: none; }
.legal__toc a:hover { color: var(--primary); text-decoration: underline; }

/* Callout */
.legal__note { margin: var(--space-5) 0; padding: var(--space-5) var(--space-6); border-left: 3px solid var(--primary); background: var(--primary-soft); border-radius: var(--radius); }
.legal__note p { color: var(--text); margin: 0; }

.legal__back { display: inline-flex; align-items: center; gap: 8px; margin-top: var(--space-12); font-family: var(--font-display); font-weight: 600; color: var(--primary); text-decoration: none; }
.legal__back:hover { color: var(--primary-hover); }
.legal__back .ic { width: 18px; height: 18px; transform: scaleX(-1); }

/* Simplified header on legal pages: hide the in-page section nav */
.site-header--legal .nav__links,
.site-header--legal .nav__burger { display: none; }
.site-header--legal .nav__right { margin-left: auto; }

/* ===== Portrait phones ===== */
@media (max-width: 560px) {
  /* Dense GDPR tables: shrink type and padding so the multi-column prose
     has room to breathe at ~335px content width (cells wrap, no h-scroll). */
  .legal__table { font-size: var(--fs-xs); }
  .legal__table th,
  .legal__table td { padding: var(--space-2) var(--space-3); }
}
