.elementor-kit-2947{--e-global-color-primary:#180F93;--e-global-color-secondary:#42A3FD;--e-global-color-text:#0F172A;--e-global-color-accent:#FF0099;--e-global-color-2e53996:#F8FAFC;--e-global-color-3538cd0:#FFFFFF;--e-global-color-4847e47:#000000;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Bricolage Grotesque";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Work Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Work Sans";--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-primary );}.elementor-kit-2947 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);}@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;--container-default-padding-top:0rem;--container-default-padding-right:1rem;--container-default-padding-bottom:0rem;--container-default-padding-left:1rem;}}/* Start custom CSS *//* ====================================
   VARIABLES GLOBALES
   ==================================== */
:root {
  /* Couleurs */
  --rose-primary: #ff0099;
  --bleu-fonce: #180f93;
  --blanc: #ffffff;

  /* Layout */
  --padding-btn: 1rem 2rem;
  --padding-section: 7rem 1.5rem;
  --radius-base: 1rem;

  /* Transitions */
  --transition-btn: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-smooth: all 0.3s ease;

  /* Angles */
  --gradient-angle: 170deg;

  /* Glass */
  --glass-border: 1px solid rgba(255, 255, 255, 0.14);
  --glass-bg: rgba(255, 255, 255, 0.08);
  --glass-blur: blur(12px) saturate(140%);

  /* Gradients boutons */
  --grad-rose: linear-gradient(var(--gradient-angle), #ff1a9f 0%, var(--rose-primary) 50%, #e6008a 100%);
  --grad-rose-hover: linear-gradient(var(--gradient-angle), #ff2aa8 0%, #ff0da1 50%, #f00092 100%);

  --grad-bleu: linear-gradient(var(--gradient-angle), #2515a8 0%, var(--bleu-fonce) 50%, #130c7a 100%);
  --grad-bleu-hover: linear-gradient(var(--gradient-angle), #2f1bb5 0%, #1d129e 50%, #180f93 100%);

  --grad-glass: linear-gradient(
    var(--gradient-angle),
    rgba(255, 255, 255, 0.18) 0%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.04) 100%
  );
  --grad-glass-hover: linear-gradient(var(--gradient-angle), #fff 0%, rgba(255, 255, 255, 0.98) 50%, rgba(255, 255, 255, 0.95) 100%);

  /* Ombres */
  --shadow-rose: 0 8px 32px rgba(255, 0, 153, 0.2), 0 2px 8px rgba(255, 0, 153, 0.12), inset 0 1px 2px rgba(255, 255, 255, 0.25);
  --shadow-rose-hover: 0 12px 40px rgba(255, 0, 153, 0.25), 0 4px 12px rgba(255, 0, 153, 0.15), inset 0 1px 3px rgba(255, 255, 255, 0.3);
  --shadow-rose-active: 0 4px 16px rgba(255, 0, 153, 0.18), 0 1px 6px rgba(255, 0, 153, 0.1), inset 0 1px 2px rgba(255, 255, 255, 0.2);

  --shadow-bleu: 0 8px 32px rgba(24, 15, 147, 0.2), 0 2px 8px rgba(24, 15, 147, 0.12), inset 0 1px 2px rgba(255, 255, 255, 0.2);
  --shadow-bleu-hover: 0 12px 40px rgba(24, 15, 147, 0.25), 0 4px 12px rgba(24, 15, 147, 0.15), inset 0 1px 3px rgba(255, 255, 255, 0.25);
  --shadow-bleu-active: 0 4px 16px rgba(24, 15, 147, 0.18), 0 1px 6px rgba(24, 15, 147, 0.1), inset 0 1px 2px rgba(255, 255, 255, 0.15);

  --shadow-glass: 0 6px 24px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04), inset 0 1px 2px rgba(255, 255, 255, 0.15);
  --shadow-glass-hover: 0 10px 32px rgba(0, 0, 0, 0.1), 0 4px 10px rgba(0, 0, 0, 0.06), inset 0 1px 3px rgba(24, 15, 147, 0.08);
  --shadow-glass-active: 0 4px 16px rgba(0, 0, 0, 0.08), 0 1px 6px rgba(0, 0, 0, 0.04), inset 0 1px 2px rgba(24, 15, 147, 0.05);
}

/* ====================================
   RESET & BASE
   ==================================== */
body {
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

::selection {
  background-color: var(--rose-primary);
  color: var(--blanc);
}

/* ====================================
   LAYOUT - SECTIONS
   ==================================== */
section {
  padding: var(--padding-section);
}

section:first-of-type {
  padding: inherit;
}

@media (max-width: 1024px) {
  section {
    padding: 1.5rem 2rem;
  }

  section:last-of-type {
    padding: 2rem 2rem 4rem;
  }

  section:first-of-type {
    padding: inherit;
  }
}

/* ====================================
   MARQUEE / BANDEAU
   ==================================== */
.marquee-container {
  background-color: var(--rose-primary);
  overflow: hidden;
  height: 50px;
  display: flex;
  align-items: center;
  box-shadow: 0 4px 24px rgba(255, 0, 153, 0.3);
}

.marquee {
  display: flex;
  white-space: nowrap;
  animation: marquee 10s linear infinite;
}

.marquee-content {
  font-size: 1.2em;
  color: var(--blanc);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding-right: 2em;
}

.marquee-reverse .marquee {
  animation-direction: reverse;
}

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ====================================
   GLASS - BASE
   ==================================== */
.glass {
  color: rgba(255, 255, 255, 0.95);
  background: var(--glass-bg);
  background-image: linear-gradient(
    var(--gradient-angle),
    rgba(255, 255, 255, 0.22) 0%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.04) 100%
  );
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15), 0 2px 6px rgba(0, 0, 0, 0.08), inset 0 1px 3px rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-base);
  padding: var(--padding-btn);
  display: flex;
}

/* ====================================
   CARD GLASS
   ==================================== */
.sc-card-glass {
  background: rgba(241, 245, 249, 0.5);
  background-image: linear-gradient(
    var(--gradient-angle),
    rgba(255, 255, 255, 0.5) 0%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(241, 245, 249, 0.5) 100%
  );
  backdrop-filter: blur(1px) saturate(140%);
  -webkit-backdrop-filter: blur(1px) saturate(140%);
  border: 1px solid rgba(241, 245, 249, 1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.04), 0 2px 8px rgba(0, 0, 0, 0.01), inset 0 1px 2px rgba(255, 255, 255, 0.6);
  border-radius: var(--radius-base);
  padding: 2rem;
  transition: var(--transition-smooth);
}

.sc-card-glass:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(0, 0, 0, 0.06), inset 0 1px 2px rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.5);
}

.sc-card-glass.no-hover:hover {
  transform: none;
}

.sc-card-white {
  background: rgba(255, 255, 255, 0.8);
  background-image: linear-gradient(
    var(--gradient-angle),
    rgba(255, 255, 255, 0.5) 0%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(241, 245, 249, 0.5) 100%
  );
  backdrop-filter: blur(1px) saturate(140%);
  -webkit-backdrop-filter: blur(1px) saturate(140%);
  border: 1px solid rgba(241, 245, 249, 1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.04), 0 2px 8px rgba(0, 0, 0, 0.01), inset 0 1px 2px rgba(255, 255, 255, 0.6);
  border-radius: var(--radius-base);
  padding: 2rem;
  transition: var(--transition-smooth);
}

.sc-card-white:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(0, 0, 0, 0.06), inset 0 1px 2px rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.5);
}

.sc-card-white.no-hover:hover {
  transform: none;
}

/* ====================================
   BOUTONS - BASE COMMUNE
   ==================================== */
a.elementor-button,
.e-search-submit,
.sc-btn-primary a,
.sc-btn-offer-primary a,
.sc-btn-offer-secondary a,
.sc-btn-glass a,
.ehp-button {
  display: inline-block;
  padding: var(--padding-btn);
  border-radius: var(--radius-base);
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: var(--transition-btn);
}

/* Focus clavier */
a.elementor-button:focus-visible,
.e-search-submit:focus-visible,
.sc-btn-primary a:focus-visible,
.sc-btn-offer-primary a:focus-visible,
.sc-btn-offer-secondary a:focus-visible,
.sc-btn-glass a:focus-visible,
a:focus-visible {
  outline: 2px solid var(--blanc);
  outline-offset: 2px;
}

/* ====================================
   BOUTONS - PRIMARY (ROSE)
   ==================================== */
a.elementor-button,
.e-search-submit,
.sc-btn-primary a,
.sc-btn-offer-primary a,
.ehp-button {
  color: rgba(255, 255, 255, 0.98);
  background: var(--grad-rose);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: var(--shadow-rose);
}

a.elementor-button:hover,
.e-search-submit:hover,
.sc-btn-primary a:hover,
.sc-btn-offer-primary a:hover,
.ehp-button:hover {
  background: var(--grad-rose-hover);
  box-shadow: var(--shadow-rose-hover);
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.45);
}

a.elementor-button:active,
.e-search-submit:active,
.sc-btn-primary a:active,
.sc-btn-offer-primary a:active,
.ehp-button:active {
  transform: translateY(0);
  box-shadow: var(--shadow-rose-active);
}

/* ====================================
   BOUTONS - OFFER SECONDARY (BLEU)
   ==================================== */
.sc-btn-offer-secondary a {
  color: rgba(255, 255, 255, 0.98);
  background: var(--grad-bleu);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: var(--shadow-bleu);
}

.sc-btn-offer-secondary a:hover {
  background: var(--grad-bleu-hover);
  box-shadow: var(--shadow-bleu-hover);
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.4);
}

.sc-btn-offer-secondary a:active {
  transform: translateY(0);
  box-shadow: var(--shadow-bleu-active);
}

/* ====================================
   BOUTONS - GLASS
   ==================================== */
.sc-btn-glass a {
  color: rgba(255, 255, 255, 0.95);
  background: var(--grad-glass);
  backdrop-filter: blur(10px) saturate(130%);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: var(--shadow-glass);
}

.sc-btn-glass a:hover {
  color: var(--bleu-fonce);
  background: var(--grad-glass-hover);
  border-color: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-glass-hover);
  transform: translateY(-2px);
}

.sc-btn-glass a:active {
  transform: translateY(0);
  box-shadow: var(--shadow-glass-active);
}

/* ====================================
   BOUTON SECONDARY (LEGACY)
   ==================================== */
.sc-button-second a {
  background-color: transparent;
  border: 2px solid var(--rose-primary);
  color: var(--rose-primary);
}

.sc-button-second a:hover {
  background-color: var(--rose-primary);
  border-color: var(--rose-primary);
  color: var(--blanc);
  box-shadow: none;
}

/* Glow */
.sc-glow-rose a:hover,
.sc-glow-rose button:hover:not(:disabled) {
  box-shadow: 0 2px 20px rgba(255, 0, 153, 0.4);
}

/* ====================================
   ACCORDEON FAQ
   ==================================== */
.e-n-accordion-item summary.e-n-accordion-item-title {
  padding: 1rem 2rem;
  overflow: hidden;
  transition: var(--transition-smooth);

  background: rgba(241, 245, 249, 0.5);
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.5) 0%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(241, 245, 249, 0.5) 100%
  );

  border: 1px solid rgba(241, 245, 249, 1);

  backdrop-filter: blur(1px) saturate(140%);
  -webkit-backdrop-filter: blur(1px) saturate(140%);

  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.04), 0 2px 8px rgba(0, 0, 0, 0.01), inset 0 1px 2px rgba(255, 255, 255, 0.6);
}

.e-n-accordion-item:hover .e-n-accordion-item-title {
  transform: translateY(-1px);
  background: var(--grad-rose);
  border-color: rgba(255, 255, 255, 0.45);
  box-shadow: var(--shadow-rose-hover);
}

.e-n-accordion-item:hover .e-n-accordion-item-title-text {
  color: var(--blanc);
}

.e-n-accordion-item[open] .e-n-accordion-item-title {
  border-color: rgba(255, 0, 153, 0.3);
  border-radius: 1rem 1rem 0 0;
  background-image: none !important;
}

.e-n-accordion-item-title-text {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--bleu-fonce);
  transition: var(--transition-smooth);
}

.e-n-accordion-item[open] .e-n-accordion-item-title-text {
  color: var(--rose-primary);
}

.e-n-accordion-item[open] > div[role="region"] {
  padding: 1rem;
  background: rgba(255, 255, 255, 0.8);
  background-image: linear-gradient(
    var(--gradient-angle),
    rgba(255, 255, 255, 0.22) 0%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.04) 100%
  );
  backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  border: var(--glass-border);
}

.e-n-accordion-item[open] > div[role="region"] p {
  margin-bottom: 1rem;
  line-height: 1.7;
}

.e-n-accordion-item[open] > div[role="region"] p:last-child {
  margin-bottom: 0;
}

.e-n-accordion-item-title:focus-visible {
  outline: 2px solid var(--rose-primary);
  outline-offset: 2px;
}

@media (max-width: 768px) {
  .e-n-accordion-item-title {
    padding: 1.25rem 1.5rem;
  }

  .e-n-accordion-item[open] > div[role="region"] {
    padding: 1.5rem;
  }

  .e-n-accordion-item-title-text {
    font-size: 1.1rem;
  }
}

/* ====================================
   ANIMATIONS
   ==================================== */
@keyframes jelly {
  0% { transform: scale3d(1, 1, 1); }
  30% { transform: scale3d(1.25, 0.75, 1); }
  40% { transform: scale3d(0.75, 1.25, 1); }
  50% { transform: scale3d(1.15, 0.85, 1); }
  65% { transform: scale3d(0.95, 1.05, 1); }
  75% { transform: scale3d(1.05, 0.95, 1); }
  100% { transform: scale3d(1, 1, 1); }
}

/* ====================================
   ACCESSIBILITÉ - REDUCED MOTION
   ==================================== */
@media (prefers-reduced-motion: reduce) {
  html:focus-within,
  body {
    scroll-behavior: auto;
  }

  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}/* End custom CSS */