.elementor-26 .elementor-element.elementor-element-fad94e{--display:flex;--min-height:300px;--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;--justify-content:center;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--padding-top:0%;--padding-bottom:0%;--padding-left:4%;--padding-right:4%;}.elementor-26 .elementor-element.elementor-element-fad94e:not(.elementor-motion-effects-element-type-background), .elementor-26 .elementor-element.elementor-element-fad94e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCFBF8;}.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-26 .elementor-element.elementor-element-52674794{text-align:center;}.elementor-26 .elementor-element.elementor-element-52674794 .elementor-heading-title{font-size:3em;font-weight:600;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;color:#1C244B;}.elementor-26 .elementor-element.elementor-element-1ec567b4{text-align:center;}.elementor-26 .elementor-element.elementor-element-1ec567b4 .elementor-heading-title{font-size:1.1em;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:0px;color:#1C244B;}.elementor-26 .elementor-element.elementor-element-758d4abd{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:5%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-26 .elementor-element.elementor-element-758d4abd:not(.elementor-motion-effects-element-type-background), .elementor-26 .elementor-element.elementor-element-758d4abd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCFBF8;}.elementor-26 .elementor-element.elementor-element-37d9ffbf{--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;--gap:35px 35px;--row-gap:35px;--column-gap:35px;--flex-wrap:wrap;border-style:solid;--border-style:solid;border-width:1px 1px 1px 0px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:0px;border-color:#F0F0F0;--border-color:#F0F0F0;--padding-top:4em;--padding-bottom:4em;--padding-left:4em;--padding-right:4em;}.elementor-26 .elementor-element.elementor-element-7990d3e4{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:1px 0px 1px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#F0F0F0;--border-color:#F0F0F0;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-26 .elementor-element.elementor-element-7990d3e4:not(.elementor-motion-effects-element-type-background), .elementor-26 .elementor-element.elementor-element-7990d3e4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://visibilitedigitale.com/wp-content/uploads/2026/04/page-de-contact.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}@media(min-width:768px){.elementor-26 .elementor-element.elementor-element-fad94e{--content-width:806px;}.elementor-26 .elementor-element.elementor-element-37d9ffbf{--width:50%;}.elementor-26 .elementor-element.elementor-element-7990d3e4{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-26 .elementor-element.elementor-element-fad94e{--content-width:550px;}.elementor-26 .elementor-element.elementor-element-37d9ffbf{--width:100%;}.elementor-26 .elementor-element.elementor-element-7990d3e4{--width:100%;}}@media(max-width:1024px){.elementor-26 .elementor-element.elementor-element-fad94e{--min-height:300px;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:4%;--padding-bottom:4%;--padding-left:4%;--padding-right:4%;}.elementor-26 .elementor-element.elementor-element-52674794 .elementor-heading-title{font-size:3em;}.elementor-26 .elementor-element.elementor-element-1ec567b4 .elementor-heading-title{font-size:1.1em;}.elementor-26 .elementor-element.elementor-element-758d4abd{--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;--padding-top:0%;--padding-bottom:10%;--padding-left:5%;--padding-right:5%;}.elementor-26 .elementor-element.elementor-element-37d9ffbf{--justify-content:center;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;--padding-top:10%;--padding-bottom:10%;--padding-left:10%;--padding-right:10%;}.elementor-26 .elementor-element.elementor-element-7990d3e4{--min-height:65vh;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;--margin-top:10%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}}@media(max-width:767px){.elementor-26 .elementor-element.elementor-element-fad94e{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:20%;--padding-bottom:20%;--padding-left:6%;--padding-right:6%;}.elementor-26 .elementor-element.elementor-element-52674794 .elementor-heading-title{font-size:2em;line-height:1.1em;}.elementor-26 .elementor-element.elementor-element-1ec567b4{margin:0% 4% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;}.elementor-26 .elementor-element.elementor-element-1ec567b4 .elementor-heading-title{font-size:1em;}.elementor-26 .elementor-element.elementor-element-758d4abd{--padding-top:0%;--padding-bottom:15%;--padding-left:5%;--padding-right:5%;}.elementor-26 .elementor-element.elementor-element-37d9ffbf{--padding-top:10%;--padding-bottom:10%;--padding-left:5%;--padding-right:5%;}.elementor-26 .elementor-element.elementor-element-7990d3e4{--min-height:35vh;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;--margin-top:10%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}}/* Start custom CSS for shortcode, class: .elementor-element-94a6fc8 *//* =========================================================
   FORMULAIRE CONTACT MODERNE / RESPONSIVE / CF7
   ========================================================= */

/* Layout général */
.wpcf7 form .row.gx-4 {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -10px !important;
  margin-right: -10px !important;
  row-gap: 18px !important;
}

/* Colonnes */
.wpcf7 form .col-xl-6,
.wpcf7 form .col-xl-12,
.wpcf7 form .col-12 {
  padding-left: 10px !important;
  padding-right: 10px !important;
  box-sizing: border-box !important;
}

.wpcf7 form .col-xl-6 {
  width: 50% !important;
  max-width: 50% !important;
  flex: 0 0 50% !important;
}

.wpcf7 form .col-xl-12,
.wpcf7 form .col-12 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Wrapper champs */
.wpcf7 form .te-contacts-name,
.wpcf7 form .te-contacts-email,
.wpcf7 form .te-contacts-phone,
.wpcf7 form .te-contacts-choice,
.wpcf7 form .te-contacts-message {
  width: 100% !important;
  position: relative !important;
}

/* Les spans CF7 doivent prendre toute la largeur */
.wpcf7 form .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
}

/* Champs */
.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form input[type="tel"],
.wpcf7 form select,
.wpcf7 form textarea {
  width: 100% !important;
  max-width: 100% !important;
  height: 56px !important;
  padding: 0 18px !important;
  border: 1px solid #d9e1ee !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #1f2937 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  outline: none !important;
  box-sizing: border-box !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
  transition: all 0.25s ease !important;
}

/* Textarea */
.wpcf7 form textarea {
  min-height: 150px !important;
  height: auto !important;
  padding: 18px !important;
  resize: vertical !important;
  line-height: 1.6 !important;
}

/* Placeholder */
.wpcf7 form input::placeholder,
.wpcf7 form textarea::placeholder {
  color: #8b95a7 !important;
  opacity: 1 !important;
}

/* Focus */
.wpcf7 form input[type="text"]:focus,
.wpcf7 form input[type="email"]:focus,
.wpcf7 form input[type="tel"]:focus,
.wpcf7 form select:focus,
.wpcf7 form textarea:focus {
  border-color: #14213D !important;
  box-shadow: 0 0 0 4px rgba(20, 33, 61, 0.10),
              0 10px 28px rgba(15, 23, 42, 0.08) !important;
}

/* Select moderne */
.wpcf7 form select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer !important;
  padding-right: 48px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #14213D 50%),
    linear-gradient(135deg, #14213D 50%, transparent 50%) !important;
  background-position:
    calc(100% - 22px) 24px,
    calc(100% - 15px) 24px !important;
  background-size: 7px 7px, 7px 7px !important;
  background-repeat: no-repeat !important;
}

/* =========================================================
   RGPD / CHECKBOX / RADIO
   ========================================================= */

.wpcf7 form .te-contacts-rgpd {
  margin-top: 2px !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
  background: #f7f9fc !important;
  border: 1px solid #e4eaf3 !important;
  font-size: 14px !important;
  color: #4b5563 !important;
  line-height: 1.6 !important;
}

.wpcf7 form .te-contacts-rgpd .wpcf7-list-item {
  margin: 0 !important;
  display: block !important;
}

.wpcf7 form .te-contacts-rgpd label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
  margin: 0 !important;
}

/* IMPORTANT : on force l’affichage natif pour éviter qu’un thème masque la checkbox */
.wpcf7 form input[type="checkbox"],
.wpcf7 form input[type="radio"] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-block !important;
  position: relative !important;
  margin: 3px 0 0 0 !important;
  padding: 0 !important;
  accent-color: #14213D !important;
  border: 1px solid #14213D !important;
  box-shadow: none !important;
  background: #ffffff !important;
  flex-shrink: 0 !important;
}

/* Si le thème cache les input avec off-screen */
.wpcf7 form .te-contacts-rgpd input[type="checkbox"][style],
.wpcf7 form .te-contacts-rgpd input[type="radio"][style] {
  left: auto !important;
  clip: auto !important;
}

/* =========================================================
   BOUTON
   ========================================================= */

.wpcf7 form .te-theme-btn,
.wpcf7 form input[type="submit"],
.wpcf7 form button[type="submit"] {
  width: 100% !important;
  max-width: 100% !important;
  height: 58px !important;
  margin-top: 8px !important;
  border: none !important;
  border-radius: 16px !important;
  background: #14213D !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  box-shadow: 0 14px 30px rgba(20, 33, 61, 0.28) !important;
  transition: all 0.25s ease !important;
}

.wpcf7 form .te-theme-btn:hover,
.wpcf7 form input[type="submit"]:hover,
.wpcf7 form button[type="submit"]:hover {
  background: #0f182d !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 36px rgba(20, 33, 61, 0.36) !important;
}

.wpcf7 form .te-theme-btn:active,
.wpcf7 form input[type="submit"]:active,
.wpcf7 form button[type="submit"]:active {
  transform: translateY(0) !important;
}

/* Wrapper bouton */
.wpcf7 form .position-relative {
  position: relative !important;
}

/* Spinner */
.wpcf7 form .wpcf7-spinner {
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
}

/* =========================================================
   MESSAGES CF7
   ========================================================= */

.wpcf7 form .wpcf7-not-valid-tip {
  display: block !important;
  margin-top: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #dc2626 !important;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
  margin: 18px 10px 0 !important;
  padding: 14px 18px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1199px) {
  .wpcf7 form .col-xl-6,
  .wpcf7 form .col-xl-12,
  .wpcf7 form .col-12 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

@media (max-width: 767px) {
  .wpcf7 form .row.gx-4 {
    margin-left: -6px !important;
    margin-right: -6px !important;
    row-gap: 14px !important;
  }

  .wpcf7 form .col-xl-6,
  .wpcf7 form .col-xl-12,
  .wpcf7 form .col-12 {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .wpcf7 form input[type="text"],
  .wpcf7 form input[type="email"],
  .wpcf7 form input[type="tel"],
  .wpcf7 form select {
    height: 52px !important;
    font-size: 14px !important;
    border-radius: 12px !important;
    padding: 0 16px !important;
  }

  .wpcf7 form textarea {
    min-height: 130px !important;
    font-size: 14px !important;
    padding: 16px !important;
    border-radius: 12px !important;
  }

  .wpcf7 form .te-theme-btn,
  .wpcf7 form input[type="submit"],
  .wpcf7 form button[type="submit"] {
    height: 54px !important;
    font-size: 15px !important;
    border-radius: 14px !important;
  }

  .wpcf7 form .te-contacts-rgpd {
    font-size: 13px !important;
    padding: 12px 14px !important;
  }

  .wpcf7 form input[type="checkbox"],
  .wpcf7 form input[type="radio"] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
  }
}/* End custom CSS */