/* legal.css — PROMETI */

.page-bg-gradient{ background:#fff; }
body{ background:#fff; color:var(--txt-dark); }

/* ══ HERO — même style que Nos Actualités ══ */
.legal-hero{
  padding-top:76px;
  background:#fff;
}
.legal-hero-inner{
  width:min(1200px,94%); margin:0 auto;
  text-align:center; padding:44px 0 36px;
}

.legal-hero-title{
  font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
  font-size:clamp(26px,3.8vw,50px); font-weight:900; line-height:.92;
  letter-spacing:.04em; text-transform:uppercase; color:#071526; margin:0;
}
.legal-hero-title .accent{ color:var(--blue); }

@keyframes lineShine{
  0%  { left:-40%; }
  50% { left:120%; }
  100%{ left:120%; }
}
.legal-title-wrap{
  display:inline-block;
}

.legal-hero-underline{
  width:100%; height:3px; margin:22px 0 0;
  border-radius:999px; position:relative; overflow:hidden;
  background:linear-gradient(90deg,transparent,#0ea5e9 30%,#3b82f6 50%,#0ea5e9 70%,transparent);
}
.legal-hero-underline::after{
  content:""; position:absolute; top:0; left:-40%; width:40%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(59,130,246,.70),transparent);
  animation:lineShine 3.5s ease-in-out infinite;
}

.legal-hero-lead{
  margin:20px auto 0;
  font-size:17.5px; line-height:1.74; font-weight:500;
  color:#7a93ab; letter-spacing:.012em;
  white-space:nowrap;
}

/* ══ ZONE CONTENU ══ */
.legal-content{ padding:0 0 110px; position:relative; z-index:1; }

/* ══ DOCUMENT ══ */
.legal-document{
  background:#ffffff;
  border:1px solid #dde4ee;
  border-radius:22px;
  padding:0;
  overflow:hidden;
  box-shadow:0 8px 40px rgba(15,23,42,.07), 0 2px 6px rgba(15,23,42,.04);
}

/* ══ SECTIONS ══ */
.legal-section{
  padding:40px 56px;
  border-bottom:1px solid #f1f5f9;
  position:relative;
  transition:background .20s ease;
}
.legal-section:last-child{ border-bottom:none; }
.legal-section:hover{ background:#fafcff; }

.legal-section::before{
  content:""; position:absolute;
  left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg, #3e84ba, #2e6ca0);
  transform:scaleY(0); transform-origin:top;
  transition:transform .30s cubic-bezier(.22,1,.36,1);
}
.legal-section:hover::before{ transform:scaleY(1); }

/* ══ TITRES H2 ══ */
.legal-section h2{
  font-family:var(--font-display);
  font-size:18px; font-weight:900; letter-spacing:.04em;
  text-transform:uppercase;
  color:#0f172a; margin:0 0 18px;
  display:flex; align-items:center; gap:14px;
  padding-bottom:14px;
  border-bottom:1px solid #e8eef6;
}
.legal-section h2::before{
  content:""; flex-shrink:0;
  width:5px; height:22px; border-radius:3px;
  background:linear-gradient(180deg, #3e84ba, #225888);
  display:inline-block;
}
.legal-section h2 .h2-num{
  font-size:11px; font-weight:700; letter-spacing:.22em;
  color:#3e84ba; opacity:.70;
}

/* ══ CORPS DE TEXTE ══ */
.legal-section p{
  font-size:15px; line-height:1.92; color:#4a6070; margin:0 0 14px;
}
.legal-section p:last-child{ margin-bottom:0; }
.legal-section a{ color:#2e6ca0; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(46,108,160,0.28); transition:border-color .18s, color .18s; }
.legal-section a:hover{ color:#3e84ba; border-bottom-color:#3e84ba; }

/* ══ LISTE ══ */
.legal-list{
  list-style:none; margin:16px 0 0; padding:0;
  display:flex; flex-direction:column; gap:0;
}
.legal-list li{
  font-size:15px; line-height:1.80; color:#4a6070;
  padding:10px 0 10px 28px;
  border-bottom:1px solid #f1f5f9;
  position:relative;
}
.legal-list li:last-child{ border-bottom:none; padding-bottom:0; }
.legal-list li::before{
  content:""; position:absolute; left:8px; top:18px;
  width:7px; height:7px; border-radius:50%;
  background:linear-gradient(135deg, #3e84ba, #225888);
}
.legal-list li strong{ color:#0f172a; font-weight:700; }
.legal-list a{ color:#2e6ca0; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(46,108,160,0.28); }
.legal-list a:hover{ color:#3e84ba; }

/* ══ RESPONSIVE ══ */
@media (max-width:900px){
  .legal-section{ padding:34px 40px; }
  .legal-hero-inner{ padding:36px 0 28px; }
  .legal-hero-lead{ white-space:normal; }
}
@media (max-width:640px){
  .legal-hero-inner{ padding:28px 0 24px; }
  .legal-hero-title{ font-size:clamp(22px,7vw,36px); }
  .legal-hero-lead{ font-size:13.5px; }
  .legal-section{ padding:28px 22px; }
  .legal-section h2{ font-size:15px; gap:10px; }
  .legal-document{ border-radius:16px; }
}
