/* =====================================================================
   LEGAL PAGES · privacy-policy / cookie-policy / terms
   Impagina i documenti generati da iubenda e sincronizzati da
   tools/sync-legal.py. Non modificare le pagine a mano: vengono
   rigenerate. Le regole qui sotto sono scoped su .legal-doc.
   ===================================================================== */

/* La nav è trasparente fino allo scroll: sulle pagine legali non c'è hero
   scuro, quindi la rendiamo definita già in cima. */
.nav.legal-nav,
.nav.legal-nav.scrolled {
  background: rgba(236, 238, 242, .88);
  backdrop-filter: saturate(180%) blur(16px);
  border-bottom-color: var(--line);
}

.legal { padding: 7.5rem 0 5rem; }
.legal-inner { max-width: 860px; margin: 0 auto; padding: 0 var(--pad); }

.legal-crumb { display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: var(--muted-2); margin-bottom: 1.6rem; }
.legal-crumb a { color: var(--muted); transition: color .2s; }
.legal-crumb a:hover { color: var(--text); }

.legal-doc {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: 3.2rem;
  color: var(--text);
  font-size: .95rem;
  line-height: 1.72;
  overflow-wrap: break-word;
}

.legal-doc h1 { font-size: clamp(1.7rem, 4vw, 2.25rem); line-height: 1.18; letter-spacing: -.02em; margin: 0 0 1rem; }
.legal-doc h2 { font-size: 1.32rem; letter-spacing: -.01em; margin: 2.8rem 0 .9rem; }
.legal-doc h3 { font-size: 1.08rem; margin: 2rem 0 .7rem; }
.legal-doc h4 { font-size: 1rem; margin: 1.5rem 0 .5rem; }
.legal-doc h5 { font-size: .93rem; color: var(--muted); margin: 1.2rem 0 .4rem; }
.legal-doc p { margin: 0 0 1rem; }
.legal-doc ul, .legal-doc ol { margin: 0 0 1.1rem; padding-left: 1.35rem; }
.legal-doc li { margin-bottom: .45rem; }
.legal-doc strong, .legal-doc b { font-weight: 600; }
.legal-doc a { color: var(--violet); text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.legal-doc a:hover { color: var(--violet-deep); }
.legal-doc hr { border: 0; border-top: 1px solid var(--line); margin: 2.2rem 0; }
.legal-doc img { max-width: 100%; height: auto; }
.legal-doc figure { margin: 1.2rem 0; }
.legal-doc section { margin-bottom: .5rem; }

/* Intestazione del documento (titolo + data di ultimo aggiornamento) */
.legal-doc header { padding-bottom: 1.6rem; border-bottom: 1px solid var(--line); margin-bottom: 2.2rem; }
.legal-doc header p { color: var(--muted); margin-bottom: .5rem; }

/* Indice dei contenuti */
.legal-doc #table-of-content-wrapper {
  background: var(--band); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 1.4rem 1.7rem; margin: 0 0 2.6rem;
}
.legal-doc #table-of-content-title { font-size: 1rem; margin: 0 0 .8rem; }
.legal-doc #table-of-content-wrapper ul { margin: 0; padding-left: 1.1rem; }
.legal-doc #table-of-content-wrapper li { margin-bottom: .3rem; font-size: .9rem; }

/* Blocchi a fisarmonica ("Informazioni dettagliate", definizioni legali) */
.legal-doc details {
  background: var(--band); border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: .9rem 1.15rem; margin: 0 0 .8rem;
}
.legal-doc summary { cursor: pointer; font-weight: 600; }
.legal-doc details[open] summary { margin-bottom: .85rem; }

/* Riquadro "in caso di problemi" e pulsanti interni al documento */
.legal-doc #in-case-of-issues-card {
  background: var(--violet-wash); border: 1px solid var(--violet-soft);
  border-radius: var(--radius); padding: 1.3rem 1.5rem; margin: 1.6rem 0;
}
.legal-doc .btn { display: inline-block; margin-top: .4rem; text-decoration: none; }

/* Contenuto largo: scrolla dentro il proprio contenitore, non nella pagina */
.legal-doc table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 1.2rem 0; }
.legal-doc th, .legal-doc td { border: 1px solid var(--line); padding: .6rem .8rem; text-align: left; }
.legal-doc pre { overflow-x: auto; }

/* Branding iubenda dentro il documento: il piano include opt_out_branding.
   Per rimostrarlo basta eliminare questa regola. */
.legal-doc .iubenda-branding { display: none; }

.legal-note { max-width: 860px; margin: 1.5rem auto 0; padding: 0 var(--pad); font-size: .82rem; color: var(--muted-2); text-align: center; }
.legal-note a { color: var(--muted); text-decoration: underline; text-underline-offset: 2px; }
.legal-note a:hover { color: var(--text); }

@media (max-width: 720px) {
  .legal { padding: 6.5rem 0 3.5rem; }
  .legal-doc { padding: 1.7rem; border-radius: var(--radius); }
  .legal-doc #table-of-content-wrapper { padding: 1.1rem 1.2rem; }
}
