/* Ajustements transverses vd-web (chargé sur toutes les pages). */

/* Le menu principal est passé de six à sept entrées : on resserre légèrement
   l'espacement entre 1025 et 1400 px pour qu'il tienne sur une seule ligne,
   sans toucher à la taille du texte en dessous de cette largeur. */
@media (min-width: 1025px) {
  /* Sept entrées tiennent sur une ligne : on interdit le retour à la ligne
     et on resserre l'espacement plutôt que de laisser « Contact » tomber. */
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav {
    flex-wrap: nowrap;
    justify-content: center;
  }
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav > li > a {
    padding-left: 7px;
    padding-right: 7px;
    font-size: 16px;
    white-space: nowrap;
  }
}
@media (min-width: 1700px) {
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav > li > a {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 18px;
  }
}

/* ------------------------------------------------------------------ *
   En-tête : logo | menu | actions

   L'ancienne mise en page répartissait trois colonnes en pourcentages, ce qui
   obligeait à rattraper chaque largeur d'écran au cas par cas — et laissait le
   bouton venir mordre sur la fin du menu. Les trois blocs sont désormais une
   vraie rangée flexible : le logo et les boutons gardent leur taille, le menu
   occupe ce qui reste et son échelle suit la largeur de la fenêtre. Un écart
   franc sépare toujours le dernier lien du premier bouton.
 * ------------------------------------------------------------------ */
@media (min-width:1025px){
  .elementor-9434 .elementor-element.elementor-element-d2fb02e{
    --flex-direction:row;
    --flex-wrap:nowrap;
    --align-items:center;
    --justify-content:space-between;
    --gap:clamp(20px,2.6vw,52px);
    --row-gap:0px;
    --column-gap:clamp(20px,2.6vw,52px);
  }
  .elementor-9434 .elementor-element.elementor-element-cce3426{
    --width:auto;
    flex:0 0 clamp(140px,13vw,205px);
  }
  .elementor-9434 .elementor-element.elementor-element-e008ce8{
    --width:auto;
    flex:1 1 auto;
    min-width:0;
  }
  .elementor-9434 .elementor-element.elementor-element-473a9b3{
    --width:auto;
    --align-items:center;
    flex:0 0 auto;
  }
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav{
    flex-wrap:nowrap;
    justify-content:center;
  }
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav > li > a{
    font-size:clamp(13px,1.02vw,17px);
    padding-left:clamp(4px,0.6vw,12px);
    padding-right:clamp(4px,0.6vw,12px);
    white-space:nowrap;
  }
}

/* ------------------------------------------------------------------ *
   Les deux actions de l'en-tête
 * ------------------------------------------------------------------ */
.vd-head-actions{display:flex;align-items:center;gap:12px}
.vd-btn-head{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:46px;padding:0 clamp(16px,1.5vw,24px);
  border-radius:999px;border:2px solid #0e1714;
  font-family:Rajdhani,system-ui,sans-serif;font-weight:700;
  font-size:clamp(14px,1.02vw,16px);line-height:1;letter-spacing:.035em;
  text-decoration:none;white-space:nowrap;
  transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.vd-btn-head .vd-ico{flex:none;width:18px;height:18px}
.vd-label-short{display:none}

/* Action principale : dépôt d'inventaire */
.vd-btn-primary{background:#0e1714;color:#fff;box-shadow:0 6px 18px rgba(14,23,20,.22)}
.vd-btn-primary .vd-ico{color:#a9de59}
.vd-btn-primary:hover,.vd-btn-primary:focus-visible{
  background:#a9de59;border-color:#0e1714;color:#0e1714;
  box-shadow:0 10px 24px rgba(14,23,20,.28);transform:translateY(-1px);
}
.vd-btn-primary:hover .vd-ico,.vd-btn-primary:focus-visible .vd-ico{color:#0e1714}

/* Action secondaire : accès au compte */
.vd-btn-ghost{background:transparent;color:#0e1714}
.vd-btn-ghost:hover,.vd-btn-ghost:focus-visible{
  background:#0e1714;color:#fff;transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(14,23,20,.22);
}
.vd-btn-ghost .vd-ico{color:currentColor}
.vd-btn-head:focus-visible{outline:3px solid #0e1714;outline-offset:3px}
.vd-btn-head:active{transform:translateY(0)}

/* Écrans intermédiaires : « Mon compte » se réduit à son icône pour rendre
   au menu la place qui lui manque. Le libellé reste annoncé aux lecteurs
   d'écran par aria-label, et s'affiche en infobulle au survol. */
@media (min-width:1025px) and (max-width:1699px){
  .vd-btn-ghost{width:46px;padding:0;gap:0}
  .vd-btn-ghost > span{display:none}
}

/* Ordinateurs étroits : tout se resserre d'un cran pour que les sept liens
   tiennent sans jamais toucher le logo ni les boutons. */
@media (min-width:1025px) and (max-width:1279px){
  .elementor-9434 .elementor-element.elementor-element-d2fb02e{
    --gap:18px;--column-gap:18px;
  }
  .elementor-9434 .elementor-element.elementor-element-cce3426{flex:0 0 132px}
  .elementor-9434 .vd-head-actions{gap:10px}
  .elementor-9434 .vd-btn-head{height:44px;padding:0 15px;font-size:14px;letter-spacing:.02em}
  .elementor-9434 .vd-btn-ghost{width:44px;padding:0}
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav > li > a{
    font-size:13.5px;padding-left:5px;padding-right:5px;
  }
  /* Libellé court : « Déposer » suffit, l'icône et l'infobulle disent le reste. */
  .elementor-9434 .vd-label-full{display:none}
  .elementor-9434 .vd-label-short{display:inline}
}

/* Dernier cran, pour les écrans de 1025 à 1100 px. */
@media (min-width:1025px) and (max-width:1100px){
  .elementor-9434 .elementor-element.elementor-element-d2fb02e{--gap:16px;--column-gap:16px}
  .elementor-9434 .elementor-element.elementor-element-cce3426{flex:0 0 124px}
  .elementor-9434 .vd-head-actions{gap:8px}
  .elementor-9434 .vd-btn-head{height:42px;padding:0 13px;font-size:13.5px}
  .elementor-9434 .vd-btn-ghost{width:42px;padding:0}
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav > li > a{
    font-size:13px;padding-left:4px;padding-right:4px;
  }
}

/* Panneau du menu sur mobile : les deux actions, pleine largeur */
@media (max-width:1024px){
  .vd-head-actions{display:none !important}
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav > li.vd-nav-action{
    margin-top:12px;padding:0 12px;
  }
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav > li.vd-nav-action > a.vd-btn-head,
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav > li.vd-nav-action > a.vd-btn-head:visited{
    width:100%;height:52px;font-size:17px;
  }
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav > li.vd-nav-action > a.vd-btn-primary{
    background:#0e1714;color:#fff;border-color:#0e1714;
  }
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav > li.vd-nav-action > a.vd-btn-ghost{
    background:transparent;color:#0e1714;border-color:#0e1714;
  }
}
@media (min-width:1025px){
  .elementor-9434 .elementor-element.elementor-element-3f3f976 .elementskit-navbar-nav > li.vd-nav-action{
    display:none !important;
  }
}

/* ------------------------------------------------------------------ *
   Espacement des titres de page

   L'en-tête est en position absolue au-dessus du contenu. Chaque page
   compensait ce recouvrement à sa manière — 195 px ici, 150 px là, plus un
   décalage de 65 px posé en ligne pour le mobile — d'où des titres tantôt
   collés sous l'en-tête, tantôt perdus au milieu d'un bandeau trop haut.
   La compensation est désormais calculée une seule fois à partir de la
   hauteur réelle de l'en-tête.
 * ------------------------------------------------------------------ */
:root{--vd-header-h:163px}
@media (max-width:1024px){:root{--vd-header-h:105px}}

/* Le décalage en ligne de 65 px laissait une bande blanche sous l'en-tête. */
body [data-elementor-type="wp-page"]{padding-top:0 !important}

/* Bandeau de titre des pages intérieures : autant d'air au-dessus du titre
   qu'en dessous. Les conteneurs « boxed » d'Elementor insèrent un
   .e-con-inner entre la section et ses enfants : il faut le traverser. */
body:not(.home) [data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con-inner > .e-con:first-child,
body:not(.home) [data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con:first-child{
  --padding-top:var(--vd-header-h);
  --padding-bottom:0px;
}
body:not(.home) [data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con-inner > .e-con:first-child > .e-con-inner > .e-con:first-child,
body:not(.home) [data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con-inner > .e-con:first-child > .e-con:first-child{
  --padding-top:56px;
  --padding-bottom:56px;
}
@media (max-width:1024px){
  /* Valeurs vérifiées au rendu : en dessous de celles-ci, l'animation de
     titre du thème ne révèle plus le texte sur petit écran. */
  body:not(.home) [data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con-inner > .e-con:first-child,
  body:not(.home) [data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con:first-child{
    /* Bandeau court, titre centré. Valeurs trouvées au rendu : en dessous,
       le gabarit tronque la deuxième ligne du titre ; au-dessus, le bandeau
       se remplit de vide. 235 px avant, 137 px maintenant. */
    --padding-top:22px;
    --padding-bottom:62px;
  }
  body:not(.home) [data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con-inner > .e-con:first-child > .e-con-inner > .e-con:first-child,
  body:not(.home) [data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con-inner > .e-con:first-child > .e-con:first-child{
    --padding-top:50px;
    --padding-bottom:50px;
  }
}

/* Accueil : le bandeau est une image pleine hauteur, on se contente de
   garantir le dégagement sous l'en-tête sur petits écrans. */
@media (max-width:1024px){
  body.home [data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con-inner > .e-con:first-child,
  body.home [data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con:first-child{
    --padding-top:calc(var(--vd-header-h) + 15px);
  }
}
