/* =====================================================
   MOVAWAY — COMPATIBILITÉ WPBAKERY / SALIENT
   Les landing pages construites par le client avec WPBakery (ex-site Salient)
   sont rendues par NOTRE thème. Les plugins salient-core / js_composer_salient
   fournissent les shortcodes et l'essentiel de leurs styles, MAIS la grille de
   colonnes et les couleurs d'accent vivaient dans le thème Salient (inactif) :
   sans elles, toutes les colonnes s'empilent en 100 % et les boutons accent
   sont noirs. Cette feuille comble ces manques SANS recharger le style.css de
   Salient (conflits lourds : body Open Sans, .container 880px, overflow...).
   Chargée uniquement sur les pages dont le contenu contient [vc_row].
   ===================================================== */

/* ---- Container central, façon Salient .container.main-content (mesuré sur
        movaway.fr : max-width 1600px, padding latéral 40px, centré). C'est ce
        wrapper qui donne les marges et le centrage de la prod ; sans lui le
        contenu WPBakery était collé à gauche, pleine largeur. ---- */
.landing-page-inner.mvw-wpb,
.page-body.mvw-wpb {
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px;
  padding-right: 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .landing-page-inner.mvw-wpb,
  .page-body.mvw-wpb { padding-left: 20px; padding-right: 20px; }
}

/* Neutralise les propriétés héritées du <body> Salient (remappé en .mvw-wpb par
   le scope) qui n'ont pas de sens sur un simple conteneur de contenu :
   display:flex + min-height (pattern sticky-footer), fond blanc opaque, et
   surtout overflow-y:scroll qui créait un DEUXIÈME ascenseur vertical. */
.mvw-wpb {
  display: block !important;
  min-height: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

/* ---- Curseur : l'ancien site (thème enfant salient-child) imposait des
        curseurs personnalisés en SVG (cursor.svg / click.svg), repris par le
        CSS de prod scopé. Surcharge inutile : retour aux curseurs système. ---- */
.mvw-wpb { cursor: auto !important; }
.mvw-wpb a,
.mvw-wpb button,
.mvw-wpb [role="button"],
.mvw-wpb summary,
.mvw-wpb label,
.mvw-wpb input[type="submit"],
.mvw-wpb .nectar-button {
  cursor: pointer !important;
}

/* ---- Sections pleine largeur (full-width-section) : le FOND va jusqu'aux
        bords de la fenêtre, le CONTENU garde les marges du container. En prod
        c'est le JS Salient qui étire ces rangées ; ici, technique 100vw en pur
        CSS. L'overflow-x:hidden du <main> absorbe la largeur de la scrollbar
        incluse dans 100vw. ---- */
.landing-page-main,
.page-content {
  overflow-x: hidden;
}
.mvw-wpb .wpb_row.full-width-section,
.mvw-wpb .wpb_row.has-global-section {
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
.mvw-wpb .wpb_row.full-width-section > .col.span_12,
.mvw-wpb .wpb_row.has-global-section > .col.span_12 {
  max-width: 1600px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px;
  padding-right: 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .mvw-wpb .wpb_row.full-width-section > .col.span_12,
  .mvw-wpb .wpb_row.has-global-section > .col.span_12 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* ---- Cartes (colonnes enfants à fond blanc) : gouttières + espacements.
        1) L'overlay de fond (.column-bg-overlay-wrap) couvre la colonne
           ENTIÈRE, gouttières comprises → cartes visuellement collées : on
           l'aligne sur la zone de contenu (inset = moitié du column-margin).
        2) L'espace vertical entre rangées internes manque (la variante sans
           .container-wrap n'existe pas dans le CSS scopé).
        3) Padding interne des cartes : la preprod porte une version antérieure
           du contenu, sans les classes de padding de la prod (30px mesurés). */
.mvw-wpb .wpb_row[data-column-margin="10px"]:not(.full-width-section):not(.full-width-content) { margin-bottom: 10px; }
.mvw-wpb .wpb_row[data-column-margin="20px"]:not(.full-width-section):not(.full-width-content) { margin-bottom: 20px; }
.mvw-wpb .wpb_row[data-column-margin="30px"]:not(.full-width-section):not(.full-width-content) { margin-bottom: 30px; }
.mvw-wpb .wpb_row[data-column-margin="40px"]:not(.full-width-section):not(.full-width-content) { margin-bottom: 40px; }

/* width:auto OBLIGATOIRE : le CSS scopé donne width:100% au wrap ; avec
   left + width posés, le right est ignoré (positionnement absolu sur-contraint)
   et le fond débordait dans la gouttière droite. width:auto → left+right
   définissent la largeur ; l'overlay enfant (100% du wrap) suit. */
.mvw-wpb [data-column-margin="10px"] .child_column > .column-bg-overlay-wrap { left: 5px !important;  right: 5px !important;  width: auto !important; }
.mvw-wpb [data-column-margin="20px"] .child_column > .column-bg-overlay-wrap { left: 10px !important; right: 10px !important; width: auto !important; }
.mvw-wpb [data-column-margin="30px"] .child_column > .column-bg-overlay-wrap { left: 15px !important; right: 15px !important; width: auto !important; }
.mvw-wpb [data-column-margin="40px"] .child_column > .column-bg-overlay-wrap { left: 20px !important; right: 20px !important; width: auto !important; }

.mvw-wpb .child_column.border-radius > .vc_column-inner { padding: 30px; }
@media (max-width: 690px) {
  .mvw-wpb .child_column.border-radius > .vc_column-inner { padding: 22px; }
}

/* Rangées en data-column-margin="default" : le CSS de prod n'a AUCUNE règle
   applicable hors du template Salient (chaînes .full-page-inner>.container et
   jamais les child_column : la prod a réédité ses grilles en "20px", la
   preprod garde l'ancien contenu en "default"). On leur applique le même
   comportement que "20px" : gouttières 10px compensées, fond de carte inset,
   espace vertical entre rangées. Neutre pour les colonnes pleines (12/12) :
   le padding est compensé par les marges négatives du wrap. */
.mvw-wpb .vc_row-fluid[data-column-margin="default"] > .span_12 {
  margin-left: -10px;
  margin-right: -10px;
}
.mvw-wpb .vc_row-fluid[data-column-margin="default"] .wpb_column {
  padding-left: 10px;
  padding-right: 10px;
}
.mvw-wpb [data-column-margin="default"] .child_column > .column-bg-overlay-wrap {
  left: 10px !important;
  right: 10px !important;
  width: auto !important;
}
.mvw-wpb .wpb_row[data-column-margin="default"]:not(.full-width-section):not(.full-width-content) {
  margin-bottom: 20px;
}

/* ---- Bandeau final hérité de l'ancien site : rangée pleine largeur à fond
        bleu nuit (#000838) SANS texte (juste le logo) : elle doublonne le
        footer du template landing. Masquée (la retirer proprement = supprimer
        la section dans l'éditeur WPBakery de la page). ---- */
.mvw-wpb .wpb_row.full-width-section:has(> .row-bg-wrap .row-bg[style*="#000838"]):not(:has(h1, h2, h3, h4, p, li, form)) {
  display: none !important;
}

/* ---- Typo : le CSS Salient scopé ramène Open Sans 14px (son body) dans le
        scope ; on réimpose la charte Movaway, chargée en dernier. ---- */
.mvw-wpb,
.mvw-wpb p,
.mvw-wpb li {
  font-family: var(--font-family-txt, 'Poppins', Arial, sans-serif);
}
.mvw-wpb {
  font-size: 16px;
  color: var(--ink, #000838);
}
.mvw-wpb h1, .mvw-wpb h2, .mvw-wpb h3, .mvw-wpb h4, .mvw-wpb h5, .mvw-wpb h6 {
  font-family: var(--font-family-title, 'Poppins', Arial, sans-serif);
  color: var(--ink, #000838);
}

/* ---- Grille de colonnes WPBakery (largeurs N/12, identiques à la prod
        Salient). Sous 690px : empilement (comportement d'origine). ---- */
@media (min-width: 690px) {
  .wpb_row [class*="vc_col-sm-"] { float: left; min-height: 1px; }
  .wpb_row .vc_col-sm-1  { width: 8.33333333%; }
  .wpb_row .vc_col-sm-2  { width: 16.66666667%; }
  .wpb_row .vc_col-sm-3  { width: 25%; }
  .wpb_row .vc_col-sm-4  { width: 33.33333333%; }
  .wpb_row .vc_col-sm-5  { width: 41.66666667%; }
  .wpb_row .vc_col-sm-6  { width: 50%; }
  .wpb_row .vc_col-sm-7  { width: 58.33333333%; }
  .wpb_row .vc_col-sm-8  { width: 66.66666667%; }
  .wpb_row .vc_col-sm-9  { width: 75%; }
  .wpb_row .vc_col-sm-10 { width: 83.33333333%; }
  .wpb_row .vc_col-sm-11 { width: 91.66666667%; }
  .wpb_row .vc_col-sm-12 { width: 100%; }
}
/* Clearfix des rangées (colonnes flottées) */
.wpb_row::after {
  content: "";
  display: table;
  clear: both;
}

/* ---- Sécurité médias ---- */
.wpb_row img {
  max-width: 100%;
  height: auto;
}

/* ---- Fonds de rangées (image posée par notre JS depuis data-nectar-img-src) :
        on garantit le dimensionnement « cover » de la prod. ---- */
.mvw-wpb .row-bg.using-image {
  background-size: cover;
  background-repeat: no-repeat;
}

/* ---- Classes PERSONNALISÉES de l'ancien site (extraites du CSS rendu de
        movaway.fr : elles vivaient dans le CSS additionnel du thème Salient,
        perdu au changement de thème). Les variables --filter-blue /
        --filter-light / --color-1 existent déjà dans base.css (charte). ---- */
.mvw-wpb img.icon {
  width: auto !important;
  height: 50px !important;
}
.mvw-wpb .light img.icon { filter: var(--filter-light); }
.mvw-wpb .filter-blue { filter: var(--filter-blue); }
.mvw-wpb .iwithtext { position: relative; }
.mvw-wpb .iwithtext .iwt-icon {
  position: absolute;
  left: 0;
  top: 0;
}
.mvw-wpb .iwithtext .iwt-icon img {
  width: 56px !important;
  height: auto;
  padding: 0;
}
.mvw-wpb .iwithtext .iwt-text { padding-left: 77px; }
.mvw-wpb .txt-icon-experience .iwithtext .iwt-icon img {
  width: 60px !important;
  padding: 16px;
  z-index: 1;
  position: relative;
  filter: var(--filter-light);
}
.mvw-wpb .txt-icon-experience .iwithtext .iwt-icon::before {
  position: absolute;
  content: '';
  width: 60px;
  height: 60px;
  background: var(--color-1);
  top: 0;
  border-radius: 50%;
}

/* ---- Animations d'entrée Salient : déclenchées par le JS du thème Salient
        (absent ici). Sans lui, les éléments animés resteraient en opacity:0 :
        on force la visibilité (même mécanisme que la classe
        .nectar-disable-mobile-animation de Salient). ---- */
.mvw-wpb img.img-with-animation,
.mvw-wpb .img-with-aniamtion-wrap .hover-wrap,
.mvw-wpb .wpb_column.has-animation,
.mvw-wpb .nectar_cascading_images .cascading-image .inner-wrap,
.mvw-wpb [data-animation] {
  opacity: 1 !important;
  transform: none !important;
}

/* ---- Boutons Gravity Forms des landing : le CSS hérité les laissait en
        texte bleu sur fond bleu (illisible). Couleurs forcées : charte. ---- */
.mvw-wpb .gform_button,
.mvw-wpb input[type="submit"].gform_button,
.mvw-wpb .gform_wrapper .gform_footer input[type="submit"] {
  background-color: var(--primary-cta, #1E63D9) !important;
  color: #fff !important;
  border: 0 !important;
}
.mvw-wpb .gform_button:hover,
.mvw-wpb input[type="submit"].gform_button:hover,
.mvw-wpb .gform_wrapper .gform_footer input[type="submit"]:hover {
  background-color: var(--primary-dark, #1c5dcc) !important;
  color: #fff !important;
}

/* ---- Couleur d'accent : générée dynamiquement par Salient depuis ses
        options (absentes ici) → mappée sur la charte Movaway.
        --primary-cta (bleu accessible) pour les surfaces à texte blanc. ---- */
.nectar-button.accent-color,
.nectar-button.accent-color:visited {
  background-color: var(--primary-cta, #1E63D9) !important;
  color: #fff !important;
}
.nectar-button.accent-color:hover {
  background-color: var(--primary-dark, #1c5dcc) !important;
}
i.accent-color,
[class*="icon-"].accent-color,
.icon-default-style.accent-color {
  color: var(--primary, #297cff);
}
.divider-small-border[data-color="accent-color"],
.divider-border[data-color="accent-color"] {
  background-color: var(--primary, #297cff);
  border-color: var(--primary, #297cff);
}
