.elementor-kit-5{--e-global-color-primary:#003966;--e-global-color-secondary:#001E3C;--e-global-color-text:#1A1A14;--e-global-color-accent:#C8963E;--e-global-color-4f9f85d:#F8F9FA;--e-global-color-6f75e5d:#FFFFFF;--e-global-color-d8ee911:#F1F3F5;--e-global-color-1f207d7:#003966;--e-global-color-e9b2414:#088DB2;--e-global-color-a47818a:#C8963E;--e-global-color-a2185e2:#FCD116;--e-global-color-c7528cf:#E2AF58;--e-global-color-7d0bf4b:#1A1A14;--e-global-color-058e396:#3D3D35;--e-global-color-869a61f:#8A8678;--e-global-color-7adda42:#001E3C;--e-global-color-7f03fe2:#FFFFFF;--e-global-color-d665d40:#000000;--e-global-color-ff1e9b9:#F5F0E8;--e-global-color-a3b3554:#27482C;--e-global-color-f0cabd4:#5EAE6A;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-058e396 );font-family:"Inter", Sans-serif;font-size:15px;--e-preloader-animation-duration:1400ms;--e-preloader-delay:2000ms;--e-preloader-opacity:0.2;}.elementor-kit-5 h2{font-family:"Playfair Display", Sans-serif;font-size:50px;}.elementor-kit-5 h3{font-family:"Playfair Display", Sans-serif;}.elementor-kit-5 h4{font-family:"Playfair Display", Sans-serif;}.elementor-kit-5 h6{font-family:"Playfair Display", Sans-serif;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;color:var( --e-global-color-7f03fe2 );border-style:none;border-radius:100px 100px 100px 100px;padding:0.9rem 1.8rem 0.9rem 1.8rem;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{border-style:none;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-5 h2{font-size:44px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5 h2{font-size:36px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */html{scroll-behavior:smooth}
body{color:#1A1A14;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* Removes focus outline from all links */
a:focus, a:active, button:focus {
    outline: none !important;
    box-shadow: none !important;
}
:root {

  /* — Palette — */
  --ivory        : #F5F0E8;   /* Fond principal          */
  --ivory-lt     : #FDFAF5;   /* Fond sections claires   */
  --sand         : #EDE8DC;   /* Fond alternatif         */
  --blue-dk      : #003966;   /* Bleu institutionnel     */
  --blue-md      : #088DB2;   /* Bleu accent             */
  --gold         : #C8963E;   /* Or principal            */
  --gold-jaune   : #FCD116;   /* Or vif (hero italique)  */
  --gold-lt      : #E2AF58;   /* Or hover                */
  --ink          : #1A1A14;   /* Texte principal         */
  --ink-mid      : #3D3D35;   /* Texte secondaire        */
  --muted        : #8A8678;   /* Texte faible / légendes */
  --navy         : #001E3C;   /* Footer / menu overlay   */

  /* — Gradients — */
  --blue-grad    : linear-gradient(135deg, #003966, #088DB2);
  --blue-grad-h  : linear-gradient(90deg,  #003966, #088DB2);

  /* — Bordures — */
  --border       : rgba(26, 26, 20, 0.10);
  --border-gold  : rgba(200, 150, 62, 0.25);

  /* — Layout — */
  --max          : 1440px;
  --pad          : clamp(20px, 5.5vw, 88px);
  --r            : 8px;

  /* — Easing — */
  --ease         : cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ═══════════════════════════════════════
   UTILITAIRES — Sections, Cards, Séparateurs
═══════════════════════════════════════ */

/* — Fonds de sections — */
.bg-ivory    { background-color : var(--ivory);    }
.bg-ivory-lt { background-color : var(--ivory-lt); }
.bg-sand     { background-color : var(--sand);     }
.bg-blue-dk  { background-color : var(--blue-dk);  }
.bg-blue-grad{ background       : var(--blue-grad); }
.bg-navy     { background-color : var(--navy);     }

/* — Cards universelles — */
.card-white {
  background    : #fff;
  border-radius : 10px;
  border        : 1px solid var(--border);
  box-shadow    : 0 12px 48px rgba(0,0,0,0.10);
  overflow      : hidden;
  transition    : transform .4s var(--ease), box-shadow .4s;
}
.card-white:hover {
  transform     : translateY(-6px);
  box-shadow    : 0 20px 60px rgba(0,0,0,0.12);
}

/* — Bande tricolore gabonaise — */
.tricolor {
  height: 4px;
  background: linear-gradient(
    90deg,
    #009a44 33.33%,
    #fbde40 33.33%,
    #fbde40 66.66%,
    #0066a1 66.66%
  );
  opacity: 0.99;
}


/* — Divider or — */
.divider-gold {
  width         : 36px;
  height        : 2px;
  background    : var(--gold);
  margin-bottom : 18px;
}

/* — Images avec hover zoom doux — */
.img-zoom {
  overflow      : hidden;
  border-radius : 12px;
}
.img-zoom img {
  transition    : transform 7s ease;
}
.img-zoom:hover img {
  transform     : scale(1.04);
}

/* — Ombres — */
.shadow-card  { box-shadow : 0 12px 48px rgba(0,0,0,0.18); }
.shadow-img   { box-shadow : 0 24px 64px rgba(0,0,0,0.12); }
.shadow-map   { box-shadow : 0 20px 60px rgba(0,0,0,0.12); }

/* — Tag badge (news, agenda) — */
.tag-gold {
  display         : inline-block;
  border          : 1px solid var(--border-gold);
  color           : var(--gold);
  font-size       : 9px;
  font-weight     : 700;
  padding         : 3px 10px;
  border-radius   : 20px;
  text-transform  : uppercase;
  letter-spacing  : 1px;
}

/* — Couleurs de texte utilitaires — */
.text-gold    { color : var(--gold);    }
.text-blue    { color : var(--blue-dk); }
.text-muted   { color : var(--muted);   }
.text-white   { color : #fff;           }


h2 em {
    font-style: italic;
    color: var(--gold);
    font-weight:400;
}

.lbl {
    margin-bottom: 20px;
}

.lbl {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.lbl-blue .lbl-line {
    background: var(--blue-dk);
}

.lbl-line {
    width: 32px;
    height: 1px;
    flex-shrink: 0;
}
.lbl-blue span {
    font-size: 10px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--blue-dk);
    font-weight: 500;
}


.about-badge {
    background: var(--blue-grad);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 12px 22px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: .6px;
    box-shadow: 0 8px 24px rgba(0, 57, 102, .35);
}
.about-cap {
    font-size: 11px;
    color: var(--muted);
    font-style: italic;
    text-align: right;
}


.elementor-widget-image {
    height: 100%;
}

.organisator-bloc-img .elementor-widget-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent 55%, var(--ivory-lt));
}
/*
body.elementor-page:not(.home) {
    padding-top: 31px;
}*/

.hero-interne {
    position: relative;
}
.hero-interne::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(0, 57, 102, .8) 0%, rgba(8, 141, 178, .45) 100%);
    z-index: 1;
}

.rank-math-breadcrumb p {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .8px;
    a {
        color: var(--blue-md);
    }
}

.intro-stats-outer {
    position: absolute;
    top: -16px;
    left: -16px;
    right: 16px;
    bottom: 16px;
    border: 1.5px solid var(--border-gold, rgba(200, 150, 62, .25));
    border-radius: 14px;
    pointer-events: none;
    z-index: 0;
}
.intro-stats-head {
    padding: 22px 28px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    display: flex;
    align-items: center;
    gap: 12px;
}
.intro-stats-head-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold);
    flex-shrink: 0;
}
.intro-stats-head span {
    font-size: 10px;
    font-weight: 700;
    color: rgba(255, 255, 255, .5);
    text-transform: uppercase;
    letter-spacing: 2px;
}
.intro-stats-footer {
    padding: 16px 28px;
    background: rgba(0, 0, 0, .2);
    font-size: 11px;
    color: rgba(255, 255, 255, .3);
    display: flex;
    align-items: center;
    gap: 8px;
}
.intro-stats-footer::before {
    content: '';
    width: 20px;
    height: 1px;
    background: var(--gold);
    opacity: .5;
    flex-shrink: 0;
}
.ec-config-tag {
    font-size: 10px;
    color: var(--blue-dk);
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    background: rgba(0, 57, 102, .07);
    border: 1px solid rgba(0, 57, 102, .12);
    width: max-content;
}

.lbl-gold span {
    color: var(--gold);
}

.lbl-gold .sec-label-line {
    background: var(--gold);
}

.sec-label-line {
    width: 28px;
    height: 1px;
    flex-shrink: 0;
}
.sec-label {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.sec-label span {
    font-size: 10px;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 500;
}
.sec-label {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.lbl-white .sec-label-line {
    background: rgba(255, 255, 255, .5);
}
.lbl-white span {
    color: rgba(255, 255, 255, .65);
}

.dev-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 56px rgba(0, 57, 102, .1);
    border-color: rgba(0, 57, 102, .15);
}/* End custom CSS */