.elementor-kit-9{--e-global-color-primary:#500227;--e-global-color-secondary:#A1BFF3;--e-global-color-text:#38011C;--e-global-color-accent:#500227;--e-global-color-51ff0f9:#FFFFFF;--e-global-color-c88f7bb:#464152;--e-global-color-f8ebaec:#EFE6D7;--e-global-typography-primary-font-family:"ogg";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"neue-haas-grotesk-text";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"neue-haas-grotesk-text";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:22px;--e-global-typography-accent-font-family:"ogg";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-text );font-family:"neue-haas-grotesk-text", Sans-serif;font-size:15px;line-height:20px;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 a{color:var( --e-global-color-text );text-decoration:underline;}.elementor-kit-9 a:hover{color:var( --e-global-color-primary );}.elementor-kit-9 h1{color:var( --e-global-color-primary );font-family:"ogg", Sans-serif;font-size:48px;line-height:54px;letter-spacing:0px;}.elementor-kit-9 h2{color:var( --e-global-color-primary );font-family:"ogg", Sans-serif;font-size:48px;font-weight:500;line-height:54px;}.elementor-kit-9 h3{font-family:"ogg", Sans-serif;font-size:36px;font-weight:500;line-height:55px;}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{font-family:"neue-haas-grotesk-text", Sans-serif;font-size:15px;font-weight:500;}.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 .site-branding{flex-direction:column;align-items:stretch;}.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-9 h2{font-size:35px;line-height:1.5em;}.elementor-kit-9 h3{font-size:25px;line-height:1.3em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-9 h1{font-size:35px;}.elementor-kit-9 h2{font-size:30px;}.elementor-kit-9 h3{font-size:22px;line-height:1.3em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ── BASE : appliqué à tous les boutons par défaut (Noirs) ── */
.elementor-button {
  position: relative;
  padding: 15px 20px;
  letter-spacing: 0.03em;
  font-family: "neue-haas-grotesk-text", sans-serif !important;
  font-weight: 400;
  cursor: pointer;
  border: 1px solid #fff !important;
  border-radius: 50px !important;
  background-color: #000 !important; /* Le fond reste statique */
  background-image: none !important;
  overflow: hidden;
  transition: color 0.8s ease !important;
  z-index: 1;
  display: inline-block;
  outline: none;
  text-decoration: none !important;
  box-shadow: none !important;
  color: #fff !important; /* Sécurise la couleur initiale */
}

/* Sécurise les balises enfants (spans Elementor) */
.elementor-button .elementor-button-text,
.elementor-button .elementor-button-icon i,
.elementor-button .elementor-button-icon svg {
  color: inherit !important;
  fill: inherit !important;
  transition: color 0.8s ease, fill 0.8s ease !important;
}

/* Pseudo-élément commun : calque blanc  */
.elementor-button::before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  background-color: #fff;
  transition: transform 0.8s ease, border-radius 0.8s ease !important;
  z-index: -1;
  transform: translateX(-100%);
  border-radius: 0 50px 50px 0;
}

/* Hover par défaut (Noir -> Blanc) */
.elementor-button:hover {
  color: #000 !important;
}
.elementor-button:hover::before {
  transform: translateX(0);
  border-radius: 50px;
}

/* ── SECONDARY (Blancs -> Noirs) ── */
/* Fix : Le vrai fond est noir. Le ::before blanc recouvre tout par défaut. */
.btn-secondary .elementor-button {
  color: #000 !important;
  background-color: #000 !important; /* Fond de destination */
}
.btn-secondary .elementor-button::before {
  transform: translateX(0);
  border-radius: 50px;
  background-color: #fff;
}
.btn-secondary .elementor-button:hover {
  color: #fff !important;
}
/* Au survol, le calque blanc glisse à droite et révèle le fond noir */
.btn-secondary .elementor-button:hover::before {
  transform: translateX(100%);
  border-radius: 50px 0 0 50px;
}

/* ── TRANSPARENT (Transparents -> Blancs) ── */
.transparent .elementor-button {
  background-color: transparent !important;
  border: 1px solid #fff !important;
  color: #fff !important;
}
.transparent .elementor-button::before {
  transform: translateX(-100%);
  border-radius: 0 50px 50px 0;
  background-color: #fff;
}
.transparent .elementor-button:hover {
  color: #000 !important; /* Remplacement du #38011C (bordeaux) par du noir */
}
.transparent .elementor-button:hover::before {
  transform: translateX(0);
  border-radius: 50px;
}/* End custom CSS */