.elementor-4136 .elementor-element.elementor-element-33e3697{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4136 .elementor-element.elementor-element-33e3697:not(.elementor-motion-effects-element-type-background), .elementor-4136 .elementor-element.elementor-element-33e3697 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#00915A;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-4136 .elementor-element.elementor-element-1c7c915{padding:2% 2% 2% 2%;}.elementor-4136 .elementor-element.elementor-element-1c7c915 .elementor-heading-title{font-family:"Epilogue", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-4136 .elementor-element.elementor-element-a3e22a4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;}.elementor-4136 .elementor-element.elementor-element-41e5c33{--display:flex;}.elementor-4136 .elementor-element.elementor-element-a1df14d .elementor-heading-title{font-family:"Epilogue", Sans-serif;font-weight:600;color:#00915A;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-4136 .elementor-element.elementor-element-9a7abe1{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-4136 .elementor-element.elementor-element-8388638{--display:flex;--margin-top:30px;--margin-bottom:30px;--margin-left:30px;--margin-right:30px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-4136 .elementor-element.elementor-element-8388638:not(.elementor-motion-effects-element-type-background), .elementor-4136 .elementor-element.elementor-element-8388638 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#00915A;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-4136 .elementor-element.elementor-element-869c492 .elementor-icon-box-wrapper{gap:15px;}.elementor-4136 .elementor-element.elementor-element-869c492.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-4136 .elementor-element.elementor-element-869c492.elementor-view-framed .elementor-icon, .elementor-4136 .elementor-element.elementor-element-869c492.elementor-view-default .elementor-icon{fill:#FFFFFF;color:#FFFFFF;border-color:#FFFFFF;}.elementor-4136 .elementor-element.elementor-element-869c492 .elementor-icon-box-title, .elementor-4136 .elementor-element.elementor-element-869c492 .elementor-icon-box-title a{font-family:"Epilogue", Sans-serif;font-weight:600;}.elementor-4136 .elementor-element.elementor-element-869c492 .elementor-icon-box-title{color:#FFFFFF;}.elementor-4136 .elementor-element.elementor-element-869c492:has(:hover) .elementor-icon-box-title,
					 .elementor-4136 .elementor-element.elementor-element-869c492:has(:focus) .elementor-icon-box-title{color:#000000;}.elementor-4136 .elementor-element.elementor-element-869c492 .elementor-icon-box-description{color:#000000;}.elementor-4136 .elementor-element.elementor-element-ddcc025{--display:flex;--margin-top:30px;--margin-bottom:30px;--margin-left:30px;--margin-right:30px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-4136 .elementor-element.elementor-element-ddcc025:not(.elementor-motion-effects-element-type-background), .elementor-4136 .elementor-element.elementor-element-ddcc025 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#00915A;}.elementor-4136 .elementor-element.elementor-element-7f9ceed .elementor-icon-box-wrapper{gap:15px;}.elementor-4136 .elementor-element.elementor-element-7f9ceed.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-4136 .elementor-element.elementor-element-7f9ceed.elementor-view-framed .elementor-icon, .elementor-4136 .elementor-element.elementor-element-7f9ceed.elementor-view-default .elementor-icon{fill:#FFFFFF;color:#FFFFFF;border-color:#FFFFFF;}.elementor-4136 .elementor-element.elementor-element-7f9ceed .elementor-icon-box-title, .elementor-4136 .elementor-element.elementor-element-7f9ceed .elementor-icon-box-title a{font-family:"Epilogue", Sans-serif;font-weight:600;}.elementor-4136 .elementor-element.elementor-element-7f9ceed .elementor-icon-box-title{color:#FFFFFF;}.elementor-4136 .elementor-element.elementor-element-7f9ceed:has(:hover) .elementor-icon-box-title,
					 .elementor-4136 .elementor-element.elementor-element-7f9ceed:has(:focus) .elementor-icon-box-title{color:#000000;}.elementor-4136 .elementor-element.elementor-element-7f9ceed .elementor-icon-box-description{color:#000000;}@media(min-width:768px){.elementor-4136 .elementor-element.elementor-element-41e5c33{--width:50%;}.elementor-4136 .elementor-element.elementor-element-9a7abe1{--width:50%;}}@media(max-width:1024px){.elementor-4136 .elementor-element.elementor-element-9a7abe1{--padding-top:030px;--padding-bottom:030px;--padding-left:030px;--padding-right:030px;}.elementor-4136 .elementor-element.elementor-element-8388638{--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-4136 .elementor-element.elementor-element-ddcc025{--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}}@media(max-width:767px){.elementor-4136 .elementor-element.elementor-element-8388638{--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-4136 .elementor-element.elementor-element-ddcc025{--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS for container, class: .elementor-element-a3e22a4 *//* ============================================================
   MANGROVE ONLINE — Contact Page & CF7 Professional Styles
   Copiez ce CSS dans : Apparence > Personnaliser > CSS additionnel
   OU dans Elementor > Custom CSS de la page Contact
   ============================================================ */

/* ---- Variables de marque ---- */
:root {
  --mg-green:        #1D9E75;
  --mg-green-dark:   #0F6E56;
  --mg-green-deeper: #085041;
  --mg-green-light:  #E1F5EE;
  --mg-green-mid:    #9FE1CB;
  --mg-white:        #ffffff;
  --mg-gray-light:   #F7F8F6;
  --mg-gray:         #888780;
  --mg-gray-dark:    #444441;
  --mg-text:         #1a1a1a;
  --mg-radius:       10px;
  --mg-radius-lg:    16px;
  --mg-shadow:       0 4px 24px rgba(15, 110, 86, 0.10);
  --mg-shadow-focus: 0 0 0 3px rgba(29, 158, 117, 0.25);
  --mg-transition:   0.22s cubic-bezier(0.4, 0, 0.2, 1);
  --mg-font:         'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}

/* ============================================================
   SECTION PRINCIPALE — fond subtil et espacement amélioré
   ============================================================ */
.elementor-element-a3e22a4 {
  background: linear-gradient(135deg, #f0faf6 0%, #ffffff 60%, #e8f7f2 100%) !important;
  padding: 80px 0 100px !important;
  position: relative;
}

.elementor-element-a3e22a4::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--mg-green-light), var(--mg-green), var(--mg-green-dark));
}

/* ============================================================
   TITRE "Question?"
   ============================================================ */
.elementor-element-a1df14d .elementor-heading-title {
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: var(--mg-green-dark) !important;
  letter-spacing: -0.03em;
  margin-bottom: 8px !important;
  line-height: 1.15;
  position: relative;
  display: inline-block;
}

.elementor-element-a1df14d .elementor-heading-title::after {
  content: '';
  display: block;
  width: 48px;
  height: 4px;
  background: var(--mg-green);
  border-radius: 2px;
  margin-top: 12px;
}

/* ============================================================
   WRAPPER DU FORMULAIRE CF7
   ============================================================ */
.wpcf7 {
  background: var(--mg-white);
  border-radius: var(--mg-radius-lg);
  padding: 40px 44px !important;
  box-shadow: var(--mg-shadow);
  border: 1px solid rgba(29, 158, 117, 0.10);
  position: relative;
  overflow: hidden;
  font-family: var(--mg-font);
}

.wpcf7::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: linear-gradient(180deg, var(--mg-green), var(--mg-green-dark));
  border-radius: var(--mg-radius-lg) 0 0 var(--mg-radius-lg);
}

/* ============================================================
   LABELS
   ============================================================ */
.wpcf7 label {
  display: block;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--mg-gray-dark) !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 6px;
  font-family: var(--mg-font) !important;
}

.wpcf7 p {
  margin-bottom: 22px !important;
}

.wpcf7 p:last-child {
  margin-bottom: 0 !important;
}

/* ============================================================
   CHAMPS INPUT, EMAIL, TEXT
   ============================================================ */
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-textarea {
  width: 100% !important;
  padding: 13px 16px !important;
  font-size: 15px !important;
  font-family: var(--mg-font) !important;
  color: var(--mg-text) !important;
  background: var(--mg-gray-light) !important;
  border: 1.5px solid #dde8e4 !important;
  border-radius: var(--mg-radius) !important;
  outline: none !important;
  transition: border-color var(--mg-transition), background var(--mg-transition), box-shadow var(--mg-transition) !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  line-height: 1.5 !important;
}

.wpcf7-form-control.wpcf7-text:hover,
.wpcf7-form-control.wpcf7-email:hover,
.wpcf7-form-control.wpcf7-textarea:hover {
  border-color: var(--mg-green-mid) !important;
  background: #ffffff !important;
}

.wpcf7-form-control.wpcf7-text:focus,
.wpcf7-form-control.wpcf7-email:focus,
.wpcf7-form-control.wpcf7-textarea:focus {
  border-color: var(--mg-green) !important;
  background: #ffffff !important;
  box-shadow: var(--mg-shadow-focus) !important;
}

/* Textarea */
.wpcf7-form-control.wpcf7-textarea {
  min-height: 140px !important;
  resize: vertical !important;
}

/* ============================================================
   ÉTATS DE VALIDATION — erreur
   ============================================================ */
.wpcf7-not-valid {
  border-color: #e24b4a !important;
  background: #fff8f8 !important;
}

.wpcf7-not-valid:focus {
  box-shadow: 0 0 0 3px rgba(226, 75, 74, 0.20) !important;
}

.wpcf7-not-valid-tip {
  font-size: 12px !important;
  color: #a32d2d !important;
  margin-top: 5px !important;
  display: block !important;
  font-weight: 500 !important;
}

/* ============================================================
   BOUTON SEND
   ============================================================ */
.wpcf7-form-control.wpcf7-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  padding: 14px 36px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: var(--mg-font) !important;
  letter-spacing: 0.04em;
  color: #ffffff !important;
  background: var(--mg-green) !important;
  border: none !important;
  border-radius: var(--mg-radius) !important;
  cursor: pointer !important;
  transition: background var(--mg-transition), transform var(--mg-transition), box-shadow var(--mg-transition) !important;
  box-shadow: 0 4px 16px rgba(29, 158, 117, 0.30) !important;
  min-width: 160px;
  position: relative;
  overflow: hidden;
}

.wpcf7-form-control.wpcf7-submit::after {
  content: '→';
  margin-left: 4px;
  transition: transform var(--mg-transition);
}

.wpcf7-form-control.wpcf7-submit:hover {
  background: var(--mg-green-dark) !important;
  box-shadow: 0 6px 20px rgba(15, 110, 86, 0.35) !important;
  transform: translateY(-2px) !important;
}

.wpcf7-form-control.wpcf7-submit:hover::after {
  transform: translateX(3px);
}

.wpcf7-form-control.wpcf7-submit:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(29, 158, 117, 0.25) !important;
}

.wpcf7-form-control.wpcf7-submit:disabled,
.wpcf7-form-control.wpcf7-submit[data-status="submitting"] {
  opacity: 0.7 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* Spinner */
.wpcf7-spinner {
  background-color: var(--mg-white) !important;
}

/* ============================================================
   MESSAGES DE RETOUR (success / error)
   ============================================================ */
.wpcf7-response-output {
  border-radius: var(--mg-radius) !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin-top: 20px !important;
  border: none !important;
  font-family: var(--mg-font) !important;
}

.wpcf7-form.sent .wpcf7-response-output {
  background: var(--mg-green-light) !important;
  color: var(--mg-green-deeper) !important;
  border-left: 4px solid var(--mg-green) !important;
}

.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output {
  background: #FCEBEB !important;
  color: #791F1F !important;
  border-left: 4px solid #E24B4A !important;
}

/* ============================================================
   CARTES DE CONTACT (téléphone & email)
   ============================================================ */
.elementor-element-8388638,
.elementor-element-ddcc025 {
  background: var(--mg-green) !important;
  border-radius: var(--mg-radius-lg) !important;
  padding: 28px 32px !important;
  transition: transform var(--mg-transition), box-shadow var(--mg-transition) !important;
  box-shadow: 0 4px 20px rgba(15, 110, 86, 0.18) !important;
  border: none !important;
  position: relative;
  overflow: hidden;
}

.elementor-element-8388638::after,
.elementor-element-ddcc025::after {
  content: '';
  position: absolute;
  top: -30px;
  right: -30px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
  pointer-events: none;
}

.elementor-element-8388638:hover,
.elementor-element-ddcc025:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 32px rgba(15, 110, 86, 0.28) !important;
  background: var(--mg-green-dark) !important;
}

/* Icônes dans les cartes */
.elementor-element-8388638 .elementor-icon svg,
.elementor-element-ddcc025 .elementor-icon svg {
  fill: rgba(255, 255, 255, 0.90) !important;
  width: 32px !important;
  height: 32px !important;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.15));
}

/* Titres dans les cartes */
.elementor-element-8388638 .elementor-icon-box-title,
.elementor-element-ddcc025 .elementor-icon-box-title,
.elementor-element-8388638 .elementor-icon-box-title span,
.elementor-element-ddcc025 .elementor-icon-box-title span {
  color: #ffffff !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  font-family: var(--mg-font) !important;
}

/* ============================================================
   FOOTER — amélioration légère
   ============================================================ */
footer .elementor-widget-nav-menu a,
footer a {
  transition: color var(--mg-transition) !important;
}

footer a:hover {
  color: var(--mg-green-dark) !important;
}

/* ============================================================
   RESPONSIVE — tablette & mobile
   ============================================================ */
@media (max-width: 768px) {
  .wpcf7 {
    padding: 28px 22px !important;
  }

  .elementor-element-a1df14d .elementor-heading-title {
    font-size: 2.2rem !important;
  }

  .elementor-element-8388638,
  .elementor-element-ddcc025 {
    padding: 22px 24px !important;
  }

  .wpcf7-form-control.wpcf7-submit {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .wpcf7 {
    padding: 22px 16px !important;
    border-radius: 12px !important;
  }

  .elementor-element-a3e22a4 {
    padding: 50px 0 70px !important;
  }
}/* End custom CSS */