/* KAP INNOV'5.0 — styles des pages de rubrique.
   Complement de /css/kap.css. Portee limitee a .kap-page. */

:root{
  
  --kap-navy:#1a2472;
  --kap-navy-dark:#131a54;
  --kap-or:#b8963e;
  --kap-or-clair:#d6b463;
  --kap-encre:#1a1a1a;
  --kap-gris:#444444;
  --kap-gris-clair:#dedad0;
  --kap-fond:#ffffff;
  --kap-fond-doux:#f7f6f2;

  --font-display:'Georgia',serif;
  --font-texte:'Georgia',serif;
  --font-ui:'Segoe UI',sans-serif;

  --largeur:1200px;
}
.kap-page *, .kap-page *::before, .kap-page *::after{box-sizing:border-box;}
.kap-page .conteneur{width:100%;max-width:var(--largeur);margin:0 auto;padding:0 2rem;}
.kap-page button:focus-visible{outline:3px solid var(--kap-or);outline-offset:2px;}
.kap-page .fil-ariane{font-family:var(--font-ui);font-size:13.5px;color:var(--kap-gris);padding:18px 0 0;}
.kap-page .fil-ariane a{color:var(--kap-gris);text-decoration:none;}
.kap-page .fil-ariane a:hover{color:var(--kap-or);text-decoration:underline;}
.kap-page .fil-ariane span{margin:0 8px;color:var(--kap-gris-clair);}
.kap-page .banniere{padding:44px 0 56px;}
.kap-page .surtitre{
  font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:.19em;
  text-transform:uppercase;color:var(--kap-or);margin:0 0 16px;
}
.kap-page .banniere h1{
  font-family:var(--font-display);font-size:clamp(2.1rem,4.4vw,3.35rem);line-height:1.15;
  color:var(--kap-navy);margin:0 0 22px;font-weight:700;
}
.kap-page .banniere h1 em{font-style:italic;color:var(--kap-or);}
.kap-page .chapeau{font-size:1.16rem;line-height:1.68;color:var(--kap-gris);max-width:62ch;margin:0;}
.kap-page .section{padding:52px 0;border-top:1px solid var(--kap-gris-clair);}
.kap-page .section:first-of-type{border-top:0;}
.kap-page .section h2{
  font-family:var(--font-display);font-size:clamp(1.55rem,2.6vw,2.05rem);color:var(--kap-navy);
  margin:0 0 20px;line-height:1.25;font-weight:700;
}
.kap-page .section h3{
  font-family:var(--font-display);font-size:1.24rem;color:var(--kap-navy);margin:0 0 10px;font-weight:700;
}
.kap-page .section p{margin:0 0 18px;max-width:74ch;text-align:justify;}
.kap-page .section p:last-child{margin-bottom:0;}
.kap-page .texte-doux{background:var(--kap-fond-doux);}
.kap-page .etapes{list-style:none;margin:0;padding:0;counter-reset:etape;}
.kap-page .etapes li{
  counter-increment:etape;position:relative;padding:0 0 30px 74px;margin:0;
  border-left:1px solid var(--kap-gris-clair);
}
.kap-page .etapes li:last-child{border-left-color:transparent;padding-bottom:0;}
.kap-page .etapes li::before{
  counter-increment:none;content:counter(etape,decimal-leading-zero);
  position:absolute;left:-21px;top:-4px;width:42px;height:42px;border-radius:50%;
  background:var(--kap-navy);color:var(--kap-or);display:flex;align-items:center;
  justify-content:center;font-family:var(--font-ui);font-weight:700;font-size:14px;
}
.kap-page .etapes h3{margin-bottom:8px;}
.kap-page .etapes p{margin-bottom:0;}
.kap-page .grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:26px;}
.kap-page .carte{background:#fff;border:1px solid var(--kap-gris-clair);border-top:3px solid var(--kap-or);padding:28px 26px;}
.kap-page .texte-doux .carte{background:#fff;}
.kap-page .carte .icone{width:34px;height:34px;margin-bottom:14px;display:block;}
.kap-page .carte .icone path, .kap-page .carte .icone circle, .kap-page .carte .icone rect, .kap-page .carte .icone line, .kap-page .carte .icone polyline{
  stroke:var(--kap-or);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;
}
.kap-page .carte p{font-size:16px;color:var(--kap-gris);}
.kap-page .encadre-legal{border-left:4px solid var(--kap-or);background:var(--kap-fond-doux);padding:22px 26px;}
.kap-page .encadre-legal p{font-size:15.5px;color:var(--kap-gris);margin-bottom:12px;}
.kap-page .encadre-legal p:last-child{margin-bottom:0;}
.kap-page .encadre-legal strong{color:var(--kap-navy);}
.kap-page .reperes{width:100%;border-collapse:collapse;font-size:16px;}
.kap-page .reperes th, .kap-page .reperes td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--kap-gris-clair);vertical-align:top;}
.kap-page .reperes th{
  width:34%;color:var(--kap-navy);font-family:var(--font-ui);font-size:13px;
  letter-spacing:.08em;text-transform:uppercase;font-weight:700;
}
.kap-page .bandeau{position:relative;overflow:hidden;background:var(--kap-navy);color:#fff;padding:56px 0;margin-top:56px;}
.kap-page .bandeau .arcs{position:absolute;right:-70px;top:-60px;width:420px;height:420px;opacity:.16;pointer-events:none;}
.kap-page .bandeau .arcs circle{fill:none;stroke:var(--kap-or);stroke-width:1.2;}
.kap-page .bandeau .conteneur{position:relative;display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;}
.kap-page .bandeau h2{font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 12px;color:#fff;}
.kap-page .bandeau h2 em{font-style:italic;color:var(--kap-or-clair);}
.kap-page .bandeau p{margin:0;max-width:60ch;color:rgba(255,255,255,.85);}
.kap-page .bouton-or{
  display:inline-flex;align-items:center;gap:11px;background:var(--kap-or);color:var(--kap-navy);
  text-decoration:none;padding:19px 30px;font-family:var(--font-ui);font-weight:700;
  font-size:14px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
}
.kap-page .bouton-or:hover{background:var(--kap-or-clair);color:var(--kap-navy);}
.kap-page .bouton-or svg{width:17px;height:17px;}
@media (max-width:1080px){

}
@media (max-width:640px){
.kap-page .etapes li{padding-left:60px;}
.kap-page .reperes th{width:auto;display:block;border-bottom:0;padding-bottom:2px;}
.kap-page .reperes td{display:block;padding-top:2px;}
}
@media (prefers-reduced-motion:reduce){
.kap-page *{transition:none !important;animation:none !important;}
}

/* --- Ancres : compense les deux barres fixes ------------------------------ */
.kap-page [id]{scroll-margin-top:150px;}
.kap-page .ancre-section{
  padding:46px 0 0;border-top:3px solid var(--kap-or);margin-top:20px;
}
.kap-page .titre-ancre{
  font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.4rem);
  color:var(--kap-navy);margin:0;line-height:1.2;
}
.kap-page .ancre-section + .section{border-top:0;padding-top:28px;}

/* ------------------------------------------------------------------
   Mentions légales de l'organisme — bas de page de rubrique
   ------------------------------------------------------------------ */
.kap-page .mentions-organisme{
  margin:0;
  padding-top:1.4rem;
  border-top:1px solid rgba(27,42,107,.15);
  font-size:.82rem;
  line-height:1.7;
  color:#5a5a5a;
}
.kap-page .mentions-organisme strong{color:#1B2A6B;font-weight:700}
