/* ============================================================
   PAGES LÉGALES : mentions légales, confidentialité, déclaration
   d'accessibilité, CGV. Chargé dans le <head> de ces pages
   (avant le 09/10/2026 : un <style> par page, dans le body).
   ============================================================ */

.legal-content { display: flex; flex-direction: column; gap: 3.2rem; }

.legal-block h2 {
  font-family: var(--font-family-serif);
  font-size: 2.2rem;
  font-weight: 500;
  color: var(--color-heading);
  margin: 0 0 1rem;
  letter-spacing: -0.005em;
}

.legal-block p,
.legal-block li,
.legal-list {
  font-size: 1.6rem;
  line-height: 1.65;
  color: var(--color-text);
  margin: 0;
}

.legal-block p + p,
.legal-block p + ul,
.legal-block ul + p,
.legal-block p + ol,
.legal-block ol + p { margin-top: 1rem; }

.legal-block ul,
.legal-block ol,
.legal-list { margin: 1rem 0 0; padding-left: 2rem; }

.legal-block ul,
.legal-list { list-style: disc; }
.legal-block ol { list-style: decimal; }

.legal-block li,
.legal-list li { margin-bottom: 0.6rem; }

/* Liens du texte : toujours soulignés (pas seulement la couleur, RGAA 10.6) */
.legal-block a { color: var(--color-link); text-decoration: underline; }
.legal-block a:hover { color: var(--color-link-hover); }

/* ============================================================
   CGV : document long, imprimable en PDF (bouton « Télécharger en PDF »)
   ============================================================ */
.cgv-content .section { margin-bottom: 0; }

.cgv-content .highlight-box {
  background: var(--color-tint);
  border: 1px solid var(--color-border);
  padding: 2rem 2.4rem;
  border-radius: 0.4rem;
}

.cgv-actions { text-align: center; margin-top: 2.4rem; }

.btn-pdf {
  background: var(--color-brand);
  color: var(--color-on-brand);
  border: none;
  padding: 1.2rem 2.4rem;
  font-size: 1.6rem;
  border-radius: 0.4rem;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.3s;
}

.btn-pdf:hover { background: var(--color-brand-hover); }

@page {
  size: A4;
  margin: 20mm 15mm;
}

@media print {
  .site-header,
  .site-footer,
  .breadcrumb-bar,
  .skip-link,
  #cookie-banner,
  .no-print { display: none !important; }

  body { background: var(--color-bg) !important; }

  .page-hero { padding: 0 !important; }

  .cgv-content .legal-block h2 { font-size: 14pt; margin: 12pt 0 6pt; }
  .cgv-content p,
  .cgv-content li { font-size: 11pt; }
  .cgv-content li { margin-bottom: 4pt; }
  .cgv-content .highlight-box { padding: 10pt; margin: 8pt 0; }

  .cgv-content a[href]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
  }
  .cgv-content a[href^="#"]::after,
  .cgv-content a[href^="mailto:"]::after,
  .cgv-content a[href^="tel:"]::after { content: ""; }
}
