/* =========================================================
   POCHON PRODUCTION — Pages légales (mentions, CGV)
   Surcouche minimale par-dessus styles.css
   ========================================================= */

/* Body en fond crème par défaut sur les pages légales */
.legal-page {
  background: var(--creme);
}

/* La navbar est toujours visible (pas de hero derrière) */
.legal-page nav.topbar {
  background: rgba(242,235,211,0.98);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(58,40,24,0.15);
}

/* Variante outline du CTA navbar : "Retour au site" */
.nav-cta-ghost {
  background: transparent !important;
  color: var(--brun) !important;
  border: 1px solid rgba(58,40,24,0.3);
  transition: background 0.2s, border-color 0.2s, color 0.2s !important;
}
.nav-cta-ghost:hover {
  background: var(--rouge) !important;
  color: var(--creme) !important;
  border-color: var(--rouge);
}

/* ── ARTICLE PRINCIPAL ──────────────────────────────────── */
.legal-main {
  max-width: 880px;
  margin: 0 auto;
  padding: 130px var(--pad) 96px;
}

.legal-head {
  margin-bottom: 56px;
  padding-bottom: 36px;
  border-bottom: 1.5px solid var(--brun);
}

.legal-h1 {
  font-family: var(--f-display);
  font-size: clamp(48px, 7vw, 88px);
  line-height: 0.98;
  color: var(--ink);
  font-weight: 400;
  letter-spacing: -0.01em;
  margin-top: 4px;
}
.legal-h1 .accent {
  font-family: var(--f-script);
  color: var(--rouge);
  font-size: 1.1em;
  display: inline-block;
  transform: rotate(-3deg);
  padding: 0 0.04em;
}

.legal-rule {
  width: 64px;
  height: 2px;
  background: var(--rouge);
  opacity: 0.55;
  margin: 24px 0 14px;
}

.legal-date {
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(58,40,24,0.55);
}

/* ── SECTIONS ───────────────────────────────────────────── */
.legal-section {
  padding: 36px 0;
  border-bottom: 1px solid rgba(58,40,24,0.15);
}
.legal-section:last-child { border-bottom: 0; }

.legal-section h2 {
  font-family: var(--f-display);
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.15;
  color: var(--ink);
  font-weight: 400;
  margin-bottom: 22px;
  display: flex;
  align-items: baseline;
  gap: 18px;
  flex-wrap: wrap;
}
.legal-section .legal-num {
  font-family: var(--f-mono);
  font-size: 10.5px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--rouge);
  flex-shrink: 0;
  letter-spacing: 0.3em;
}

.legal-section h3 {
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--rouge);
  margin-top: 28px;
  margin-bottom: 12px;
}

.legal-section p {
  font-family: var(--f-body);
  font-size: 16.5px;
  line-height: 1.7;
  color: var(--brun);
  margin-bottom: 14px;
  max-width: 720px;
}
.legal-section p:last-child { margin-bottom: 0; }

.legal-section p a {
  color: var(--rouge);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
.legal-section p a:hover { color: var(--rouge-deep); }

.legal-section ul {
  list-style: none;
  margin: 0 0 16px;
  padding-left: 0;
  max-width: 720px;
}
.legal-section li {
  font-family: var(--f-body);
  font-size: 16.5px;
  line-height: 1.7;
  color: var(--brun);
  padding: 4px 0 4px 24px;
  position: relative;
}
.legal-section li::before {
  content: '—';
  position: absolute;
  left: 0;
  top: 4px;
  color: var(--rouge);
  font-family: var(--f-display);
}

/* ── TABLEAU DE FICHE ───────────────────────────────────── */
.legal-table {
  width: 100%;
  max-width: 720px;
  border-collapse: collapse;
}
.legal-table tr {
  border-bottom: 1px solid rgba(58,40,24,0.12);
}
.legal-table tr:last-child { border-bottom: 0; }
.legal-table th,
.legal-table td {
  text-align: left;
  padding: 14px 12px 14px 0;
  vertical-align: top;
  font-weight: 400;
}
.legal-table th {
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--rouge);
  width: 42%;
  padding-right: 24px;
}
.legal-table td {
  font-family: var(--f-body);
  font-size: 16.5px;
  color: var(--brun);
  line-height: 1.5;
}
.legal-table td a {
  color: var(--rouge);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* ── HIGHLIGHT (contact) ────────────────────────────────── */
.legal-highlight {
  background: var(--brun);
  color: var(--creme);
  padding: 28px 32px;
  margin-top: 22px;
  border-left: 4px solid var(--rouge);
  max-width: 720px;
}
.legal-highlight p {
  font-family: var(--f-body);
  font-style: italic;
  font-size: 17px;
  color: rgba(242,235,211,0.85);
  margin: 0;
  max-width: none;
}
.legal-highlight a {
  color: var(--creme);
  text-decoration: underline;
}
.legal-highlight a:hover { color: var(--creme); opacity: 0.85; }

/* ── BLOC ARTICLE CGV (sous-numérotation) ───────────────── */
.legal-section h4 {
  font-family: var(--f-display);
  font-size: 19px;
  font-weight: 400;
  color: var(--ink);
  margin-top: 22px;
  margin-bottom: 10px;
}
.legal-section h4 .sub-num {
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.28em;
  color: var(--rouge);
  margin-right: 10px;
  text-transform: uppercase;
}

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width: 720px) {
  .legal-main {
    padding: 100px 20px 64px;
  }
  .legal-head { margin-bottom: 40px; padding-bottom: 28px; }
  .legal-section { padding: 28px 0; }
  .legal-section h2 { font-size: 22px; gap: 12px; margin-bottom: 16px; }
  .legal-section h2 .legal-num { font-size: 10px; letter-spacing: 0.25em; }
  .legal-section h3 { font-size: 10px; margin-top: 22px; }
  .legal-section p { font-size: 15.5px; }
  .legal-section li { font-size: 15.5px; }
  .legal-table th, .legal-table td { font-size: 14.5px; padding: 12px 8px 12px 0; }
  .legal-table th { width: 40%; font-size: 9px; letter-spacing: 0.22em; }
  .legal-highlight { padding: 22px 22px; }
  .legal-highlight p { font-size: 15.5px; }
  .legal-h1 { font-size: 44px; }
}
