.elementor-kit-23{--e-global-color-primary:#2C6CB2;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;font-family:"DM Sans", Sans-serif;}.elementor-kit-23 e-page-transition{background-color:#FFBC7D;}.elementor-kit-23 h1{font-family:"Playfair Display", Sans-serif;}.elementor-kit-23 h2{font-family:"Playfair Display", Sans-serif;}.elementor-kit-23 h3{font-family:"Playfair Display", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */html, body {
  overflow-x: hidden !important;
}
.banniere {
  position: relative;
  overflow: hidden;
}

.banniere::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(44, 108, 178, 0.9) 0%,
    rgba(44, 108, 178, 0.6) 40%,
    rgba(44, 108, 178, 0.2) 70%,
    rgba(44, 108, 178, 0) 100%
  );
  z-index: 5;
  pointer-events: none;
}




/* Lift effect sur les cartes au survol */
.section {
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
              box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
              border-color 0.3s ease;
  will-change: transform;
}

.section:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(15, 104, 158, 0.15);
  border-color: #0f689e !important;
}











/* Lift effect sur les cartes au survol */
.card{
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
              box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
              border-color 0.3s ease;
  will-change: transform;
}

.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(15, 104, 158, 0.15);
 
}



.Btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.Btn::after {
  content: '';
  position: absolute;
  top: -50%;
  left: 0;
  width: 100%;
  height: 200%;
  background: linear-gradient(
    105deg,
    transparent  30%,
    rgba(255, 255, 255, 0.15) 50%,
    transparent  70%
  );
  transform: translateX(-200%);
  animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
  0%   { transform: translateX(-200%); }
  100% { transform: translateX(200%); }
}


.boite {
  position: relative;
  padding-left: 20px;
}

.boite::before {
  content: '';
  position: absolute;
  top: 10%;
  left: 0;
  width: 4px;
  height: 80%;
  background-color: #2C6CB2;
  border-radius: 2px;
}




.carton {
  position: relative;
}

.carton::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20px; /* ajuste la position verticale */
  width: 4px;
  height: 40px; /* ajuste la hauteur */
  background-color: #1e3a5f; /* bleu */
  border-radius: 2px;
}

.carton2::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20px; /* ajuste la position verticale */
  width: 4px;
  height: 40px; /* ajuste la hauteur */
  background-color: #E87722; /* bleu */
  border-radius: 2px;
}


.vice {
  background-attachment: local !important;
  transition: background-size 0.6s ease !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}

.vice:hover {
  background-size: 115% 115% !important;
}



.img img {
  animation: flotter 3s ease-in-out infinite !important;
}

@keyframes flotter {
  0%   { transform: translateY(0px); }
  50%  { transform: translateY(-15px); }
  100% { transform: translateY(0px); }
}



.ban {
  position: relative !important;
  overflow: hidden !important;
}

.ban::after {
  content: '' !important;
  position: absolute !important;
  width: 300px !important;
  height: 300px !important;
  background-color: #000 !important;
  border-radius: 50% !important;
  top: -100px !important;
  right: -80px !important;
  z-index: 0 !important;
  opacity: 0.2 !important;
}



/* Fond gris clair sur toute la section */
.Cap {
  background-color: #f8f8f8 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Grand cercle orange en arrière plan */
.Cap::after {
  content: '' !important;
  position: absolute !important;
  width: 350px !important;
  height: 350px !important;
  background-color: #000 !important;
  border-radius: 50% !important;
  bottom: -120px !important;
  left: -80px !important;
  z-index: 0 !important;
  opacity: 0.08 !important;
}

/* Image arrondie avec bordure orange et ombre */
.photo {
  position: relative !important;
  padding: 15px !important;
}

.photo::before {
  content: '' !important;
  position: absolute !important;
  width: 60px !important;
  height: 60px !important;
  border-top: 4px solid #2C6CB2 !important;
  border-left: 4px solid #2C6CB2 !important;
  top: 0 !important;
  left: 0 !important;
}

.photo::after {
  content: '' !important;
  position: absolute !important;
  width: 60px !important;
  height: 60px !important;
  border-bottom: 4px solid #2C6CB2 !important;
  border-right: 4px solid #2C6CB2 !important;
  bottom: 0 !important;
  right: 0 !important;
}

.photo img {
  border-radius: 4px !important;
  width: 100% !important;
  object-fit: cover !important;
}

/* Contenu texte au dessus du cercle */
.Cap .elementor-widget-container {
  position: relative !important;
  z-index: 1 !important;
}/* End custom CSS */