@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//nuluyafit.com/wp-content/themes/woodmart/fonts/woodmart-font-1-300.woff2?v=8.3.8") format("woff2");
	font-display:block;
}

:root {
	--wd-text-font: "hkgroteskpro", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #767676;
	--wd-text-font-size: 16px;
	--wd-title-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 700;
	--wd-title-transform: uppercase;
	--wd-title-color: #242424;
	--wd-entities-title-font: "hkgroteskpro", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "hkgroteskpro", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 500;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "hkgroteskpro", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 700;
	--wd-header-el-transform: capitalize;
	--wd-header-el-font-size: 20px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(51,51,51);
	--wd-alternative-color: rgb(129,215,66);
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: rgb(51,51,51);
	--btn-accented-bgcolor-hover: rgb(0,0,0);
	--wd-form-brd-width: 1px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: rgb(255,255,255);
	background-image: none;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
	--wd-popup-padding: 0px;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: left center;
}
.wd-footer {
	background-color: rgb(239,239,239);
	background-image: none;
}
html .post.wd-post:not(.blog-design-small) .wd-entities-title {
	font-size: 22px;
}
.page .wd-page-content {
	background-color: rgb(249,247,242);
	background-image: none;
}
.woodmart-archive-shop:not(.single-product) .wd-page-content {
	background-color: rgb(249,247,242);
	background-image: none;
}
.single-product .wd-page-content {
	background-color: rgb(249,247,242);
	background-image: none;
}
.woodmart-archive-portfolio .wd-page-content {
	background-color: rgb(249,247,242);
	background-image: none;
}
.single-portfolio .wd-page-content {
	background-color: rgb(249,247,242);
	background-image: none;
}
.wd-nav-arrows.wd-pos-sep:not(:where(.wd-custom-style)) {
	--wd-arrow-icon-size: 20px;
	--wd-arrow-offset-h: 23px;
	--wd-arrow-color: rgb(0,0,0);
	--wd-arrow-bg: rgb(237,237,237);
}
.product-labels .product-label.onsale {
	background-color: rgb(255,69,0);
	color: rgb(255,255,255);
}
.product-labels .product-label.out-of-stock {
	background-color: rgb(211,47,47);
	color: rgb(255,255,255);
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}
.wd-builder-off .wd-fbt.wd-design-side {
	--wd-form-width: 1%;
}

@media (max-width: 1024px) {
	html .post.wd-post:not(.blog-design-small) .wd-entities-title {
		font-size: 20px;
	}

}

@media (max-width: 768.98px) {
	html .post.wd-post:not(.blog-design-small) .wd-entities-title {
		font-size: 18px;
	}
	.wd-nav-arrows.wd-pos-sep:not(:where(.wd-custom-style)) {
		--wd-arrow-size: 50px;
	}

}
:root{
--wd-container-w: 1400px;
--wd-form-brd-radius: 0px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 0px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-default-box-shadow-active: none;
--btn-default-bottom: 0px;
--btn-accented-bottom-active: -1px;
--btn-accented-brd-radius: 0px;
--btn-accented-box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .15);
--btn-accented-box-shadow-hover: inset 0 -2px 0 rgba(0, 0, 0, .15);
--wd-brd-radius: 0px;
}

@media (min-width: 1400px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}

rs-slides :is([data-type=text],[data-type=button]) {
font-family: hkgroteskpro !important;
}
rs-slides :is(h1,h2,h3,h4,h5,h6)[data-type=text] {
font-family: Inter !important;
}

.wd-page-title {
background-color: rgb(239,237,233);
}

@font-face {
	font-family: "hkgroteskpro";
	src: url("//nuluyafit.com/wp-content/uploads/2021/10/HKGroteskPro-Light.woff") format("woff");
	font-weight: 300;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "hkgroteskpro";
	src: url("//nuluyafit.com/wp-content/uploads/2021/09/hkgroteskpro-regular.woff2") format("woff2"), 
url("//nuluyafit.com/wp-content/uploads/2021/09/hkgroteskpro-regular.woff") format("woff");
	font-weight: 400;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "hkgroteskpro";
	src: url("//nuluyafit.com/wp-content/uploads/2021/09/hkgroteskpro-medium.woff2") format("woff2"), 
url("//nuluyafit.com/wp-content/uploads/2021/09/hkgroteskpro-medium.woff") format("woff");
	font-weight: 500;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "hkgroteskpro";
	src: url("//nuluyafit.com/wp-content/uploads/2021/09/hkgroteskpro-bold.woff2") format("woff2"), 
url("//nuluyafit.com/wp-content/uploads/2021/09/hkgroteskpro-bold.woff") format("woff");
	font-weight: 600;
	font-display:swap;
	font-style: normal;
}

/* --- DESIGN FORMULAIRE BREVO POPUP (GLOBAL) --- */

/* 1. LE CONTENEUR (Centrage et largeur) */
#sib_signup_form_2 {
    max-width: 350px !important;
    width: 90% !important;     
    margin: 0 auto !important; 
    display: block !important;
    text-align: center !important;
}

/* 2. LES CHAMPS (Input blanc) */
#sib_signup_form_2 input[type="email"],
#sib_signup_form_2 input[type="text"] {
    background-color: #ffffff !important; 
    color: #000000 !important; 
    border: 1px solid #ffffff !important; 
    border-radius: 5px !important;
    padding: 12px !important; 
    font-size: 15px !important;
    width: 100% !important; 
    box-sizing: border-box !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

#sib_signup_form_2 ::placeholder {
    color: #888888 !important; 
    text-align: center !important;
}

/* 3. LE BOUTON (Noir & Rond) */
#sib_signup_form_2 .sib-default-btn {
    background-color: #000000 !important; 
    color: #ffffff !important; 
    border: 2px solid #000000 !important; 
    border-radius: 50px !important; 
    padding: 12px 20px !important; 
    font-weight: 700 !important; 
    text-transform: uppercase !important; 
    letter-spacing: 1px !important;
    width: 100% !important; 
    cursor: pointer !important;
    transition: all 0.3s ease !important; 
}

#sib_signup_form_2 .sib-default-btn:hover {
     background-color: #ffffff !important; 
     color: #000000 !important;
}

#sib_signup_form_2 .sib-alert-message {
    color: #ffffff !important; 
}


/* 1. Cache le conteneur et supprime l'effet "grisé" natif de Woodmart */
.wd-dynamic-discounts {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: none !important;
}

/* Supprime l'overlay de chargement Woodmart qui grise les packs */
.wd-dynamic-discounts .wd-loader-overlay {
    display: none !important;
}

/* 2. Rendre visible uniquement quand le script JS a fini tout son travail */
.wd-dynamic-discounts.js-pack-ready {
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity 0.3s ease-in-out !important;
}

/* =========================================================
   0. CONFIGURATION TACTILE & ZOOM (DÉBLOCAGE SLIDERS)
   ========================================================= */
/* Autorise le zoom (pinch) même sur les carousels et images produits */
html, 
body,
.wd-page-wrapper,
.wd-slider,
.wd-carousel-inner,
.wd-carousel-wrap,
.swiper-container,
.swiper-wrapper,
.swiper-slide,
.product-grid-item,
.product-element-top,
.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery img,
img {
    /* "manipulation" autorise le scroll et le zoom, mais bloque le double-tap */
    touch-action: manipulation !important; 
}

/* =========================================================
   AVIS TRUSPILOT PAGE PRODUIT 
   ========================================================= */
/* --- WIDGET TRUSTPILOT VERSION RÉDUITE --- */

.single-product-page .summary .price {
    margin-bottom: 2px !important;
}

.nuluya-tp-inline {
    display: inline-flex !important;
    align-items: center;
    gap: 7px; /* Réduction de l'espace entre les éléments */
    margin: 0 0 12px 0 !important; 
    text-decoration: none !important;
}

.tp-rect-wrap {
    display: flex;
    gap: 1.5px;
}

/* Taille réduite des rectangles (16px au lieu de 20px) */
.tp-rect {
    width: 16px; 
    height: 16px;
    background-color: #dbdbdb;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1px; /* Coins légèrement plus carrés pour la petite taille */
    transition: background-color 0.3s ease;
}

/* Taille de l'étoile ajustée */
.tp-rect span {
    color: #ffffff;
    font-size: 11px;
    line-height: 1;
}

/* --- LOGIQUE DE COLORATION (IDENTIQUE) --- */

.nuluya-tp-inline[data-score^="1"] .tp-rect:nth-child(1),
.nuluya-tp-inline[data-score^="2"] .tp-rect:nth-child(1),
.nuluya-tp-inline[data-score^="3"] .tp-rect:nth-child(1),
.nuluya-tp-inline[data-score^="4"] .tp-rect:nth-child(1),
.nuluya-tp-inline[data-score^="5"] .tp-rect:nth-child(1) { background-color: #00b67a; }

.nuluya-tp-inline[data-score^="2"] .tp-rect:nth-child(2),
.nuluya-tp-inline[data-score^="3"] .tp-rect:nth-child(2),
.nuluya-tp-inline[data-score^="4"] .tp-rect:nth-child(2),
.nuluya-tp-inline[data-score^="5"] .tp-rect:nth-child(2) { background-color: #00b67a; }

.nuluya-tp-inline[data-score^="3"] .tp-rect:nth-child(3),
.nuluya-tp-inline[data-score^="4"] .tp-rect:nth-child(3),
.nuluya-tp-inline[data-score^="5"] .tp-rect:nth-child(3) { background-color: #00b67a; }

.nuluya-tp-inline[data-score^="4"] .tp-rect:nth-child(4),
.nuluya-tp-inline[data-score^="5"] .tp-rect:nth-child(4) { background-color: #00b67a; }

.nuluya-tp-inline[data-score^="5"] .tp-rect:nth-child(5) { background-color: #00b67a; }

/* --- TEXTE ET LOGO RÉDUITS --- */

.tp-t {
    font-size: 13px; /* Texte légèrement plus petit */
    color: #1c1c1c;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    line-height: 1;
}

.tp-l {
    width: 55px !important; /* Logo réduit de 65px à 55px */
    height: auto !important;
    margin-top: 1px;
}


/* =========================================================
   NULUYA FIT - STRATEGIE SEO
   ========================================================= */

/* --- 1. SEO & ACCESSIBILITÉ (GARDÉ) --- */
.sr-only {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.term-description {
    display: none !important;
}

/* --- 2. TÉMOIGNAGES : FONDU TOTAL DANS LE BEIGE (ADAPTÉ) --- */
/* On garde tes bulles grises individuelles intactes */
#mes-avis-home-page .testimonial-content {
    background-color: #F4F4F4 !important;
    border-radius: 50px !important;
    padding: 35px !important;
    text-align: center !important;
    box-shadow: 0px 4px 15px rgba(0,0,0,0.05) !important;
    border: none !important;
}

#mes-avis-home-page .testimonial-text,
#mes-avis-home-page .testimonial-name {
    color: #1a1a1a !important;
    font-style: normal !important;
}

#mes-avis-home-page .wd-star-rating {
    color: #FFB800 !important;
    display: inline-block !important;
    margin-bottom: 10px !important;
}

#mes-avis-home-page .testimonial-content::before, 
#mes-avis-home-page .testimonial-content::after {
    display: none !important;
}
/* --- 1. BOUTIQUE & GRILLES : TRANSPARENCE TOTALE --- */
.shop-loop-head,
.wd-shop-tools,
.products-thick-row,
.woocommerce-pagination,
.wd-products-element,
.product-grid-item.wd-product,
.product-wrapper,
.wd-product-bg {
    background-color: transparent !important;
    --wd-prod-bg: transparent !important;
    border: none !important; /* Supprime la bordure native grise qui crée le "double" */
    box-shadow: none !important;
}

/* --- 2. CADRES NOIRS AFFINÉS & RATIO 4:5 --- */
.product-grid-item .product-element-top,
.product-grid-item .product-element-top a.product-image-link {
    aspect-ratio: 4 / 5 !important;
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    height: auto !important;
    background-color: transparent !important;
    border-radius: 12px !important;
    border: none !important;
    /* TECHNIQUE NANO : Bordure 1px ultra-fine et nette */
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.8) !important;
}

/* Force l'image à ne pas dépasser (évite le flou sur les bords) */
.product-grid-item .product-element-top img {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    object-fit: cover !important;
    object-position: top center !important;
}


/* --- 4. GALERIE PAGE PRODUIT (COHÉRENCE 4:5) --- */
.woocommerce-product-gallery figure img,
.woocommerce-product-gallery .wd-carousel-item img, 
.woocommerce-product-gallery__image img {
    aspect-ratio: 4 / 5 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; 
    object-position: center center !important; 
}

.woocommerce-product-gallery .owl-stage-outer,
.woocommerce-product-gallery__wrapper {
     aspect-ratio: 4 / 5 !important;
}

/* --- 5. BULLES VIDÉOS (NETTETÉ & DESIGN) --- */
.ma-bulle-video {
    max-width: 480px !important; 
    margin: 20px auto !important; 
    border-radius: 40px !important; 
    overflow: hidden !important;
    box-shadow: 0px 15px 35px rgba(0,0,0,0.12) !important;
    background-color: #000;
}

.ma-bulle-video video {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
    image-rendering: -webkit-optimize-contrast !important;
    filter: contrast(1.05) brightness(1.02);
}

/* --- 6. SÉCURITÉ TECHNIQUES SLIDERS --- */
.product-grid-item .wd-product-grid-slide {
    height: 100% !important;
    width: 100% !important;
}


/* Empêche la section Meilleures Ventes de se faire recouvrir */

.wd-products-element {
    position: relative;
    z-index: 10;
    background-color: white; /* Force le fond pour masquer ce qui remonte */
}

/* Stabilise le slider de mise en avant */
.wd-slider {
    position: relative;
    z-index: 5;
    margin-top: 0 !important; /* Annule toute remontée accidentelle */
}

/* =========================================================
   FIX ULTIME SLIDER 148 : OPTIMISATION EXPERT NULUYA
   ========================================================= */

/* 1. VUE ORDINATEUR (Écrans larges) - AGRANDIE
   --------------------------------------------------------- */
@media (min-width: 1025px) {
    #slider-148 .wd-slide-inner {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important; /* Force hauteur égale image/texte */
        border: 2px solid #000000 !important;
        border-radius: 20px !important;
        background-color: #ffffff !important;
        overflow: hidden !important;
        /* --- MODIFICATION ICI : Élargissement du cadre --- */
        max-width: 1300px !important; 
        width: 95% !important;
        margin: 0 auto 60px auto !important;
    }

    #slider-148 .elementor-element-6ee59ad {
        display: flex !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
    }

    /* Colonne GAUCHE (Image) : Ajustement du ratio pour le nouveau cadre */
    #slider-148 .elementor-element-0d7bf18 {
        width: 50% !important;
        flex: 0 0 50% !important;
        /* Maintien du ratio luxe 4:5 même avec l'agrandissement */
        aspect-ratio: 4 / 5 !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #slider-148 .wd-image-hotspot-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
    }

    /* Colonne DROITE (Texte) : Réadaptation de l'espace interne */
    #slider-148 .elementor-element-5637dbe {
        width: 50% !important;
        flex: 0 0 50% !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        /* --- AJUSTEMENT ICI : Augmentation du padding pour compenser l'agrandissement --- */
        padding: 60px !important; 
        text-align: center !important;
    }

    /* Réalignement du Titre, Texte et Bouton pour le nouveau volume */
    #slider-148 .elementor-heading-title {
        font-size: 32px !important; /* Léger agrandissement du titre pour l'équilibre */
        margin-bottom: 20px !important;
    }

    #slider-148 .elementor-widget-text-editor {
        font-size: 17px !important;
        line-height: 1.6 !important;
        max-width: 85% !important; /* Empêche le texte de s'étaler trop largement */
        margin-bottom: 25px !important;
    }

    #slider-148 .elementor-button {
        padding: 15px 40px !important; /* Bouton plus généreux pour le grand cadre */
    }
}
/* =========================================================
   2. VUE TABLETTE 
   ========================================================= */
@media (min-width: 768px) and (max-width: 1024px) {
    #slider-148 .wd-slide-inner {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        border: 2px solid #000000 !important;
        border-radius: 20px !important;
        background-color: #ffffff !important;
        overflow: hidden !important;
        max-width: 95% !important;
        margin: 0 auto 30px auto !important; 
        min-height: 450px !important;
    }

    #slider-148 .elementor-element-6ee59ad {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
    }

    #slider-148 .elementor-element-0d7bf18 {
        width: 50% !important;
        flex: 0 0 50% !important;
        aspect-ratio: 4 / 5 !important;
        overflow: hidden !important;
        padding: 0 !important;
    }

    #slider-148 .wd-image-hotspot-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
    }

    #slider-148 .elementor-element-5637dbe {
        width: 50% !important;
        flex: 0 0 50% !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 30px !important;
        text-align: center !important;
    }
}

/* =========================================================
   3. VUE MOBILE (iPhone & Android) – VERSION VALIDÉE + ARRONDI
   ========================================================= */
@media (max-width: 767px) {

    /* SLIDE : layout naturel, aucune hauteur forcée */
    #slider-148 .wd-slide-inner {
        display: flex !important;
        flex-direction: column !important;
        border: 2px solid #000000 !important;
        
        /* Rayon du cadre */
        border-radius: 25px !important; 
        
        background-color: #ffffff !important;
        
        /* MODIFIÉ : On laisse visible pour les hotspots */
        overflow: visible !important; 
        
        width: 90% !important;
        margin: 0 auto 50px auto !important;
        box-sizing: border-box !important;
        height: auto !important;
        min-height: unset !important;
    }

    /* Wrapper interne Elementor */
    #slider-148 .elementor-element-6ee59ad {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
    }

    /* =====================
       ZONE IMAGE
       ===================== */

    #slider-148 .elementor-element-0d7bf18 {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-height: 60vh !important;   /* plafond visuel, pas bloquant */
        
        /* MODIFIÉ : Visible pour ne pas couper les hotspots */
        overflow: visible !important; 
    }

    #slider-148 .wd-image-hotspot-img {
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
        object-position: center 15% !important;
        display: block !important;
        
        /* --- AJOUT : ARRONDI MANUEL HAUT --- */
        /* 25px (Cadre) - 2px (Bordure) = 23px */
        border-top-left-radius: 23px !important;
        border-top-right-radius: 23px !important;
    }

    /* =====================
       ZONE TEXTE
       ===================== */

    #slider-148 .elementor-element-5637dbe {
        flex: 1 1 auto !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        padding: 20px 20px 25px 20px !important;
        background-color: #ffffff !important;
        text-align: center !important;
        height: auto !important;
        overflow: visible !important;
        
        /* --- AJOUT : ARRONDI MANUEL BAS --- */
        /* Pour épouser le bas du cadre noir */
        border-bottom-left-radius: 23px !important;
        border-bottom-right-radius: 23px !important;
    }

    #slider-148 .elementor-heading-title {
        font-size: 20px !important;
        margin-top: 5px !important;
        margin-bottom: 10px !important;
    }

    #slider-148 .elementor-widget-text-editor {
        margin-bottom: 12px !important;
        line-height: 1.3 !important;
    }

    #slider-148 .elementor-button {
        margin-top: 10px !important;
        align-self: center !important;
        flex-shrink: 0 !important;
    }
}

/* =========================================================
   HOTSPOT POPUP
   ========================================================= */

#slider-148 .hotspot-product {
    min-width: 220px !important;
    max-width: 260px !important;
    width: auto !important;
    padding: 14px 16px !important;
    box-sizing: border-box !important;
}

#slider-148 .hotspot-product .hotspot-content-image,
#slider-148 .hotspot-product .hotspot-content-text,
#slider-148 .hotspot-product .wd-more-desc,
#slider-148 .hotspot-product .wd-more-desc-inner,
#slider-148 .hotspot-product .wd-more-desc-btn {
    display: none !important;
}

#slider-148 .hotspot-product .wd-entities-title {
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
    text-align: center !important;
}

#slider-148 .hotspot-product .price {
    font-size: 15px !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

#slider-148 .hotspot-product .button {
    width: 100% !important;
    padding: 8px 10px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

@media (max-width: 767px) {
    #slider-148 .hotspot-product {
        min-width: 200px !important;
        max-width: 230px !important;
        padding: 12px 14px !important;
        z-index: 9999 !important;
    }
}



/* --- BADGES (PROMO / RUPTURE) : COLLÉS ET CENTRÉS --- */

/* 1. POSITIONNEMENT : On colle le bloc strictement en haut à gauche (0px) */
body .product-grid-item .product-labels {
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
}

/* 2. STYLE VISUEL DU BADGE */
body .product-label {
    /* Taille du texte : 12px est le meilleur équilibre pour "RUPTURE" */
    font-size: 14px !important;      
    font-weight: 700 !important;
    
    /* Dimensions du carré */
    min-width: 50px;                 
    min-height: 50px !important;     
    padding: 2px 4px !important;     
    
    /* Gestion du texte long (Rupture de stock) */
    text-transform: uppercase;
    white-space: normal !important;  
    word-break: normal !important;   
    overflow-wrap: break-word !important; 
    
    /* Centrage parfait vertical et horizontal */
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center !important;
    line-height: 1.1 !important;     

    /* FINITION : Coin carré en haut à gauche pour fusionner avec l'image */
    border-top-left-radius: 0 !important; 
}
/* ======================================================================= */
/* --- VERSION BADGE ÉPURÉ (SANS BARRE) - ALIGNEMENT OPTIMISÉ --- */
/* ======================================================================= */

/* 1. ANIMATION GLOBALE */
.wd-stock-progress-bar, 
.single-product .wd-stock-progress-bar {
    max-width: 250px !important; /* Largeur augmentée pour le texte sur une ligne */
    animation: flashWithPause 6s infinite !important;
    display: block !important;
}

/* 2. AJOUT DU TEXTE ENRICHI */
.wd-stock-progress-bar .current-stock span:after {
    content: " EN STOCK 🔥";
    display: inline-block;
    margin-left: 5px;
}

/* 3. MASQUAGE DE LA BARRE PHYSIQUE */
.wd-stock-progress-bar .progress-area {
    display: none !important;
}

/* 4. REPOSITIONNEMENT CENTRAL DU TEXTE */
.wd-stock-progress-bar .stock-info {
    margin-bottom: 0 !important;
    padding: 5px 0 !important;
    /* On replace le texte entre l'ancienne position du texte et de la barre */
    transform: translateY(10px); 
}

/* 5. CONFIGURATION CATALOGUE (Centré et Stable) */
.product-grid-item .wd-stock-progress-bar {
    margin-left: auto !important;
    margin-right: auto !important;
    position: absolute !important;
    bottom: 12px !important; /* Ajusté pour être centré dans la zone basse */
    left: 0;
    right: 0;
}

.product-grid-item .wd-stock-progress-bar .stock-info {
    justify-content: center !important;
    display: flex !important;
}

/* Réduction du padding car plus de barre à loger */
.product-grid-item .product-element-bottom {
    display: flex !important;
    flex-direction: column !important;
    min-height: 165px !important; 
    padding-bottom: 40px !important; 
    position: relative !important;
}

/* 6. CONFIGURATION FICHE PRODUIT (Gauche) */
.single-product .wd-stock-progress-bar {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.single-product .wd-stock-progress-bar .stock-info {
    justify-content: flex-start !important;
    display: flex !important;
}

/* 7. DESIGN DU TEXTE ORANGE */
.wd-stock-progress-bar .stock-info {
    color: #FF4500 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase;
}

.wd-stock-progress-bar .current-stock span {
    color: #FF4500 !important;
}

.wd-stock-progress-bar .total-sold {
    display: none !important;
}

/* 8. LOGIQUE DE L'ANIMATION */
@keyframes flashWithPause {
    0%, 20%, 40% { opacity: 1; }
    10%, 30%, 50% { opacity: 0; }
    51%, 100% { opacity: 1; }
}

/* XXXXXXXXXXXXXXXXXXXXXXXX PACK DUO ET TRIO    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */

/* ======================================================================= */
/* 1. STRUCTURE GLOBALE (SOCLE INDISPENSABLE) */
/* ======================================================================= */
.wd-dynamic-discounts table {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    border: none !important;
    padding-top: 10px !important;
    background: transparent !important;
}

.wd-dynamic-discounts thead { display: none !important; }
.wd-dynamic-discounts tbody { display: flex !important; flex-direction: column !important; gap: 20px !important; width: 100% !important; }
.wd-dynamic-discounts tr > td:last-child { border-bottom: none !important; }

/* --- SÉCURITÉ FILTRAGE RADICALE : Supprime les résidus des packs masqués --- */
.wd-dynamic-discounts tr.pack-hidden-stock,
.wd-dynamic-discounts tr.pack-hidden-stock td,
.wd-dynamic-discounts tr.pack-hidden-stock span,
.wd-dynamic-discounts tr[style*="display: none"],
.wd-dynamic-discounts tr[style*="display: none"] td {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* ======================================================================= */
/* 2. VUE ORDINATEUR : UNIFORMISATION DES SÉLECTEURS & CADRES             */
/* ======================================================================= */
@media (min-width: 1025px) {
    
    /* A. Conteneur global : S'adapte au contenu le plus large (Trio) */
    .wd-dynamic-discounts {
        margin-left: 0 !important; 
        margin-right: 0 !important; 
        width: max-content !important; 
        display: table !important; 
        max-width: none !important;
        margin-bottom: 25px !important;
        position: relative !important;
        z-index: 10 !important;
    }

    .wd-dynamic-discounts table, 
    .wd-dynamic-discounts tbody {
        display: block !important;
        width: 100% !important;
    }

    /* B. Le Cadre (Ligne) : Uniformisé sur la largeur calculée */
    .wd-dynamic-discounts tr {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important; 
        align-items: stretch !important; 
        width: 100% !important; 
        background: #FFF9E5 !important;
        border: 3px solid #FFCC00 !important;
        border-radius: 12px !important;
        margin-bottom: 20px !important;
        padding: 0 !important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
    }

    /* C. Zone Gauche (Titre Jaune) */
    .wd-dd-quantity {
        flex: 0 0 120px !important; 
        padding: 10px 5px !important;  
        background: #FFCC00 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
    }

    /* E. Zone Droite (Configurateur) */
    .pack-selectors-container {
        flex: 1 1 auto !important; 
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 20px !important; 
        padding: 30px 25px 20px 25px !important;
        border: none !important;
    }

    /* F. Boites d'articles */
    .pack-item-selection {
        flex: 0 0 auto !important; 
        width: auto !important; 
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    /* G. LES LISTES DÉROULANTES : TAILLE UNIFORME FIXE (MODIFIÉ) */
    .pack-color-select, .pack-size-select, .pack-dynamic-select {
        /* On prend la largeur de l'élément le plus long comme référence */
        width: 160px !important; 
        min-width: 160px !important;
        height: 38px !important;
        font-size: 13px !important;
        padding: 0 10px !important;
        background-color: #fff !important;
        border: 1px solid #ddd !important;
        border-radius: 4px !important;
        margin-bottom: 8px !important;
        white-space: nowrap !important;
        cursor: pointer !important;
        text-align: center !important;
    }

    /* H. Le Bouton Ajouter : Poussé à droite */
    button.pack-add-button.single_add_to_cart_button {
        flex: 0 0 auto !important; 
        margin-left: auto !important; 
        min-width: 110px !important;
        height: 45px !important;
        padding: 0 20px !important;
        align-self: center !important; 
    }
}

/* ======================================================================= */
/* 3. VUE MOBILE & TABLETTE */
/* ======================================================================= */
@media (max-width: 1024px) {
    .wd-dynamic-discounts tr {
        display: flex !important;
        flex-direction: column !important;
        background: #FFF9E5 !important;
        border: 3px solid #FFCC00 !important;
        border-radius: 12px !important;
        text-align: center !important;
        min-height: auto !important;
        padding: 0 0 20px 0 !important; /* Pas de padding haut, le jaune colle */
        margin-top: 30px !important; /* Espace externe pour le badge */
        overflow: visible !important; 
    }

    .wd-dd-quantity {
        width: 100% !important;
        padding: 15px !important;
        font-size: 0 !important;
        background: #FFCC00 !important;
        color: #000000 !important;
        font-weight: 900 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 2px !important;
    }

    /* Le configurateur descend un peu */
    .pack-selectors-container {
        width: 95% !important; /* Légèrement élargi pour le confort */
        /* Marge haut 20px, Auto sur les côtés */
        margin: 20px auto 0 auto !important;
        align-self: center !important;
        background: #fff !important;
        border: 1px dashed #FFCC00 !important;
        border-radius: 8px !important;
        padding: 15px !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* AJOUT : Espace entre les blocs Article 1, 2 et 3 */
    .pack-item-selection {
        margin-bottom: 15px !important;
    }

    /* Évite la double marge sur le dernier article avant le bouton */
    .pack-item-selection:last-of-type {
        margin-bottom: 5px !important;
    }

    button.pack-add-button.single_add_to_cart_button {
        width: 100% !important;
        margin-top: 10px !important;
    }
}

/* ======================================================================= */
/* 4. ÉLÉMENTS COMMUNS */
/* ======================================================================= */

/* --- A. INJECTION DES TITRES MARKETING --- */
tr[data-min="2"] .wd-dd-quantity:before { 
    content: "🚀 PACK DUO 🚀"; 
    font-size: 15px !important; 
    font-weight: 700 !important; 
    opacity: 1 !important; 
    color: #000 !important; 
}
tr[data-min="3"] .wd-dd-quantity:before { 
    content: "🔥 PACK TRIO 🔥"; 
    font-size: 15px !important; 
    font-weight: 700 !important; 
    opacity: 1 !important; 
    color: #000 !important; 
}

/* Centrage global du titre */
tr .wd-dd-quantity:before {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
}

/* --- B. STYLE DU BADGE -10% --- */
span.header-discount-badge {
    display: block !important;
    font-size: 24px !important;
    color: #000 !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

/* --- C. STYLE DES PRIX --- */
.pack-custom-price-display {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
}

.pack-price-numbers {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.pack-old-price {
    text-decoration: line-through !important;
    color: #000000 !important; /* Couleur modifiable ici */
    font-size: 13px !important;
    font-weight: 400 !important;
    opacity: 0.8 !important;
}

.pack-new-price {
    text-decoration: none !important;
    color: #FF0000 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

/* --- D. LABELS & BOUTON --- */
.item-label {
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    color: #333;
    margin-bottom: 3px !important;
    display: block;
    text-align: center !important;
}

button.pack-add-button.single_add_to_cart_button {
    background-color: #000000 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-size: 12px !important;
    opacity: 1 !important;
}
button.pack-add-button.single_add_to_cart_button:hover {
    background-color: #333 !important;
}

/* ======================================================================= */
/* 6. ANIMATION "SHAKE" AUTOMATIQUE AVEC PAUSE */
/* ======================================================================= */

@keyframes wd-auto-shake {
    /* PHASE ACTIVE (0% à 15%) */
    0% { transform: translate(1px, 1px) rotate(0deg); }
    2% { transform: translate(-1px, -2px) rotate(-1deg); }
    4% { transform: translate(-3px, 0px) rotate(1deg); }
    6% { transform: translate(3px, 2px) rotate(0deg); }
    8% { transform: translate(1px, -1px) rotate(1deg); }
    10% { transform: translate(-1px, 2px) rotate(-1deg); }
    12% { transform: translate(-3px, 1px) rotate(0deg); }
    14% { transform: translate(3px, 1px) rotate(-1deg); }
    15% { transform: translate(0, 0) rotate(0); }
    /* PHASE PAUSE (16% à 100%) */
    100% { transform: translate(0, 0) rotate(0); }
}

.wd-dynamic-discounts tr {
    animation: wd-auto-shake 4s ease-in-out infinite !important;
    transform-origin: 50% 50%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
}

.wd-dynamic-discounts tr:nth-of-type(2) {
    animation-delay: 1.5s !important;
}
.wd-dynamic-discounts tr:nth-of-type(3) {
    animation-delay: 3s !important;
}

.wd-dynamic-discounts tr:hover {
    animation-play-state: paused !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15) !important;
    border-color: #000 !important;
    transition: box-shadow 0.3s, border-color 0.3s;
}

/* ======================================================================= */
/* 7. BADGE "OFFRE PRÉFÉRÉE" (DYNAMISÉ PAR LA CLASSE PACK-HIGHLIGHTED) */
/* ======================================================================= */

.wd-dynamic-discounts tr.pack-highlighted {
    position: relative !important;
    /* On s'assure que le tr a une marge haute pour le badge qui dépasse */
    margin-top: 35px !important; 
    overflow: visible !important;
}

.wd-dynamic-discounts tr.pack-highlighted::after {
    content: "💛 Offre préférée des clients";
    position: absolute !important;
    top: -15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    
    background: #000000 !important;
    color: #ffffff !important;
    
    font-size: 12px !important;
    padding: 6px 16px !important;
    border-radius: 25px !important;
    
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border: 2px solid #fff !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.15) !important;
    z-index: 20 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
}

/* =========================================================
   8. SUPPRESSION DES NOTICES D'AJOUT PANIER (DOUBLONS PACK)
   ========================================================= */
/* Cache les messages de succès WooCommerce sur la page produit */
.single-product .woocommerce-notices-wrapper .woocommerce-message {
    display: none !important;
}

/* =========================================================
   9. OPTIMISATION EXPERTE : ANTI-CLIGNOTEMENT (SÉCURITÉ UNIQUEMENT)
   ========================================================= */
/* Cette règle force l'affichage du bloc même si Woodmart tente de le masquer via JS */
.wd-dynamic-discounts[style*="display: none"] {
    display: block !important;
}

/* Cette règle force l'affichage de la loupe du zoom */
.zoomImg {
    max-width: none !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: auto !important;
    pointer-events: none !important;
}

/* Cette règle corrige le bug d'affichage des pop-ups hotspot sur mobile (clipping) */
@media (max-width: 767px) {
    #slider-148 .wd-slide-inner,
    #slider-148 .elementor-element-0d7bf18,
    #slider-148 .wd-image-hotspot-wrapper {
        overflow: visible !important;
    }
}@media (max-width: 576px) {
	/* --- SUPPRESSION TOTALE DU NUAGE / DÉGRADÉ DE DÉFILEMENT --- */

/* 1. On désactive les masques de transparence (La méthode moderne de Woodmart) */
.wd-carousel-container, 
.wd-carousel-inner, 
.wd-carousel-wrap,
[class*="wd-scroll-"] {
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

/* 2. On désactive les pseudo-éléments (L'ancienne méthode avec dégradé blanc) */
.wd-carousel-container:after, 
.wd-carousel-container:before,
.wd-carousel-inner:after, 
.wd-carousel-inner:before,
.wd-carousel-wrap:after,
.wd-carousel-wrap:before {
    display: none !important;
    content: none !important;
    background: none !important;
}

/* 3. On force l'affichage net jusqu'au bord de l'écran */
.wd-carousel-inner {
    padding-right: 0 !important;
    margin-right: 0 !important;
}
}

