/* =========================================================
   WPZ – CGV 2 colonnes (full-page)
   Doux, féminin & pro – sticky sidebar desktop seulement
   ========================================================= */

/* --- Tokens secours --- */
:root{
  --ink: var(--ink, #0f172a);
  --muted: var(--muted, #64748b);
  --bg: var(--bg, #f6f8f7);
  --brand: var(--brand, #5CA174);
  --accent: var(--accent, #9C1657);
  --radius: var(--radius, 18px);
  --shadow: var(--shadow, 0 10px 28px rgba(0,0,0,.08));
  --pad: var(--pad, clamp(16px, 2vw, 28px));
  --wrapW: 1400px;
  --colL: 320px; /* largeur colonne gauche */
  --gap: clamp(18px, 3vw, 34px);
  --stickyTop: clamp(70px, 10vh, 120px); /* espace sous header sticky */
}

/* --- Pleine page + padding pour respirer --- */
.wpz-cgv{
  background: var(--bg);
  padding: clamp(24px, 4vw, 42px) 0; /* haut/bas */
}
.wpz-cgv__wrap{
  width: min(var(--wrapW), 100% - 2*var(--pad));
  margin: 0 auto;
}

/* --- Héro / entête --- */
.wpz-cgv__h1{
  margin: 0 0 .5rem 0;
  line-height: 1.12; letter-spacing: -.3px;
}
.wpz-cgv__intro{
  max-width: 860px;
}
.notice{
  background: linear-gradient(0deg, rgba(92,161,116,.08), rgba(92,161,116,.08));
  border: 1px solid rgba(92,161,116,.22);
  color: #0f3822;
  padding: .8rem 1rem;
  border-radius: calc(var(--radius) - 6px);
}

/* --- Grille 2 colonnes desktop --- */
.wpz-cgv__grid{
  display: grid;
  grid-template-columns: var(--colL) 1fr;
  gap: var(--gap);
  align-items: start;
  margin-top: clamp(18px, 2.5vw, 28px);
}

/* --- Colonne gauche : sommaire (sticky desktop) --- */
.wpz-cgv__toc{
  position: sticky;
  top: var(--stickyTop);
}
.wpz-card{
  background:#fff; border:1px solid rgba(0,0,0,.06);
  border-radius: var(--radius); box-shadow: var(--shadow);
}
.wpz-card--pad{ padding: 14px 16px; }

.wpz-cgv__toc strong{
  display:block; font-weight:800; color:var(--ink); margin-bottom:.25rem;
}
.wpz-cgv__toc ol{
  margin: .4rem 0 0 1.1rem; padding: 0;
}
.wpz-cgv__toc a{
  color: var(--accent); text-decoration: none; border-bottom: 1px dashed transparent;
}
.wpz-cgv__toc a:hover, .wpz-cgv__toc a:focus{ border-color: var(--accent); outline: none; }

/* --- Colonne droite : contenu --- */
.wpz-cgv__content .wpz-card--content{
  padding: clamp(16px, 2.4vw, 24px);
}
.wpz-cgv__content h2{
  margin: 1.6rem 0 .8rem; ;
  scroll-margin-top: calc(var(--stickyTop) + 12px);
}
.wpz-cgv__content h3{
  margin: 1.1rem 0 .6rem; ;
}
.wpz-cgv__content p, .wpz-cgv__content li{
  color: var(--ink);
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.7;
}
.wpz-cgv__content ul, .wpz-cgv__content ol{
  padding-left: 1.25rem; margin: .4rem 0 .95rem;
}
.wpz-cgv__content li + li{ margin-top: .25rem; }

/* --- Tableau infos légales si fallback --- */
.table-responsive{ width:100%; overflow-x:auto; }
.table-responsive table{
  width:100%; border-collapse:collapse; background:#fff; border:1px solid rgba(0,0,0,.06);
}
.table-responsive th, .table-responsive td{
  padding:.55rem .75rem; border-bottom:1px solid rgba(0,0,0,.06); text-align:left; vertical-align:top;
}
.table-responsive th{ width:240px; color:var(--muted); font-weight:600; }
.table-responsive tr:last-child th, .table-responsive tr:last-child td{ border-bottom:none; }

/* --- Ancrage & focus --- */
[id]{ scroll-margin-top: calc(var(--stickyTop) + 8px); }
a{ color: var(--accent); text-decoration: underline; text-underline-offset:2px; }
a:hover{ text-decoration-thickness: 2px; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; border-radius:6px; }

/* --- Responsive : mobile = 1 colonne, no sticky --- */
@media (max-width: 980px){
  .wpz-cgv__grid{ grid-template-columns: 1fr; }
  .wpz-cgv__toc{ position: static; top: auto; }
}

/* --- Impression --- */
@media print{
  :root{ --pad:16px; }
  body{ background:#fff; }
  .wpz-cgv{ padding:0; }
  .site-header, .site-footer, .wpz-cgv__toc{ display:none !important; }
  .wpz-card{ box-shadow:none; border-color:#ddd; }
  a[href^="http"]:after{ content:" (" attr(href) ")"; font-size:.9em; color:#666; }
}





/* ===== Override "full page + 1rem padding" (prend le dessus) ===== */
.wpz-cgv{
  /* On force les variables du layout existant */
  --pad: 1rem;          /* padding latéral = 1rem */
  --wrapW: 9999px;      /* wrap virtuellement illimité pour prendre 100% */

  /* padding haut/bas */
  padding: 1rem 0 !important;
}

/* Le wrapper prend 100% - 2*1rem, plus de max-width */
.wpz-cgv__wrap{
  width: calc(100% - 2rem) !important;
  max-width: none !important;
}

/* Optionnel : si tu veux un fond 100% blanc (au lieu de --bg) */
 /* .wpz-cgv{ background:#fff !important; } */

