/* ORDINATEUR SEULEMENT : HEADER */
@media (min-width: 992px) {

    .box-vogamenu3 .leo-megamenu .navbar-nav > li > a {
        font-size: 14px;
        letter-spacing: 0;
        padding-left: 15px;
        padding-right: 15px;
    }

    body.keep-header #page {
        padding-top: 250px !important;
    }

/* Menu gauche sticky sur desktop */
@media (min-width: 992px) {
  #left-column {
    position: sticky;
    top: 120px; /* ajuste selon la hauteur de ton header */
    height: calc(100vh - 120px);
    overflow: auto;
  }
}

}

/* BOUTON AJOUT AU PANIER – TOUS ÉCRANS */

    .product-miniature .add-to-cart {
        background-color: #ffffff !important;
        color: #000000 !important;
        border: 1px solid #dddddd !important;
        border-radius: 8px !important;
        padding: 8px 14px;
        font-weight: 500;
        text-transform: none;
        box-shadow: none !important;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.25s ease;
    }

    /* HOVER PANIER NEUTRE */

.product-miniature .add-to-cart:hover {
  background-color: #f5f5f5 !important;
  color: #000000 !important;
  border-color: #dddddd !important;
}

    /* Icône panier uniquement */
    .product-miniature .add-to-cart span {
        display: none !important;
    }

    .product-miniature .add-to-cart::before {
        content: "🛒";
        font-size: 16px;
    }

/* BOUTONS + / - LEO TOUCHSPIN (THEME MOVIC) */

.leo-touchspin .input-group-btn-vertical .btn.btn-primary {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #dddddd !important;
    border-radius: 8px !important;
    width: 42px;
    height: 42px;
    box-shadow: none !important;
    font-size: 18px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    transition: all 0.2s ease;
}

/* Hover */
.leo-touchspin .input-group-btn-vertical .btn.btn-primary:hover {
    background-color: #f5f5f5 !important;
    border-color: #bbbbbb !important;
}

/* Séparation visuelle entre + et - */
.leo-touchspin .input-group-btn-vertical .btn + .btn {
    margin-top: 6px;
}

/* ALIGNEMENT HORIZONTAL QUANTITÉ + / - + PANIER */

.product-miniature .leo-touchspin .input-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-miniature .leo-touchspin .input-group-btn-vertical {
    display: flex !important;
    flex-direction: row !important;
    gap: 6px;
}

/* Supprime l’empilement vertical */
.leo-touchspin .input-group-btn-vertical .btn + .btn {
    margin-top: 0 !important;
}

/* CHAMP QUANTITÉ – RÉDUCTION TAILLE */

.product-miniature .leo-touchspin input.leo_cart_quantity {
    width: 60px !important;   /* largeur */
    height: 42px !important;  /* même hauteur que les boutons */
    padding: 6px 8px !important;
    text-align: center;
    font-size: 16px;
    border-radius: 8px !important;
}

/* 1) FORCER QUANTITÉ + / - + PANIER SUR UNE LIGNE ET BIEN ALIGNÉS */
.product-miniature .leo-touchspin,
.product-miniature .button-container.cart{
  float: left !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}

/* espace entre le bloc quantité et le panier */
.product-miniature .button-container.cart{
  margin-left: 8px !important;
}

/* évite que l'input prenne une largeur énorme */
.product-miniature .leo-touchspin .input-group{
  display: flex !important;
  align-items: center !important;
  width: auto !important;
}

/* panier = même gabarit que + / - */
.product-miniature .button-container.cart .add-to-cart{
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* clearfix pour que les floats ne cassent pas la carte produit */
.product-miniature .product-meta::after{
  content: "";
  display: block;
  clear: both;
}

/* 2) NE PAS NOIRCIR AU SURVOL DU PANIER */
.product-miniature .add-to-cart:hover{
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #dddddd !important;
}

/* PANIER EN SVG (stable, parfaitement centré) */
.product-miniature .add-to-cart::before{
  content: "";
  width: 18px;
  height: 18px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
}

/* CENTRER LE GROUPE BOUTONS SOUS LE PRIX */

.product-miniature .product-meta{
  text-align: center;
}

.product-miniature .leo-touchspin,
.product-miniature .button-container.cart{
  float: none !important;
  display: inline-flex !important;
}

/* =========================================
   UI LISTING : PROPORTIONNEL + LISIBLE
   (Movic / leo-touchspin + button-container)
   ========================================= */

:root{
  --qa-size: 44px;   /* taille carrée boutons */
  --qa-gap: 10px;    /* espacement entre éléments */
  --qa-border: #dddddd;
  --qa-bg: #ffffff;
  --qa-bg-hover: #f5f5f5;
  --qa-text: #000;
}

/* Centre l'ensemble dans la carte */
.product-miniature .product-meta{
  text-align: center;
}

/* Pastilles couleurs : centrées et espacées */
.product-miniature .product-meta .variant-links,
.product-miniature .product-meta .color_to_pick_list,
.product-miniature .product-meta .color_pick,
.product-miniature .product-meta .color_to_pick_list ul{
  justify-content: center !important;
  display: flex !important;
  gap: 14px !important;
  margin: 10px 0 12px !important;
  padding: 0 !important;
}

/* Groupe quantité + / - + panier : 1 ligne, centré */
.product-miniature .leo-touchspin,
.product-miniature .button-container.cart{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle;
}

.product-miniature .button-container.cart{
  margin-left: var(--qa-gap) !important;
}

/* Input + boutons + / - alignés */
.product-miniature .leo-touchspin .input-group{
  display: flex !important;
  align-items: center !important;
  gap: var(--qa-gap) !important;
  width: auto !important;
}

/* Champ quantité : même hauteur que les boutons */
.product-miniature .leo-touchspin input.leo_cart_quantity{
  width: 64px !important;
  height: var(--qa-size) !important;
  border: 1px solid var(--qa-border) !important;
  border-radius: 12px !important;
  text-align: center !important;
  font-size: 16px !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Boutons + / - : carrés et propres */
.product-miniature .leo-touchspin .input-group-btn-vertical{
  display: flex !important;
  flex-direction: row !important;
  gap: var(--qa-gap) !important;
}

.product-miniature .leo-touchspin .input-group-btn-vertical .btn.btn-primary{
  width: var(--qa-size) !important;
  height: var(--qa-size) !important;
  padding: 0 !important;
  border: 1px solid var(--qa-border) !important;
  border-radius: 12px !important;
  background: var(--qa-bg) !important;
  color: var(--qa-text) !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.product-miniature .leo-touchspin .input-group-btn-vertical .btn.btn-primary:hover{
  background: var(--qa-bg-hover) !important;
}

/* Panier : même gabarit que + / - */
.product-miniature .button-container.cart .add-to-cart{
  width: var(--qa-size) !important;
  height: var(--qa-size) !important;
  padding: 0 !important;
  border: 1px solid var(--qa-border) !important;
  border-radius: 12px !important;
  background: var(--qa-bg) !important;
  color: var(--qa-text) !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* Pas de hover noir */
.product-miniature .button-container.cart .add-to-cart:hover{
  background: var(--qa-bg-hover) !important;
  color: var(--qa-text) !important;
  border-color: var(--qa-border) !important;
}

/* (si ton texte "Ajouter au panier" existe encore) */
.product-miniature .button-container.cart .add-to-cart span{
  display: none !important;
}

/* --- FIX Movic/Leo: sous-sous-menus (niveau 3+) à droite, sans recouvrir --- */

/* Assure le positionnement du parent */
.leo-megamenu li.dropdown-submenu,
.leo-megamenu li.parent {
  position: relative;
}

/* Le sous-menu (niveau 2) reste normal */
.leo-megamenu .dropdown-menu {
  overflow: visible;
}

/* Niveau 3 (et +) : s'ouvre à droite */
.leo-megamenu .dropdown-submenu > .dropdown-menu,
.leo-megamenu li.parent > .dropdown-menu .dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  right: auto;
  margin: 0;
  transform: none;
}
@media (min-width: 992px) {
  .search-widget,
  #search_widget {
    position: sticky;
    top: 90px;
    z-index: 1000;
    background: #fff;
    padding: 10px 0;
  }
}

/* === Movic / Ap Page Builder : empêcher le texte des bannières d'être coupé === */
.ApImage .image_description,
.ApImage .image_description *,
.bannercontainer .tp-caption,
.bannercontainer .tp-caption .caption-contain,
.bannercontainer .tp-caption span,
.block-banner .text,
.block-banner h2,
.block-banner h3 {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  max-width: 100% !important;
  word-break: break-word !important;
}
