.elementor-kit-6{--e-global-color-primary:#000000;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#000000;--e-global-color-accent:#003ACB;--e-global-color-718643c:#0D3378;--e-global-color-5c6fbcc:#A2D344;--e-global-color-e9d1312:#7BC675;--e-global-color-e6928a9:#00A5AB;--e-global-color-6d297e4:#63D8DD;--e-global-color-5d03ebe:#3390FF;--e-global-color-562969d:#1A53E5;--e-global-typography-primary-font-family:"Albert Sans";--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:"Albert Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Albert Sans";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:-0.3px;--e-global-typography-c4f47e6-font-family:"Albert Sans";--e-global-typography-c4f47e6-font-size:3.5em;--e-global-typography-c4f47e6-font-weight:400;--e-global-typography-c4f47e6-line-height:1.2em;--e-global-typography-8571167-font-family:"Albert Sans";--e-global-typography-8571167-font-size:42px;--e-global-typography-8571167-font-weight:400;--e-global-typography-8571167-line-height:1.1em;--e-global-typography-8571167-letter-spacing:-0.4px;--e-global-typography-bca90e6-font-family:"Albert Sans";--e-global-typography-bca90e6-font-size:32px;--e-global-typography-bca90e6-font-weight:500;--e-global-typography-bca90e6-line-height:1.1em;--e-global-typography-bca90e6-letter-spacing:-1.2px;--e-global-typography-81ab8ec-font-family:"Albert Sans";--e-global-typography-81ab8ec-font-size:24px;--e-global-typography-81ab8ec-font-weight:500;--e-global-typography-81ab8ec-line-height:1.1em;--e-global-typography-81ab8ec-letter-spacing:-1px;--e-global-typography-ca8093f-font-family:"Albert Sans";--e-global-typography-ca8093f-font-size:18px;--e-global-typography-ca8093f-font-weight:500;--e-global-typography-8e11cbe-font-family:"Albert Sans";--e-global-typography-8e11cbe-font-size:18px;--e-global-typography-8e11cbe-font-weight:400;--e-global-typography-8e11cbe-line-height:1.2em;--e-global-typography-a866b57-font-family:"Albert Sans";--e-global-typography-a866b57-font-size:24px;--e-global-typography-a866b57-font-weight:400;--e-global-typography-a866b57-line-height:1.2em;--e-global-typography-3a82e68-font-family:"Albert Sans";--e-global-typography-3a82e68-font-size:18px;--e-global-typography-3a82e68-font-weight:700;--e-global-typography-3a82e68-text-transform:uppercase;--e-global-typography-3a82e68-line-height:1.1em;--e-global-typography-3a82e68-letter-spacing:-0.1px;--e-global-typography-3a82e68-word-spacing:0px;--e-global-typography-106cc2b-font-family:"Albert Sans";--e-global-typography-106cc2b-font-size:56px;--e-global-typography-106cc2b-font-weight:700;--e-global-typography-106cc2b-text-transform:uppercase;--e-global-typography-106cc2b-line-height:1.1em;--e-global-typography-106cc2b-letter-spacing:-0.5px;--e-global-typography-854e419-font-family:"Albert Sans";--e-global-typography-854e419-font-size:16px;--e-global-typography-854e419-font-weight:400;--e-global-typography-854e419-line-height:1.2em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-ca8093f-font-family ), Sans-serif;font-size:var( --e-global-typography-ca8093f-font-size );font-weight:var( --e-global-typography-ca8093f-font-weight );color:var( --e-global-color-secondary );border-radius:10px 10px 10px 10px;padding:20px 32px 20px 32px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-accent );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:10px 10px 10px 10px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.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);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-accent-font-size:18px;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:-0.3px;--e-global-typography-c4f47e6-font-size:42px;--e-global-typography-c4f47e6-line-height:1em;--e-global-typography-8571167-font-size:36px;--e-global-typography-8571167-line-height:1.2em;--e-global-typography-bca90e6-font-size:24px;--e-global-typography-bca90e6-line-height:1.1em;--e-global-typography-81ab8ec-font-size:20px;--e-global-typography-81ab8ec-line-height:1.1em;--e-global-typography-8e11cbe-font-size:16px;--e-global-typography-8e11cbe-line-height:1.1em;--e-global-typography-a866b57-font-size:20px;--e-global-typography-a866b57-line-height:1.1em;--e-global-typography-106cc2b-font-size:42px;--e-global-typography-106cc2b-line-height:1.1em;--e-global-typography-106cc2b-letter-spacing:-0.5px;--e-global-typography-854e419-font-size:14px;--e-global-typography-854e419-line-height:1.2em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-ca8093f-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:32px;--e-global-typography-accent-font-size:16px;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:-0.3px;--e-global-typography-c4f47e6-font-size:32px;--e-global-typography-8571167-font-size:28px;--e-global-typography-8571167-line-height:1.1em;--e-global-typography-8571167-letter-spacing:-0.4px;--e-global-typography-bca90e6-font-size:24px;--e-global-typography-bca90e6-line-height:1.1em;--e-global-typography-81ab8ec-font-size:18px;--e-global-typography-81ab8ec-line-height:1.2em;--e-global-typography-ca8093f-font-size:18px;--e-global-typography-ca8093f-line-height:1.2em;--e-global-typography-8e11cbe-font-size:16px;--e-global-typography-8e11cbe-line-height:1.2em;--e-global-typography-a866b57-font-size:18px;--e-global-typography-a866b57-line-height:1.2em;--e-global-typography-106cc2b-font-size:38px;--e-global-typography-106cc2b-line-height:1.1em;--e-global-typography-106cc2b-letter-spacing:-0.5px;--e-global-typography-854e419-font-size:14px;--e-global-typography-854e419-line-height:1.2em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-ca8093f-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =====================================================
   BOUTONS
   ===================================================== */

/* Bouton plein : fond bleu, hover sans fond */
.elementor-widget-button.btn-plein .elementor-button {
  padding: 20px 32px;
  border: 0;
  border-radius: 10px;
  background-color: #003acb;
  color: #fff;
  box-shadow: inset 0 0 0 1px #003acb;
  font-family: "Albert Sans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: normal;
  text-decoration: none;
  text-transform: none;
  transition: background-color 0.2s ease, color 0.2s ease,
    box-shadow 0.2s ease;
}

.elementor-widget-button.btn-plein .elementor-button:hover,
.elementor-widget-button.btn-plein .elementor-button:focus {
  background-color: transparent !important;
  color: #003acb;
  box-shadow: inset 0 0 0 1px #003acb;
}

/* Bouton contour : sans fond, hover bleu */
.elementor-widget-button.btn-contour .elementor-button {
  padding: 20px 32px;
  border: 0;
  border-radius: 10px;
  background-color: transparent !important;
  color: #003acb !important;
  box-shadow: inset 0 0 0 1px #003acb;
  font-family: "Albert Sans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: normal;
  text-decoration: none;
  text-transform: none;
  transition: background-color 0.2s ease, color 0.2s ease,
    box-shadow 0.2s ease;
}

.elementor-widget-button.btn-contour .elementor-button:hover,
.elementor-widget-button.btn-contour .elementor-button:focus {
  background-color: #003acb !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px #003acb;
}

/* Variante sur fond sombre : classes btn-plein btn-plein-blanc */
.elementor-widget-button.btn-plein.btn-plein-blanc .elementor-button {
  transition: background-color 0.25s ease, color 0.25s ease,
    box-shadow 0.25s ease, backdrop-filter 0.25s ease,
    -webkit-backdrop-filter 0.25s ease;
}

.elementor-widget-button.btn-plein.btn-plein-blanc .elementor-button:hover,
.elementor-widget-button.btn-plein.btn-plein-blanc .elementor-button:focus {
  background-color: rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px #fff !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

/* ========== BOUTON CONTOUR BLANC (fond transparent) ========== */
.btn-contour-blanc .elementor-button,
.btn-contour-blanc .elementor-button:hover,
.btn-contour-blanc .elementor-button:focus,
.btn-contour-blanc .elementor-button:active {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box !important;
    min-height: 62px !important;
    padding: 0 32px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px #fff !important;
    outline: 0;
    transform: none !important;
    font-family: "Albert Sans", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    -webkit-tap-highlight-color: transparent;
}

/* Etat normal et focus souris : fond transparent */
.btn-contour-blanc .elementor-button,
.btn-contour-blanc .elementor-button:focus,
.btn-contour-blanc .elementor-button:active {
    background-color: transparent !important;
    transition: background-color .25s ease, backdrop-filter .25s ease, -webkit-backdrop-filter .25s ease;
}

/* Hover : blur identique à btn-plein-blanc (souris uniquement) */
@media (hover: hover) {
    .btn-contour-blanc .elementor-button:hover {
        background-color: rgba(255, 255, 255, 0.18) !important;
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
    }
}

/* Focus clavier (accessibilité) */
.btn-contour-blanc .elementor-button:focus-visible {
    outline: 2px solid #fff !important;
    outline-offset: 3px;
}




/* =====================================================
   FORMULAIRE : CHOIX EN BOUTONS
   ID du champ : choix
   ===================================================== */

.elementor-field-group-choix .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px !important;
  margin-bottom: 16px;
}

.elementor-field-group-choix .elementor-field-option {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-field-group-choix .elementor-field-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.elementor-field-group-choix .elementor-field-option label {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding: 12px 32px;
  border-radius: 10px;
  background-color: transparent !important;
  color: #003acb !important;
  box-shadow: inset 0 0 0 1px #003acb;
  font-family: "Albert Sans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.elementor-field-group-choix .elementor-field-option label:hover,
.elementor-field-group-choix
  .elementor-field-option
  input:checked
  + label {
  background-color: #003acb !important;
  color: #fff !important;
}

.elementor-field-group-choix
  .elementor-field-option
  input:focus-visible
  + label {
  outline: 2px solid #003acb;
  outline-offset: 3px;
}

/* Placeholder des champs */
.elementor-field-group .elementor-field::placeholder {
  color: #8a8a8a;
  opacity: 1;
  font-family: "Albert Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
}

/* =====================================================
   CARTES OFFRE
   ===================================================== */

.carte-offre .elementor-widget-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.carte-offre ul {
  margin: 0;
  padding-left: 18px;
  font-size: 16px;
}

/* =====================================================
   CARROUSEL HORS DU CONTENEUR BOXED
   ===================================================== */

@media (min-width: 1141px) {
  .section-carrousel {
    overflow-x: clip;
  }

  .zone-carrousel {
    width: calc(100% + (100vw - 1140px) / 2);
    max-width: none;
  }
}

@media (max-width: 1140px) {
  .zone-carrousel {
    width: calc(100% + 2rem);
  }
}

@media (max-width: 767px) {
  .zone-carrousel {
    width: calc(100% + 1rem);
  }
}

/* Trois cartes entières et un aperçu de la quatrième */
.zone-carrousel .swiper {
  overflow: visible;
}

.zone-carrousel .swiper-slide {
  width: calc((100% - 2 * 24px) / 3.3) !important;
  margin-right: 24px !important;
}

@media (max-width: 1024px) {
  .zone-carrousel .swiper-slide {
    width: calc((100% - 24px) / 2.2) !important;
  }
}

@media (max-width: 767px) {
  .zone-carrousel .swiper-slide {
    width: calc(100% / 1.2) !important;
  }
}

/* Flèches natives cachées */
.zone-carrousel .elementor-swiper-button {
  display: none !important;
}

.fleche-prev,
.fleche-next {
  cursor: pointer;
}

/* =====================================================
   CARTES AVEC EFFET AU SURVOL
   ===================================================== */

.carte-hover {
  position: relative;
  border-radius: 10px;
  transition: box-shadow 0.3s ease;
}

.carte-hover > *:not(.carte-overlay) {
  transition: filter 0.3s ease;
}

.carte-hover:hover > *:not(.carte-overlay),
.carte-hover:focus-within > *:not(.carte-overlay) {
  filter: blur(3px);
}

.carte-hover:hover {
  box-shadow: 0 8px 30px rgba(0, 58, 203, 0.15);
}

.carte-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.carte-hover:hover .carte-overlay,
.carte-hover:focus-within .carte-overlay {
  opacity: 1;
  pointer-events: auto;
}

@media (hover: none) {
  .carte-hover:hover > *:not(.carte-overlay) {
    filter: none;
  }

  .carte-overlay {
    display: none;
  }
}

.carte-overlay
  .elementor-widget-button.btn-plein
  .elementor-button:hover,
.carte-overlay
  .elementor-widget-button.btn-plein
  .elementor-button:focus {
  background-color: #fff !important;
  color: #003acb;
}

/* =====================================================
   MUR DE LOGOS
   ===================================================== */

.logos-wall .gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 48px 56px;
}

.logos-wall .gallery-item {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.logos-wall .gallery-item img {
  width: 64px;
  max-width: none;
  height: 44px;
  object-fit: contain;
}

@media (max-width: 767px) {
  .logos-wall .gallery {
    gap: 20px;
  }

  .logos-wall .gallery-item img {
    height: 18px;
  }
}

/* =====================================================
   POPUPS
   ===================================================== */

.elementor-popup-modal .dialog-close-button:focus,
.elementor-popup-modal .dialog-close-button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}/* End custom CSS */