:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-a49f61c *//* =========================================================
   SOVEMATIC — CONTACT
   Scope sécurisé : #contact-rapide-sovematic
========================================================= */

#contact-rapide-sovematic {

  --sove-contact-black: #111214;
  --sove-contact-black-2: #1A1C1F;

  --sove-contact-white: #FFFFFF;

  --sove-contact-offwhite: #F7F7F5;
  --sove-contact-offwhite-2: #FBFBFA;

  --sove-contact-red: #DE072D;
  --sove-contact-red-dark: #B80627;

  --sove-contact-petrol: #1F4E5F;
  --sove-contact-petrol-dark: #143744;

  --sove-contact-steel: #E8F1F3;

  --sove-contact-grey: #6F7C85;
  --sove-contact-grey-dark: #3E474D;

  --sove-contact-border:
    rgba(17, 18, 20, 0.12);

  --sove-contact-shadow:
    0 26px 70px rgba(17, 18, 20, 0.14);

  --sove-contact-shadow-soft:
    0 16px 42px rgba(17, 18, 20, 0.08);

  position: relative;

  width: 100%;

  padding:
    clamp(4rem, 7vw, 7rem) 0;

  color:
    var(--sove-contact-black);

  background:

    radial-gradient(
      circle at 8% 0%,
      rgba(31, 78, 95, 0.07),
      transparent 30%
    ),

    var(--sove-contact-white);

  font-family: inherit;

  overflow: hidden;
}


/* =========================================================
   RESET LOCAL
========================================================= */

#contact-rapide-sovematic,
#contact-rapide-sovematic * {

  box-sizing: border-box;
}


#contact-rapide-sovematic a {

  color: inherit;

  text-decoration: none;
}


#contact-rapide-sovematic p,
#contact-rapide-sovematic h2,
#contact-rapide-sovematic h3 {

  margin: 0;
}


#contact-rapide-sovematic button,
#contact-rapide-sovematic input,
#contact-rapide-sovematic select,
#contact-rapide-sovematic textarea {

  font: inherit;
}


/* =========================================================
   CONTAINER
========================================================= */

#contact-rapide-sovematic
.sove-contact-container {

  width:
    min(
      1280px,
      calc(100% - 48px)
    );

  margin-inline: auto;
}


/* =========================================================
   LAYOUT
========================================================= */

#contact-rapide-sovematic
.sove-contact-layout {

  display: grid;

  /*
   * Gauche fixe/maîtrisée.
   * Droite récupère le reste.
   *
   * Aucun chevauchement possible.
   */
  grid-template-columns:
    minmax(360px, 420px)
    minmax(0, 1fr);

  gap:
    clamp(42px, 4.5vw, 68px);

  align-items: start;
}


/* =========================================================
   COLONNE GAUCHE
========================================================= */

#contact-rapide-sovematic
.sove-contact-card {

  position: sticky;

  top: 2rem;

  width: 100%;

  min-width: 0;

  padding:
    clamp(
      1.8rem,
      3vw,
      2.65rem
    );

  border:
    1px solid
    var(--sove-contact-border);

  border-radius: 32px;

  background:

    radial-gradient(
      circle at 100% 0%,
      rgba(31, 78, 95, 0.06),
      transparent 34%
    ),

    linear-gradient(
      135deg,
      var(--sove-contact-offwhite),
      var(--sove-contact-white)
    );

  box-shadow:
    var(--sove-contact-shadow-soft);

  overflow: hidden;
}


/* =========================================================
   KICKER
========================================================= */

#contact-rapide-sovematic
.sove-contact-kicker {

  display: inline-flex;

  align-items: center;

  gap: 0.65rem;

  color:
    var(--sove-contact-petrol-dark);

  font-size: 0.76rem;

  font-weight: 900;

  letter-spacing:
    0.12em;

  line-height: 1.2;

  text-transform: uppercase;
}


#contact-rapide-sovematic
.sove-contact-kicker::before {

  content: "";

  width: 34px;
  height: 2px;

  border-radius: 999px;

  background:
    var(--sove-contact-red);

  box-shadow:
    0 0 0 5px
    rgba(222, 7, 45, 0.12);
}


/* =========================================================
   TITRE GAUCHE
========================================================= */

#contact-rapide-sovematic
.sove-contact-card h2 {

  max-width: 370px;

  margin-top: 1.2rem;

  color:
    var(--sove-contact-black);

  font-size:
    clamp(
      2rem,
      2.7vw,
      3rem
    );

  font-weight: 900;

  line-height: 1.04;

  letter-spacing:
    -0.05em;

  word-break: normal;

  overflow-wrap: normal;
}


/* =========================================================
   INTRO GAUCHE
========================================================= */

#contact-rapide-sovematic
.sove-contact-intro {

  max-width: 360px;

  margin-top: 1.25rem;

  color:
    var(--sove-contact-grey-dark);

  font-size: 1.03rem;

  line-height: 1.65;
}


/* =========================================================
   COORDONNÉES
========================================================= */

#contact-rapide-sovematic
.sove-contact-details {

  display: grid;

  gap: 0.8rem;

  margin-top: 1.7rem;
}


#contact-rapide-sovematic
.sove-contact-detail {

  position: relative;

  padding:
    1rem 1rem 1rem 1.15rem;

  border:
    1px solid
    var(--sove-contact-border);

  border-radius: 17px;

  background:
    var(--sove-contact-white);

  overflow: hidden;

  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}


#contact-rapide-sovematic
.sove-contact-detail::before {

  content: "";

  position: absolute;

  top: 0;
  bottom: 0;
  left: 0;

  width: 3px;

  background:
    linear-gradient(
      to bottom,
      var(--sove-contact-red),
      var(--sove-contact-petrol)
    );
}


#contact-rapide-sovematic
.sove-contact-detail:hover {

  transform:
    translateY(-2px);

  border-color:
    rgba(222, 7, 45, 0.22);

  box-shadow:
    0 12px 28px
    rgba(17,18,20,0.07);
}


#contact-rapide-sovematic
.sove-contact-detail__label {

  display: block;

  margin-bottom: 0.3rem;

  color:
    var(--sove-contact-petrol-dark);

  font-size: 0.73rem;

  font-weight: 900;

  letter-spacing:
    0.09em;

  text-transform: uppercase;
}


#contact-rapide-sovematic
.sove-contact-detail a,

#contact-rapide-sovematic
.sove-contact-detail
> span:not(.sove-contact-detail__label) {

  color:
    var(--sove-contact-black);

  font-size: 0.97rem;

  font-weight: 750;

  line-height: 1.45;
}


#contact-rapide-sovematic
.sove-contact-detail a {

  text-decoration: underline;

  text-decoration-color:
    rgba(222, 7, 45, 0.40);

  text-underline-offset: 4px;
}


/* =========================================================
   RÉSEAUX SOCIAUX
========================================================= */

#contact-rapide-sovematic
.sove-social-links {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  gap: 0.55rem;

  margin-top: 1.4rem;
}


#contact-rapide-sovematic
.sove-social-link {

  display: inline-flex;

  align-items: center;
  justify-content: center;

  gap: 0.48rem;

  min-height: 42px;

  padding:
    0.62rem
    0.88rem;

  border:
    1px solid
    rgba(31, 78, 95, 0.18);

  border-radius: 999px;

  color:
    var(--sove-contact-petrol-dark);

  background:
    var(--sove-contact-steel);

  font-size: 0.84rem;

  font-weight: 900;

  line-height: 1;

  transition:
    transform 0.22s ease,
    color 0.22s ease,
    background 0.22s ease,
    box-shadow 0.22s ease;
}


#contact-rapide-sovematic
.sove-social-link svg {

  display: block;

  flex:
    0 0 18px;

  width: 18px;
  height: 18px;

  fill:
    currentColor;
}


#contact-rapide-sovematic
.sove-social-link:hover {

  transform:
    translateY(-2px);

  color:
    var(--sove-contact-white);

  background:
    var(--sove-contact-petrol);

  box-shadow:
    0 10px 24px
    rgba(31, 78, 95, 0.18);
}


/* =========================================================
   FORMULAIRE
========================================================= */

#contact-rapide-sovematic
.sove-contact-form {

  position: relative;

  width: 100%;

  min-width: 0;

  padding:
    clamp(
      2rem,
      3vw,
      2.75rem
    );

  border:
    1px solid
    rgba(255,255,255,0.12);

  border-radius: 32px;

  background:

    radial-gradient(
      circle at 12% 0%,
      rgba(222, 7, 45, 0.19),
      transparent 32%
    ),

    radial-gradient(
      circle at 100% 100%,
      rgba(31, 78, 95, 0.24),
      transparent 38%
    ),

    linear-gradient(
      145deg,
      var(--sove-contact-black),
      var(--sove-contact-black-2)
    );

  box-shadow:
    var(--sove-contact-shadow);

  overflow: hidden;
}


/* =========================================================
   GRILLE DÉCORATIVE
========================================================= */

#contact-rapide-sovematic
.sove-contact-form::before {

  content: "";

  position: absolute;

  inset: 0;

  background-image:

    linear-gradient(
      rgba(255,255,255,0.025) 1px,
      transparent 1px
    ),

    linear-gradient(
      90deg,
      rgba(255,255,255,0.025) 1px,
      transparent 1px
    );

  background-size:
    42px 42px;

  pointer-events: none;
}


#contact-rapide-sovematic
.sove-contact-form > * {

  position: relative;

  z-index: 1;
}


/* =========================================================
   ENTÊTE FORMULAIRE
========================================================= */

#contact-rapide-sovematic
.sove-contact-form__head {

  margin-bottom: 1.45rem;
}


#contact-rapide-sovematic
.sove-contact-form__badge {

  display: inline-flex;

  margin-bottom: 0.9rem;

  padding:
    0.47rem
    0.72rem;

  border-radius: 999px;

  color:
    var(--sove-contact-white);

  background:
    var(--sove-contact-red);

  font-size: 0.72rem;

  font-weight: 900;

  letter-spacing:
    0.08em;

  text-transform: uppercase;
}


#contact-rapide-sovematic
.sove-contact-form h3 {

  color:
    var(--sove-contact-white);

  font-size:
    clamp(
      1.75rem,
      2.7vw,
      2.5rem
    );

  font-weight: 900;

  line-height: 1.04;

  letter-spacing:
    -0.045em;
}


#contact-rapide-sovematic
.sove-contact-form__head p {

  max-width: 700px;

  margin-top: 0.7rem;

  color:
    rgba(255,255,255,0.70);

  font-size: 0.96rem;

  line-height: 1.6;
}


/* =========================================================
   EMAIL + TÉLÉPHONE
========================================================= */

#contact-rapide-sovematic
.sove-form-row {

  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap: 1rem;
}


/* =========================================================
   CHAMPS
========================================================= */

#contact-rapide-sovematic
.sove-form-field {

  min-width: 0;

  margin-top: 1rem;
}


#contact-rapide-sovematic
.sove-form-field label {

  display: block;

  margin-bottom: 0.42rem;

  color:
    rgba(255,255,255,0.90);

  font-size: 0.86rem;

  font-weight: 850;
}


#contact-rapide-sovematic
.sove-form-optional {

  margin-left: 0.3rem;

  color:
    rgba(255,255,255,0.42);

  font-size: 0.73rem;

  font-weight: 650;
}


/* =========================================================
   INPUT / SELECT / TEXTAREA
========================================================= */

#contact-rapide-sovematic
.sove-form-field input,

#contact-rapide-sovematic
.sove-form-field select,

#contact-rapide-sovematic
.sove-form-field textarea {

  width: 100%;

  min-height: 54px;

  padding:
    0.88rem
    1rem;

  border:
    1px solid
    rgba(255,255,255,0.17);

  border-radius: 17px;

  color:
    var(--sove-contact-white);

  background:
    rgba(255,255,255,0.08);

  outline: none;

  font-size: 0.95rem;

  transition:
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease;
}


#contact-rapide-sovematic
.sove-form-field textarea {

  min-height: 145px;

  line-height: 1.5;

  resize: vertical;
}


#contact-rapide-sovematic
.sove-form-field input::placeholder,

#contact-rapide-sovematic
.sove-form-field textarea::placeholder {

  color:
    rgba(255,255,255,0.44);
}


/* =========================================================
   SELECT
========================================================= */

#contact-rapide-sovematic
.sove-form-field select {

  appearance: none;

  -webkit-appearance: none;

  padding-right: 3rem;

  cursor: pointer;

  background-image:

    linear-gradient(
      45deg,
      transparent 50%,
      rgba(255,255,255,0.78) 50%
    ),

    linear-gradient(
      135deg,
      rgba(255,255,255,0.78) 50%,
      transparent 50%
    );

  background-position:
    calc(100% - 19px) 23px,
    calc(100% - 13px) 23px;

  background-size:
    6px 6px,
    6px 6px;

  background-repeat: no-repeat;
}


#contact-rapide-sovematic
.sove-form-field select option {

  color:
    var(--sove-contact-black);

  background:
    var(--sove-contact-white);
}


/* =========================================================
   FOCUS
========================================================= */

#contact-rapide-sovematic
.sove-form-field input:focus,

#contact-rapide-sovematic
.sove-form-field select:focus,

#contact-rapide-sovematic
.sove-form-field textarea:focus {

  border-color:
    rgba(222, 7, 45, 0.82);

  background:
    rgba(255,255,255,0.11);

  box-shadow:
    0 0 0 4px
    rgba(222, 7, 45, 0.15);
}


/* =========================================================
   BOUTON
========================================================= */

#contact-rapide-sovematic
.sove-contact-submit {

  display: flex;

  align-items: center;
  justify-content: center;

  gap: 0.7rem;

  width: 100%;

  min-height: 56px;

  margin-top: 1.35rem;

  padding:
    0.95rem
    1.4rem;

  border: 0;

  border-radius: 999px;

  color:
    var(--sove-contact-white);

  background:
    linear-gradient(
      135deg,
      var(--sove-contact-red),
      var(--sove-contact-red-dark)
    );

  box-shadow:
    0 18px 36px
    rgba(222,7,45,0.28);

  cursor: pointer;

  font-size: 0.96rem;

  font-weight: 900;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease;
}


#contact-rapide-sovematic
.sove-contact-submit:hover {

  transform:
    translateY(-2px);

  box-shadow:
    0 22px 46px
    rgba(222,7,45,0.36);
}


#contact-rapide-sovematic
.sove-contact-submit__arrow {

  transition:
    transform 0.22s ease;
}


#contact-rapide-sovematic
.sove-contact-submit:hover
.sove-contact-submit__arrow {

  transform:
    translateX(4px);
}


/* =========================================================
   CONFIDENTIALITÉ
========================================================= */

#contact-rapide-sovematic
.sove-form-privacy {

  margin-top: 1rem;

  color:
    rgba(255,255,255,0.52);

  font-size: 0.78rem;

  line-height: 1.55;
}


#contact-rapide-sovematic
.sove-form-privacy a {

  color:
    var(--sove-contact-white);

  text-decoration: underline;

  text-decoration-color:
    rgba(222,7,45,0.75);

  text-underline-offset: 3px;
}


/* =========================================================
   TRÈS GRAND ÉCRAN
========================================================= */

@media (min-width: 1500px) {

  #contact-rapide-sovematic
  .sove-contact-container {

    width:
      min(
        1340px,
        calc(100% - 64px)
      );
  }


  #contact-rapide-sovematic
  .sove-contact-layout {

    grid-template-columns:
      420px
      minmax(0,1fr);

    gap: 72px;
  }

}


/* =========================================================
   DESKTOP PLUS ÉTROIT
========================================================= */

@media
(min-width: 981px)
and
(max-width: 1180px) {

  #contact-rapide-sovematic
  .sove-contact-layout {

    grid-template-columns:
      minmax(320px, 370px)
      minmax(0,1fr);

    gap: 32px;
  }


  #contact-rapide-sovematic
  .sove-contact-card {

    padding: 1.7rem;
  }


  #contact-rapide-sovematic
  .sove-contact-card h2 {

    font-size:
      clamp(
        1.85rem,
        3vw,
        2.35rem
      );
  }


  #contact-rapide-sovematic
  .sove-contact-form {

    padding: 1.8rem;
  }

}


/* =========================================================
   TABLETTE
========================================================= */

@media (max-width: 980px) {

  #contact-rapide-sovematic {

    padding:
      4rem 0;
  }


  #contact-rapide-sovematic
  .sove-contact-container {

    width:
      min(
        760px,
        calc(100% - 32px)
      );
  }


  #contact-rapide-sovematic
  .sove-contact-layout {

    grid-template-columns: 1fr;

    gap: 1.5rem;
  }


  #contact-rapide-sovematic
  .sove-contact-card {

    position: static;

    max-width: none;
  }


  #contact-rapide-sovematic
  .sove-contact-card h2,

  #contact-rapide-sovematic
  .sove-contact-intro {

    max-width: 650px;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 620px) {

  #contact-rapide-sovematic {

    padding:
      3rem 0;
  }


  #contact-rapide-sovematic
  .sove-contact-container {

    width:
      calc(100% - 24px);
  }


  #contact-rapide-sovematic
  .sove-contact-card,

  #contact-rapide-sovematic
  .sove-contact-form {

    padding: 1.25rem;

    border-radius: 24px;
  }


  /* =====================================================
     TITRE GAUCHE MOBILE
  ===================================================== */

  #contact-rapide-sovematic
  .sove-contact-card h2 {

    font-size:
      clamp(
        1.8rem,
        8vw,
        2.35rem
      );
  }


  /* =====================================================
     EMAIL / TEL EN COLONNE
  ===================================================== */

  #contact-rapide-sovematic
  .sove-form-row {

    grid-template-columns: 1fr;

    gap: 0;
  }


  /* =====================================================
     SOCIAL :
     UNIQUEMENT LES SVG
  ===================================================== */

  #contact-rapide-sovematic
  .sove-social-links {

    gap: 0.7rem;
  }


  #contact-rapide-sovematic
  .sove-social-link {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    flex:
      0 0 46px;

    width: 46px;
    height: 46px;

    min-width: 46px;
    min-height: 46px;

    padding: 0;

    border-radius: 50%;

    font-size: 0;
  }


  /*
   * On retire réellement les mots
   * Instagram / LinkedIn / Facebook.
   */
  #contact-rapide-sovematic
  .sove-social-label {

    display: none;
  }


  /*
   * Et les SVG restent visibles.
   */
  #contact-rapide-sovematic
  .sove-social-link svg {

    display: block;

    width: 21px;
    height: 21px;

    flex:
      0 0 21px;

    margin: 0;

    fill:
      currentColor;
  }


  #contact-rapide-sovematic
  .sove-form-field textarea {

    min-height: 130px;
  }

}


/* =========================================================
   TRÈS PETITS ÉCRANS
========================================================= */

@media (max-width: 400px) {

  #contact-rapide-sovematic
  .sove-contact-container {

    width:
      calc(100% - 16px);
  }


  #contact-rapide-sovematic
  .sove-contact-card,

  #contact-rapide-sovematic
  .sove-contact-form {

    padding: 1.05rem;

    border-radius: 20px;
  }


  #contact-rapide-sovematic
  .sove-form-field input,

  #contact-rapide-sovematic
  .sove-form-field select,

  #contact-rapide-sovematic
  .sove-form-field textarea {

    border-radius: 14px;
  }

}/* =========================================================
   RÉSEAUX SOCIAUX — SVG UNIQUEMENT / CENTRÉS PARTOUT
========================================================= */

#contact-rapide-sovematic
.sove-social-links {

  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  flex-wrap: wrap !important;

  gap: 0.8rem !important;

  width: 100% !important;

  margin-top: 1.5rem !important;
}


/* =========================================================
   MASQUER LES LIBELLÉS PARTOUT
========================================================= */

#contact-rapide-sovematic
.sove-social-label {

  display: none !important;
}


/* =========================================================
   BOUTONS RONDS
========================================================= */

#contact-rapide-sovematic
.sove-social-link {

  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 48px !important;

  width: 48px !important;
  height: 48px !important;

  min-width: 48px !important;
  min-height: 48px !important;

  padding: 0 !important;

  border:
    1px solid
    rgba(31, 78, 95, 0.18) !important;

  border-radius: 50% !important;

  color:
    var(--sove-contact-petrol-dark) !important;

  background:
    var(--sove-contact-steel) !important;

  font-size: 0 !important;

  line-height: 0 !important;

  box-shadow:
    0 8px 20px
    rgba(17, 18, 20, 0.06);

  transition:
    transform 0.22s ease,
    color 0.22s ease,
    background 0.22s ease,
    box-shadow 0.22s ease !important;
}


/* =========================================================
   SVG
========================================================= */

#contact-rapide-sovematic
.sove-social-link svg {

  display: block !important;

  flex:
    0 0 21px !important;

  width: 21px !important;
  height: 21px !important;

  margin: 0 !important;

  fill:
    currentColor !important;
}


/* =========================================================
   HOVER
========================================================= */

#contact-rapide-sovematic
.sove-social-link:hover {

  transform:
    translateY(-3px) !important;

  color:
    #fff !important;

  background:
    var(--sove-contact-petrol) !important;

  box-shadow:
    0 12px 26px
    rgba(31, 78, 95, 0.22) !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 620px) {

  #contact-rapide-sovematic
  .sove-social-links {

    justify-content:
      center !important;

    gap:
      0.75rem !important;
  }


  #contact-rapide-sovematic
  .sove-social-link {

    flex:
      0 0 46px !important;

    width:
      46px !important;

    height:
      46px !important;

    min-width:
      46px !important;

    min-height:
      46px !important;
  }


  #contact-rapide-sovematic
  .sove-social-link svg {

    width:
      20px !important;

    height:
      20px !important;
  }

}/* =========================================================
   PATCH GRAND ÉCRAN
   CONTACT PLEINE LARGEUR + PLEINE HAUTEUR
========================================================= */

@media (min-width: 1400px) {

  /* =====================================================
     SECTION
  ===================================================== */

  #contact-rapide-sovematic {

    /*
     * Hauteur écran moins environ la hauteur du header.
     */
    min-height: calc(100svh - 86px) !important;

    display: flex !important;

    align-items: center !important;

    width: 100% !important;

    padding:
      clamp(28px, 3vh, 48px)
      clamp(28px, 3vw, 60px) !important;
  }


  /* =====================================================
     SUPPRESSION DU MAX-WIDTH
  ===================================================== */

  #contact-rapide-sovematic
  .sove-contact-container {

    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;
  }


  /* =====================================================
     LES 2 COLONNES OCCUPENT TOUT L'ÉCRAN
  ===================================================== */

  #contact-rapide-sovematic
  .sove-contact-layout {

    width: 100% !important;

    grid-template-columns:
      minmax(420px, 0.82fr)
      minmax(650px, 1.18fr) !important;

    gap:
      clamp(42px, 4vw, 80px) !important;

    align-items: stretch !important;
  }


  /* =====================================================
     COLONNE GAUCHE
  ===================================================== */

  #contact-rapide-sovematic
  .sove-contact-card {

    position: relative !important;

    top: auto !important;

    width: 100% !important;

    max-width: none !important;

    height: 100% !important;

    min-height: 680px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
      clamp(2.2rem, 3vw, 3.5rem) !important;
  }


  #contact-rapide-sovematic
  .sove-contact-card h2 {

    max-width: 520px !important;

    font-size:
      clamp(
        2.6rem,
        3.4vw,
        4.1rem
      ) !important;
  }


  #contact-rapide-sovematic
  .sove-contact-intro {

    max-width: 520px !important;
  }


  /* =====================================================
     FORMULAIRE
  ===================================================== */

  #contact-rapide-sovematic
  .sove-contact-form {

    width: 100% !important;

    max-width: none !important;

    height: 100% !important;

    min-height: 680px;

    padding:
      clamp(2.4rem, 3vw, 3.6rem) !important;
  }


  /* =====================================================
     TITRE FORMULAIRE
  ===================================================== */

  #contact-rapide-sovematic
  .sove-contact-form h3 {

    font-size:
      clamp(
        2.4rem,
        3vw,
        3.8rem
      ) !important;
  }


  #contact-rapide-sovematic
  .sove-contact-form__head p {

    max-width: 800px !important;

    font-size: 1.02rem !important;
  }


  /* =====================================================
     CHAMPS PLUS CONFORTABLES
  ===================================================== */

  #contact-rapide-sovematic
  .sove-form-field input,

  #contact-rapide-sovematic
  .sove-form-field select {

    min-height: 58px !important;
  }


  #contact-rapide-sovematic
  .sove-form-field textarea {

    min-height: 155px !important;
  }

}


/* =========================================================
   TRÈS GRAND ÉCRAN 1800+
========================================================= */

@media (min-width: 1800px) {

  #contact-rapide-sovematic {

    padding-left: 70px !important;

    padding-right: 70px !important;
  }


  #contact-rapide-sovematic
  .sove-contact-layout {

    grid-template-columns:
      minmax(500px, 0.8fr)
      minmax(800px, 1.2fr) !important;

    gap: 90px !important;
  }


  #contact-rapide-sovematic
  .sove-contact-card,

  #contact-rapide-sovematic
  .sove-contact-form {

    min-height: 720px;
  }

}/* =========================================================
   FIX DÉFINITIF — CONTACT FULL WIDTH GRAND ÉCRAN
========================================================= */

@media (min-width: 1400px) {

  /* =====================================================
     1. LA SECTION SORT DU CONTAINER ELEMENTOR
  ===================================================== */

  #contact-rapide-sovematic {
    position: relative !important;

    left: 50% !important;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: -50vw !important;
    margin-right: 0 !important;

    padding:
      40px
      48px !important;

    overflow: visible !important;
  }


  /* =====================================================
     2. SUPPRESSION TOTALE DU MAX-WIDTH
  ===================================================== */

  #contact-rapide-sovematic
  .sove-contact-container {

    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;
  }


  /* =====================================================
     3. LES DEUX BLOCS UTILISENT TOUTE LA LARGEUR
  ===================================================== */

  #contact-rapide-sovematic
  .sove-contact-layout {

    display: grid !important;

    width: 100% !important;

    max-width: none !important;

    grid-template-columns:
      minmax(440px, 0.82fr)
      minmax(0, 1.18fr) !important;

    gap:
      clamp(
        48px,
        4vw,
        80px
      ) !important;

    align-items: stretch !important;
  }


  /* =====================================================
     4. GAUCHE
  ===================================================== */

  #contact-rapide-sovematic
  .sove-contact-card {

    position: relative !important;

    top: auto !important;

    width: 100% !important;

    max-width: none !important;

    min-width: 0 !important;

    height: 100% !important;

    margin: 0 !important;

    justify-self: stretch !important;

    padding:
      clamp(
        2.4rem,
        3vw,
        3.6rem
      ) !important;
  }


  #contact-rapide-sovematic
  .sove-contact-card h2 {

    max-width: 600px !important;

    font-size:
      clamp(
        2.8rem,
        3.4vw,
        4.2rem
      ) !important;
  }


  #contact-rapide-sovematic
  .sove-contact-intro {

    max-width: 560px !important;
  }


  /* =====================================================
     5. FORMULAIRE
  ===================================================== */

  #contact-rapide-sovematic
  .sove-contact-form {

    width: 100% !important;

    max-width: none !important;

    min-width: 0 !important;

    height: 100% !important;

    margin: 0 !important;

    justify-self: stretch !important;

    padding:
      clamp(
        2.5rem,
        3vw,
        3.6rem
      ) !important;
  }

}


/* =========================================================
   ÉCRANS 1800PX ET +
========================================================= */

@media (min-width: 1800px) {

  #contact-rapide-sovematic {

    padding-left:
      64px !important;

    padding-right:
      64px !important;
  }


  #contact-rapide-sovematic
  .sove-contact-layout {

    grid-template-columns:
      minmax(520px, 0.8fr)
      minmax(0, 1.2fr) !important;

    gap:
      90px !important;
  }

}/* =========================================================
   GOOGLE MAPS
========================================================= */

#contact-rapide-sovematic
.sove-contact-map {

  position: relative;

  margin-top: 1.25rem;

  border:
    1px solid var(--sove-contact-border);

  border-radius: 20px;

  background:
    var(--sove-contact-steel);

  overflow: hidden;

  box-shadow:
    0 12px 30px
    rgba(17,18,20,0.07);
}


#contact-rapide-sovematic
.sove-contact-map iframe {

  display: block;

  width: 100%;

  height: 220px;

  border: 0;

  filter:
    saturate(0.85)
    contrast(1.03);
}


#contact-rapide-sovematic
.sove-contact-map__link {

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 0.8rem;

  padding:
    0.85rem
    1rem;

  color:
    var(--sove-contact-petrol-dark);

  background:
    #fff;

  font-size: 0.85rem;

  font-weight: 900;

  transition:
    color 0.22s ease,
    background 0.22s ease;
}


#contact-rapide-sovematic
.sove-contact-map__link:hover {

  color: #fff;

  background:
    var(--sove-contact-petrol);
}


/* =========================================================
   RÉSEAUX — SVG UNIQUEMENT + CENTRÉS
========================================================= */

#contact-rapide-sovematic
.sove-social-links {

  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  gap: 0.8rem !important;

  width: 100%;

  margin-top: 1.25rem !important;
}


#contact-rapide-sovematic
.sove-social-link {

  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  flex:
    0 0 48px !important;

  width: 48px !important;
  height: 48px !important;

  min-width: 48px !important;
  min-height: 48px !important;

  padding: 0 !important;

  border-radius:
    50% !important;

  color:
    var(--sove-contact-petrol-dark) !important;

  background:
    var(--sove-contact-steel) !important;

  box-shadow:
    0 8px 20px
    rgba(17,18,20,0.06);

  transition:
    transform 0.22s ease,
    background 0.22s ease,
    color 0.22s ease,
    box-shadow 0.22s ease !important;
}


#contact-rapide-sovematic
.sove-social-link svg {

  display: block !important;

  width: 21px !important;
  height: 21px !important;

  flex:
    0 0 21px !important;

  fill:
    currentColor !important;
}


#contact-rapide-sovematic
.sove-social-link:hover {

  transform:
    translateY(-3px) !important;

  color:
    #fff !important;

  background:
    var(--sove-contact-petrol) !important;

  box-shadow:
    0 12px 26px
    rgba(31,78,95,0.22) !important;
}


/* =========================================================
   DEMANDE PLUS DÉTAILLÉE
========================================================= */

#contact-rapide-sovematic
.sove-contact-advanced {

  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap: 1.25rem;

  align-items: center;

  margin-top: 1.35rem;

  padding: 1.15rem;

  border:
    1px solid
    rgba(255,255,255,0.13);

  border-radius: 20px;

  background:
    rgba(255,255,255,0.055);
}


#contact-rapide-sovematic
.sove-contact-advanced__text > span {

  display: block;

  margin-bottom: 0.25rem;

  color:
    var(--sove-contact-red);

  font-size: 0.7rem;

  font-weight: 900;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}


#contact-rapide-sovematic
.sove-contact-advanced__text strong {

  display: block;

  color: #fff;

  font-size: 1rem;

  font-weight: 900;
}


#contact-rapide-sovematic
.sove-contact-advanced__text p {

  max-width: 560px;

  margin-top: 0.35rem;

  color:
    rgba(255,255,255,0.58);

  font-size: 0.82rem;

  line-height: 1.5;
}


#contact-rapide-sovematic
.sove-contact-advanced__btn {

  display: inline-flex;

  align-items: center;
  justify-content: center;

  gap: 0.55rem;

  min-height: 46px;

  padding:
    0.75rem
    1rem;

  border:
    1px solid
    rgba(255,255,255,0.20);

  border-radius: 999px;

  color: #fff;

  background:
    rgba(255,255,255,0.08);

  font-size: 0.82rem;

  font-weight: 900;

  white-space: nowrap;

  transition:
    transform 0.22s ease,
    color 0.22s ease,
    background 0.22s ease,
    border-color 0.22s ease;
}


#contact-rapide-sovematic
.sove-contact-advanced__btn span {

  transition:
    transform 0.22s ease;
}


#contact-rapide-sovematic
.sove-contact-advanced__btn:hover {

  transform:
    translateY(-2px);

  color: #fff;

  background:
    var(--sove-contact-petrol);

  border-color:
    var(--sove-contact-petrol);
}


#contact-rapide-sovematic
.sove-contact-advanced__btn:hover span {

  transform:
    translateX(4px);
}


/* =========================================================
   GRAND ÉCRAN
========================================================= */

@media (min-width: 1400px) {

  #contact-rapide-sovematic
  .sove-contact-map iframe {

    height: 245px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 620px) {

  #contact-rapide-sovematic
  .sove-contact-map iframe {

    height: 200px;
  }


  #contact-rapide-sovematic
  .sove-contact-advanced {

    grid-template-columns:
      1fr;

    gap: 0.9rem;
  }


  #contact-rapide-sovematic
  .sove-contact-advanced__btn {

    width: 100%;
  }

}/* End custom CSS */