.elementor-3351 .elementor-element.elementor-element-279a4ee{--display:flex;}.elementor-3351 .elementor-element.elementor-element-a0c89fc{--display:flex;}.elementor-3351 .elementor-element.elementor-element-d1f8557{--display:flex;}/* Start custom CSS for shortcode, class: .elementor-element-42fde53 */@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  --mpf-orange: #FF5F00;
  --mpf-orange-light: #FF8700;
  --mpf-glow: rgba(255, 95, 0, 0.25);
  --mpf-dark-bg: #0B0E14;
  --mpf-panel-bg: #131722;
  --mpf-card-bg: rgba(255, 255, 255, 0.03);
  --mpf-border: rgba(255, 255, 255, 0.08);
  --mpf-text: #F3F4F6;
  --mpf-muted: #9CA3AF;
}

/* CONTENEUR PRINCIPAL SPLIT SCREEN */
.mpf-split-container {
  display: grid !important;
  grid-template-columns: 320px 1fr !important;
  max-width: 960px;
  margin: 20px auto;
  background: var(--mpf-panel-bg);
  border: 1px solid var(--mpf-border);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6);
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: var(--mpf-text);
  box-sizing: border-box;
}

/* SIDEBAR FIXE (GAUCHE) */
.mpf-sidebar {
  background: linear-gradient(180deg, #161B26 0%, #0D111A 100%);
  padding: 36px 28px;
  border-right: 1px solid var(--mpf-border);
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  position: relative;
}

.mpf-brand-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--mpf-orange);
  background: rgba(255, 95, 0, 0.1);
  padding: 6px 12px;
  border-radius: 20px;
  width: fit-content;
  margin-bottom: 20px;
}

.mpf-sidebar-title {
  font-size: 22px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3;
  margin: 0 0 12px 0;
}

.mpf-sidebar-desc {
  font-size: 13px;
  color: var(--mpf-muted);
  line-height: 1.5;
  margin-bottom: 28px;
  font-weight: 300;
}

/* RASSURANCE & AVANTAGES */
.mpf-benefits-list {
  list-style: none;
  padding: 0;
  margin: 0 0 30px 0;
}

.mpf-benefits-list li {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
  font-size: 12px;
  color: #E5E7EB;
  margin-bottom: 14px;
  font-weight: 500;
}

.mpf-check-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(255, 95, 0, 0.15);
  color: var(--mpf-orange);
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px;
  flex-shrink: 0;
}

/* MINI-PROGRESSION SIDEBAR */
.mpf-side-progress {
  background: rgba(255, 255, 255, 0.03);
  padding: 16px;
  border-radius: 16px;
  border: 1px solid var(--mpf-border);
}

.mpf-progress-text {
  display: flex !important;
  justify-content: space-between !important;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 8px;
}

.mpf-progress-bar-bg {
  height: 6px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  overflow: hidden;
}

.mpf-progress-bar-fill {
  height: 100%;
  width: 25%;
  background: linear-gradient(90deg, var(--mpf-orange), var(--mpf-orange-light));
  border-radius: 10px;
  transition: width 0.4s ease;
  box-shadow: 0 0 10px var(--mpf-orange);
}

/* ZONE DYNAMIQUE (DROITE) */
.mpf-main-content {
  padding: 40px 36px;
  background: var(--mpf-dark-bg);
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.mpf-panel {
  display: none;
  animation: mpfFadeIn 0.35s ease forwards;
}

.mpf-panel.active {
  display: block;
}

@keyframes mpfFadeIn {
  from { opacity: 0; transform: translateX(10px); }
  to { opacity: 1; transform: translateX(0); }
}

.mpf-panel-header {
  margin-bottom: 28px;
}

.mpf-step-title {
  font-size: 20px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 6px 0;
}

.mpf-step-sub {
  font-size: 13px;
  color: var(--mpf-muted);
  margin: 0;
  font-weight: 300;
}

/* CARTES ET OPTIONS DE CHOIX (2X2) */
.mpf-grid-options {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px;
  margin-bottom: 28px;
}

.mpf-card-select {
  background: var(--mpf-card-bg);
  border: 1px solid var(--mpf-border);
  border-radius: 14px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.25s ease;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 110px;
  box-sizing: border-box;
}

.mpf-card-select:hover {
  border-color: rgba(255, 95, 0, 0.4);
  background: rgba(255, 255, 255, 0.05);
  transform: translateY(-2px);
}

.mpf-card-select.active {
  border-color: var(--mpf-orange);
  background: rgba(255, 95, 0, 0.08);
  box-shadow: 0 0 20px var(--mpf-glow);
}

.mpf-card-icon {
  font-size: 20px;
  margin-bottom: 10px;
}

.mpf-card-name {
  font-size: 13px;
  font-weight: 600;
  color: #FFFFFF;
  margin-bottom: 4px;
}

.mpf-card-subtext {
  font-size: 11px;
  color: var(--mpf-muted);
  font-weight: 300;
  line-height: 1.3;
}

/* FORMULAIRES */
.mpf-form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px;
  margin-bottom: 16px;
}

.mpf-group {
  margin-bottom: 16px;
}

.mpf-label-txt {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--mpf-muted);
  margin-bottom: 6px;
}

.mpf-split-container input[type="text"],
.mpf-split-container input[type="email"],
.mpf-split-container input[type="tel"],
.mpf-split-container input[type="date"],
.mpf-split-container select {
  width: 100% !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--mpf-border) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  color: #FFFFFF !important;
  font-family: inherit !important;
  font-size: 13px !important;
  outline: none !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;
}

.mpf-split-container select option {
  background: #131722;
  color: #FFFFFF;
}

.mpf-split-container input:focus,
.mpf-split-container select:focus {
  border-color: var(--mpf-orange) !important;
  box-shadow: 0 0 12px var(--mpf-glow) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

/* NAVIGATION & CENTRAGE BOUTONS */
.mpf-nav-bar {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px;
  margin-top: 24px;
}

.mpf-btn-back {
  background: transparent;
  border: 1px solid var(--mpf-border);
  color: var(--mpf-muted);
  padding: 10px 22px;
  border-radius: 30px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.25s ease;
}

.mpf-btn-back:hover {
  color: #FFFFFF;
  border-color: rgba(255, 255, 255, 0.3);
}

.mpf-btn-next,
.mpf-btn-submit {
  background: linear-gradient(135deg, var(--mpf-orange), var(--mpf-orange-light));
  border: none;
  color: #FFFFFF !important;
  padding: 12px 28px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 4px 15px var(--mpf-glow);
}

.mpf-btn-next:hover,
.mpf-btn-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 95, 0, 0.4);
}

/* CARTUCHE DE RÉCAPITULATIF (ÉTAPE 4) */
.mpf-recap-box {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--mpf-border);
  border-radius: 14px;
  padding: 18px;
  margin-bottom: 20px;
}

.mpf-recap-item {
  display: flex !important;
  justify-content: space-between !important;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  font-size: 12px;
}

.mpf-recap-item:last-child { border-bottom: none; }
.mpf-recap-key { color: var(--mpf-muted); }
.mpf-recap-val { color: #FFFFFF; font-weight: 600; }

/* ==========================================
   AJUSTEMENTS DU CENTRAGE MOBILE (MAX-WIDTH: 820PX)
   ========================================== */
@media (max-width: 820px) {
  .mpf-split-container {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .mpf-sidebar {
    border-right: none;
    border-bottom: 1px solid var(--mpf-border);
    padding: 28px 20px;
    align-items: center !important;
    text-align: center !important;
  }

  .mpf-brand-badge {
    margin: 0 auto 16px auto !important;
  }

  .mpf-sidebar-title,
  .mpf-sidebar-desc {
    text-align: center !important;
  }

  .mpf-benefits-list {
    display: inline-block !important;
    text-align: left !important;
    margin: 0 auto 24px auto !important;
  }

  .mpf-side-progress {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .mpf-main-content {
    padding: 28px 20px;
  }

  .mpf-panel-header {
    text-align: center !important;
  }

  .mpf-step-title,
  .mpf-step-sub {
    text-align: center !important;
  }

  .mpf-grid-options {
    grid-template-columns: 1fr !important;
  }

  .mpf-card-select {
    align-items: center !important;
    text-align: center !important;
  }

  .mpf-card-icon {
    margin-bottom: 8px !important;
  }

  .mpf-form-row {
    grid-template-columns: 1fr !important;
    gap: 0;
  }

  .mpf-group {
    text-align: center !important;
  }

  .mpf-label-txt {
    text-align: center !important;
  }

  .mpf-split-container input[type="text"],
  .mpf-split-container input[type="email"],
  .mpf-split-container input[type="tel"],
  .mpf-split-container input[type="date"],
  .mpf-split-container select {
    text-align: center !important;
  }

  .mpf-recap-item {
    flex-direction: column !important;
    gap: 4px !important;
    text-align: center !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-21881e2 */@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  --nl-primary: #FF5F00;
  --nl-primary-light: #FF8700;
  --nl-glow: rgba(255, 95, 0, 0.3);
  --nl-dark-bg: #0B0E14;
  --nl-panel-bg: #131722;
  --nl-border: rgba(255, 255, 255, 0.08);
  --nl-text: #F3F4F6;
  --nl-muted: #9CA3AF;
}

/* CONTENEUR PRINCIPAL BANNIÈRE SPLIT */
.nl-single-banner {
  display: grid !important;
  grid-template-columns: 380px 1fr !important;
  max-width: 980px;
  margin: 20px auto;
  background: var(--nl-panel-bg);
  border: 1px solid var(--nl-border);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6);
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: var(--nl-text);
  box-sizing: border-box;
}

/* BANNIÈRE VISUELLE AVEC IMAGE (GAUCHE) */
.nl-banner-img {
  background: linear-gradient(180deg, rgba(11, 14, 20, 0.3) 0%, rgba(11, 14, 20, 0.85) 100%), 
              url('https://images.unsplash.com/photo-1579273166152-d725a4e2b755?q=80&w=1000&auto=format&fit=crop') center/cover no-repeat;
  padding: 40px 32px;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-sizing: border-box;
}

.nl-brand-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #FFFFFF;
  background: var(--nl-primary);
  padding: 6px 14px;
  border-radius: 20px;
  width: fit-content;
  box-shadow: 0 4px 12px var(--nl-glow);
  margin-bottom: 24px;
}

.nl-banner-heading {
  font-size: 26px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.25;
  margin: 0 0 12px 0;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.nl-banner-text {
  font-size: 13px;
  color: #E5E7EB;
  line-height: 1.5;
  margin-bottom: 24px;
  font-weight: 300;
}

.nl-benefits-mini {
  list-style: none;
  padding: 0;
  margin: 0;
}

.nl-benefits-mini li {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  font-size: 12px;
  color: #FFFFFF;
  margin-bottom: 10px;
  font-weight: 500;
}

.nl-check {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--nl-primary);
  color: #FFFFFF;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px;
  flex-shrink: 0;
}

/* ZONE FORMULAIRE DIRECT (DROITE) */
.nl-banner-form {
  padding: 40px 36px;
  background: var(--nl-dark-bg);
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-sizing: border-box;
}

.nl-form-title {
  font-size: 22px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 6px 0;
}

.nl-form-sub {
  font-size: 13px;
  color: var(--nl-muted);
  margin: 0 0 24px 0;
  font-weight: 300;
}

.nl-field-group {
  margin-bottom: 18px;
  text-align: left;
}

.nl-label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--nl-muted);
  margin-bottom: 6px;
}

.nl-single-banner input[type="text"],
.nl-single-banner input[type="email"],
.nl-single-banner select {
  width: 100% !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--nl-border) !important;
  border-radius: 12px !important;
  padding: 13px 16px !important;
  color: #FFFFFF !important;
  font-family: inherit !important;
  font-size: 13px !important;
  outline: none !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;
}

.nl-single-banner select option {
  background: #131722;
  color: #FFFFFF;
}

.nl-single-banner input:focus,
.nl-single-banner select:focus {
  border-color: var(--nl-primary) !important;
  box-shadow: 0 0 12px var(--nl-glow) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

.nl-row-2col {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px;
}

/* BOUTON D'ENVOI CENTRÉ */
.nl-submit-wrap {
  margin-top: 10px;
  display: flex !important;
  justify-content: center !important;
}

.nl-btn-submit {
  width: 100% !important;
  max-width: 320px;
  background: linear-gradient(135deg, var(--nl-primary), var(--nl-primary-light)) !important;
  border: none !important;
  color: #FFFFFF !important;
  padding: 14px 28px !important;
  border-radius: 50px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 15px var(--nl-glow) !important;
  text-align: center !important;
}

.nl-btn-submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(255, 95, 0, 0.5) !important;
}

/* RESPONSIVE & CENTRAGE MOBILE */
@media (max-width: 820px) {
  .nl-single-banner {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .nl-banner-img {
    padding: 32px 20px;
    align-items: center !important;
    text-align: center !important;
  }

  .nl-brand-tag {
    margin: 0 auto 16px auto !important;
  }

  .nl-banner-heading,
  .nl-banner-text {
    text-align: center !important;
  }

  .nl-benefits-mini {
    display: inline-block !important;
    text-align: left !important;
  }

  .nl-banner-form {
    padding: 32px 20px;
    text-align: center !important;
  }

  .nl-form-title,
  .nl-form-sub {
    text-align: center !important;
  }

  .nl-row-2col {
    grid-template-columns: 1fr !important;
    gap: 0;
  }

  .nl-field-group {
    text-align: center !important;
  }

  .nl-label {
    text-align: center !important;
  }

  .nl-single-banner input[type="text"],
  .nl-single-banner input[type="email"],
  .nl-single-banner select {
    text-align: center !important;
  }
}/* End custom CSS */