/* ==========================================================================
   Page Conditions générales — v4
   Autonome : ne dépend ni du contenu saisi dans le back-office, ni de
   règles .yc-page-content. Fond clair opaque pleine largeur + texte foncé
   (contraste AA), quel que soit l'habillage du parent.
   ========================================================================== */

.ep-terms{
  /* Fond opaque pleine largeur : recouvre tout fond hérité du thème */
  background:var(--ep-cream,#F4F6FA);
  color:var(--ep-ink,#1B2333);
  padding:8px 0 64px;
}
.ep-terms *,
.ep-terms *::before,
.ep-terms *::after{ box-sizing:border-box; }

/* -- En-tête -------------------------------------------------------------- */
.ep-terms__head{ max-width:860px; margin:12px 0 28px; }
.ep-terms__title{
  margin:0 0 8px;
  font-size:clamp(1.6rem,3.4vw,2.3rem);
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--ep-navy,#16265C);
  text-align:start;
}
.ep-terms__subtitle{
  margin:0;
  font-size:1rem;
  line-height:1.6;
  color:var(--ep-muted,#5A6478);
  text-align:start;
}

/* -- Grille sommaire + contenu ------------------------------------------- */
.ep-terms__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
  align-items:start;
}
@media (min-width:992px){
  .ep-terms__layout{ grid-template-columns:270px minmax(0,1fr); gap:32px; }
}

/* -- Sommaire ------------------------------------------------------------- */
.ep-terms__toc{
  background:var(--ep-surface,#fff);
  border:1px solid var(--ep-border,#E2E6EF);
  border-radius:var(--ep-radius,14px);
  padding:18px 16px;
  box-shadow:var(--ep-shadow-soft,0 8px 24px rgba(22,38,92,.07));
}
@media (min-width:992px){
  .ep-terms__toc{ position:sticky; top:96px; }
}
.ep-terms__toc-title{
  margin:0 0 10px 8px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ep-muted,#5A6478);
}
.ep-terms__toc ol{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:2px;
}
@media (min-width:560px) and (max-width:991px){
  .ep-terms__toc ol{ grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:12px; }
}
.ep-terms__toc li{ margin:0; padding:0; }
.ep-terms__toc a{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:8px;
  border-radius:var(--ep-radius-sm,8px);
  font-size:.94rem;
  line-height:1.4;
  color:var(--ep-ink,#1B2333);
  text-decoration:none;
  transition:background .2s ease,color .2s ease;
}
.ep-terms__toc a:hover,
.ep-terms__toc a:focus-visible{
  background:var(--ep-accent-soft,rgba(226,97,10,.12));
  color:var(--ep-navy,#16265C);
}
.ep-terms__toc-num{
  flex:0 0 auto;
  min-width:1.3em;
  font-weight:800;
  color:var(--ep-accent-dark,#C24F05);
}

/* -- Cartes de section ---------------------------------------------------- */
.ep-terms__content{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
}
.ep-terms-card{
  background:var(--ep-surface,#fff);
  border:1px solid var(--ep-border,#E2E6EF);
  border-radius:var(--ep-radius,14px);
  padding:26px 28px;
  box-shadow:var(--ep-shadow-soft,0 8px 24px rgba(22,38,92,.07));
  color:var(--ep-ink,#1B2333);
  text-align:start;
  scroll-margin-top:96px;
}
.ep-terms-card__head{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 14px;
}
.ep-terms-card__num{
  flex:0 0 auto;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--ep-navy,#16265C);
  color:#fff;
  font-size:1rem;
  font-weight:800;
  line-height:1;
}
.ep-terms-card__title{
  margin:0;
  font-size:1.25rem;
  line-height:1.3;
  font-weight:800;
  color:var(--ep-navy,#16265C);
  text-align:start;
}
.ep-terms-card p,
.ep-terms-card li{
  margin:0;
  font-size:1rem;
  line-height:1.75;
  color:var(--ep-ink,#1B2333);
  text-align:start;
}
.ep-terms-card p + p,
.ep-terms-card ul + p,
.ep-terms-card p + ul{ margin-top:12px; }
.ep-terms-card h3{
  margin:24px 0 8px;
  font-size:1.05rem;
  line-height:1.4;
  font-weight:700;
  color:var(--ep-navy,#16265C);
  text-align:start;
}
.ep-terms-card ul{
  margin:0;
  padding:0 0 0 1.25rem;
  padding-inline-start:1.25rem;
  list-style:disc;
}
.ep-terms-card li + li{ margin-top:10px; }
.ep-terms-card li::marker{ color:var(--ep-accent,#E2610A); }
.ep-terms-card li > ul{ margin-top:10px; list-style:circle; }
.ep-terms-card strong{ font-weight:700; color:var(--ep-navy,#16265C); }
.ep-terms-card a{
  color:var(--ep-accent-dark,#C24F05);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
}
.ep-terms-card a:hover{ color:var(--ep-navy,#16265C); }
.ep-terms-card p.ep-terms-note{
  margin-top:18px;
  padding:14px 16px;
  background:var(--ep-accent-soft,rgba(226,97,10,.12));
  border-radius:var(--ep-radius-sm,8px);
  font-weight:600;
}

/* -- Mobile --------------------------------------------------------------- */
@media (max-width:600px){
  .ep-terms{ padding-bottom:44px; }
  .ep-terms__head{ margin:6px 0 20px; }
  .ep-terms-card{ padding:20px 18px; border-radius:var(--ep-radius-sm,10px); scroll-margin-top:84px; }
  .ep-terms-card__num{ width:34px; height:34px; font-size:.95rem; }
  .ep-terms-card__title{ font-size:1.1rem; }
  .ep-terms-card p,
  .ep-terms-card li{ font-size:.96rem; line-height:1.7; }
}

@media print{
  .ep-terms{ background:#fff; }
  .ep-terms__toc{ display:none; }
  .ep-terms-card{ box-shadow:none; break-inside:avoid; }
}
