.elementor-3 .elementor-element.elementor-element-be04944{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3 .elementor-element.elementor-element-3d0aad4{padding:50px 0px 0px 0px;}:root{--page-title-display:none;}/* Start custom CSS for text-editor, class: .elementor-element-3d0aad4 *//* ===== Mentions légales — identité BGCSO ===== */
.elementor-3 .elementor-element.elementor-element-3d0aad4{
  --navy:#333D5C; --navy-dk:#222943; --red:#C4122F; --red-dk:#A30E26;
  --grey:#ECEDF1; --txt2:#4F5467;
  max-width:880px;
  margin:0 auto;
  font-family:Outfit,system-ui,sans-serif;
  font-size:17px;
  line-height:1.7;
  color:var(--txt2);
  counter-reset:bgc-h2;
}

/* Titre principal (H1 ou H2 de tête si tu en mets un) */
.elementor-3 .elementor-element.elementor-element-3d0aad4 h1{
  font-family:Unbounded,sans-serif; font-weight:800;
  font-size:clamp(32px,5vw,64px); line-height:.95; letter-spacing:-.035em;
  text-transform:uppercase; color:var(--navy);
  margin:0 0 40px;
}

/* Sections : H2 numérotés avec la pastille rouge du logo */
.elementor-3 .elementor-element.elementor-element-3d0aad4 h2{
  counter-increment:bgc-h2;
  display:flex; align-items:center; gap:16px;
  font-family:Unbounded,sans-serif; font-weight:800;
  font-size:clamp(20px,2.4vw,28px); line-height:1.1; letter-spacing:-.02em;
  text-transform:uppercase; color:var(--navy);
  margin:56px 0 20px; padding-top:28px;
  border-top:2px solid var(--grey);
}
.elementor-3 .elementor-element.elementor-element-3d0aad4 h2::before{
  content:counter(bgc-h2,decimal-leading-zero);
  flex:none; display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%;
  background:var(--red); color:#fff;
  font-size:13px; font-weight:700; letter-spacing:0;
}
.elementor-3 .elementor-element.elementor-element-3d0aad4 h2:first-child,
.elementor-3 .elementor-element.elementor-element-3d0aad4 h1 + h2{ margin-top:0; }

/* Sous-titres : petites capitales rouges */
.elementor-3 .elementor-element.elementor-element-3d0aad4 h3, .elementor-3 .elementor-element.elementor-element-3d0aad4 h4{
  font-family:Unbounded,sans-serif; font-weight:700;
  font-size:13px; line-height:1.4; letter-spacing:.08em;
  text-transform:uppercase; color:var(--red);
  margin:32px 0 10px;
}

.elementor-3 .elementor-element.elementor-element-3d0aad4 p{ margin:0 0 16px; }
.elementor-3 .elementor-element.elementor-element-3d0aad4 p:last-child{ margin-bottom:0; }
.elementor-3 .elementor-element.elementor-element-3d0aad4 strong, .elementor-3 .elementor-element.elementor-element-3d0aad4 b{ color:var(--navy-dk); font-weight:600; }

/* Listes à puces : pastilles rouges */
.elementor-3 .elementor-element.elementor-element-3d0aad4 ul{ list-style:none; margin:0 0 20px; padding:0; }
.elementor-3 .elementor-element.elementor-element-3d0aad4 ul li{ position:relative; padding-left:24px; margin-bottom:8px; }
.elementor-3 .elementor-element.elementor-element-3d0aad4 ul li::before{
  content:""; position:absolute; left:2px; top:.62em;
  width:8px; height:8px; border-radius:50%; background:var(--red);
}
.elementor-3 .elementor-element.elementor-element-3d0aad4 ol{ margin:0 0 20px; padding-left:24px; }
.elementor-3 .elementor-element.elementor-element-3d0aad4 ol li::marker{ color:var(--red); font-weight:700; }

/* Liens : soulignement rouge qui se remplit au survol */
.elementor-3 .elementor-element.elementor-element-3d0aad4 a{
  color:var(--navy); font-weight:500; text-decoration:none;
  background:linear-gradient(var(--red),var(--red)) 0 100% / 100% 2px no-repeat;
  transition:color .18s, background-size .32s cubic-bezier(.2,.8,.2,1);
  word-break:break-word;
}
.elementor-3 .elementor-element.elementor-element-3d0aad4 a:hover{ color:#fff; background-size:100% 100%; }
.elementor-3 .elementor-element.elementor-element-3d0aad4 a:focus-visible{ outline:3px solid var(--red); outline-offset:2px; }

/* Encadré (citation / bloc d'infos éditeur) : angle biseauté */
.elementor-3 .elementor-element.elementor-element-3d0aad4 blockquote{
  margin:24px 0; padding:24px 28px 24px 32px;
  background:var(--navy); color:#D6D9E3; font-style:normal;
  border-left:8px solid var(--red);
  clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%);
}
.elementor-3 .elementor-element.elementor-element-3d0aad4 blockquote strong{ color:#fff; }
.elementor-3 .elementor-element.elementor-element-3d0aad4 blockquote a{ color:#fff; }

/* Tableaux éventuels */
.elementor-3 .elementor-element.elementor-element-3d0aad4 table{ width:100%; border-collapse:collapse; margin:0 0 24px; font-size:15px; }
.elementor-3 .elementor-element.elementor-element-3d0aad4 th{
  font-family:Unbounded,sans-serif; font-weight:500; font-size:11px;
  letter-spacing:.08em; text-transform:uppercase; text-align:left;
  color:#fff; background:var(--navy); padding:12px 14px;
}
.elementor-3 .elementor-element.elementor-element-3d0aad4 td{ padding:12px 14px; border-bottom:1px solid var(--grey); vertical-align:top; }

.elementor-3 .elementor-element.elementor-element-3d0aad4 hr{ border:0; height:2px; background:var(--grey); margin:40px 0; }

/* Mobile */
@media (max-width:767px){
  .elementor-3 .elementor-element.elementor-element-3d0aad4{ font-size:16px; }
  .elementor-3 .elementor-element.elementor-element-3d0aad4 h2{ gap:12px; margin-top:44px; padding-top:22px; }
  .elementor-3 .elementor-element.elementor-element-3d0aad4 h2::before{ width:36px; height:36px; font-size:12px; }
  .elementor-3 .elementor-element.elementor-element-3d0aad4 blockquote{ padding:20px 22px 20px 24px; }
  .elementor-3 .elementor-element.elementor-element-3d0aad4 table{ display:block; overflow-x:auto; }
}/* End custom CSS */