/* =====================================================
   FONT — RALEWAY SANS CASSER LES ICÔNES
   ===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700;800&display=swap');

html,
body,
p,
span,
a,
li,
ul,
ol,
label,
small,
strong,
em,
div,
input,
select,
textarea,
button,
.btn,
h1,
h2,
h3,
h4,
h5,
h6,
table,
tr,
td,
th {
    font-family: 'Raleway', sans-serif !important;
}

/* Taille globale plus confortable */
html {
    font-size: 16px !important;
}

body {
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #1f1f1f !important;
}

/* Ne pas casser les polices d’icônes */
.material-icons,
.material-icons-outlined,
.material-icons-round,
.material-icons-sharp,
.material-icons-two-tone {
    font-family: "Material Icons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    white-space: nowrap !important;
    direction: ltr !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: optimizeLegibility !important;
    -moz-osx-font-smoothing: grayscale !important;
    font-feature-settings: "liga" !important;
}

.fa:before,
.fas:before,
.far:before,
.fal:before,
.fab:before,
[class^="fa-"]:before,
[class*=" fa-"]:before {
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
}

/* =====================================================
   FOND GLOBAL BLANC
   ===================================================== */

html,
body,
#wrapper,
#content,
.page-content,
#main,
#products,
#index,
#index #wrapper {
    background: #ffffff !important;
}

/* =====================================================
   BARRE HAUTE CLASSIC
   ===================================================== */

#header .header-nav {
    background: #ffffff !important;
    border-bottom: 1px solid #f1f1f1 !important;
}

#header .header-nav,
#header .header-nav a,
#header .header-nav span,
#header .header-nav i {
    color: #3a3a3a !important;
    font-size: 15px !important;
}

/* =====================================================
   BARRE MENU PRESTAHERO — FULL WIDTH
   ===================================================== */

.ets_mm_megamenu,
.ets_mm_megamenu_wrapper,
.ets_mm_megamenu_content {
    width: 100% !important;
    max-width: 100% !important;
    background: linear-gradient(
        to right,
        #95dbf4 0%,
        #b5ebfb 50%,
        #95dbf4 100%
    ) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.ets_mm_megamenu .container,
.ets_mm_megamenu_wrapper .container,
.ets_mm_megamenu_content .container {
    width: 100% !important;
    max-width: 100% !important;
}

/* =====================================================
   MENU PRINCIPAL — NIVEAU 1
   ===================================================== */

.ets_mm_megamenu > ul,
.ets_mm_megamenu .mm_menus_ul,
.ets_mm_megamenu ul.ets_mm_menus_ul {
    padding-left: 22px !important;
    margin: 0 !important;
}

.ets_mm_megamenu > ul > li,
.ets_mm_megamenu .mm_menus_ul > li,
.ets_mm_megamenu ul.ets_mm_menus_ul > li {
    margin: 0 !important;
}

.ets_mm_megamenu > ul > li > a,
.ets_mm_megamenu .mm_menus_ul > li > a,
.ets_mm_megamenu ul.ets_mm_menus_ul > li > a,
.ets_mm_megamenu .mm_menus_li > a,
.ets_mm_megamenu a.ets_mm_url {
    color: #1f1f1f !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.35px !important;
    line-height: 1.2 !important;
}

.ets_mm_megamenu > ul > li > a:hover,
.ets_mm_megamenu .mm_menus_ul > li > a:hover,
.ets_mm_megamenu ul.ets_mm_menus_ul > li > a:hover,
.ets_mm_megamenu .mm_menus_li:hover > a,
.ets_mm_megamenu a.ets_mm_url:hover {
    color: #000000 !important;
    opacity: 1 !important;
}

.ets_mm_megamenu > ul > li > a:before,
.ets_mm_megamenu .mm_menus_ul > li > a:before,
.ets_mm_megamenu ul.ets_mm_menus_ul > li > a:before {
    content: none !important;
    display: none !important;
}

.ets_mm_megamenu .fa-home,
.ets_mm_megamenu .fa-home:before,
.ets_mm_megamenu .fa.fa-home:before,
.ets_mm_megamenu i.fa-home:before {
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
}

/* =====================================================
   DROPDOWN PRESTAHERO
   ===================================================== */

.ets_mm_megamenu .mm_dropdown_menu,
.ets_mm_megamenu .ets_mm_block_content,
.ets_mm_megamenu .mm_columns_ul {
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.10) !important;
}

.ets_mm_megamenu .mm_columns_title,
.ets_mm_megamenu .h4,
.ets_mm_megamenu .mm_block_title {
    color: #1a1a1a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin-bottom: 10px !important;
    text-transform: uppercase !important;
}

.ets_mm_megamenu .mm_dropdown_menu a,
.ets_mm_megamenu .mm_columns_ul a,
.ets_mm_megamenu .mm_menus_li ul li a {
    color: #3f3f3f !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.ets_mm_megamenu .mm_dropdown_menu a:hover,
.ets_mm_megamenu .mm_columns_ul a:hover,
.ets_mm_megamenu .mm_menus_li ul li a:hover {
    color: #000000 !important;
}

/* =====================================================
   SEARCH BAR
   ===================================================== */

#search_widget,
.total-search {
    max-width: 700px !important;
    margin: 0 auto !important;
}

#search_widget input,
.total-search input,
.total-search .search_query {
    border-radius: 28px !important;
    font-size: 15px !important;
}

/* =====================================================
   SUPPRIME LE DOUBLE BURGER MOBILE NATIF
   ===================================================== */

#_mobile_top_menu,
#_desktop_top_menu {
    display: none !important;
}

/* =====================================================
   HOMEPAGE / LISTES PRODUITS
   ===================================================== */

.product-miniature .product-brand,
.product-miniature .product-brand a,
.product-miniature .thumbnail-container .product-brand,
.product-miniature .thumbnail-container .product-brand a {
    color: #7a7a7a !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.product-miniature .product-title a,
.product-miniature .thumbnail-container .product-title a,
.js-product-miniature .product-title a {
    color: #222222 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.product-miniature .product-title a:hover,
.product-miniature .thumbnail-container .product-title a:hover,
.js-product-miniature .product-title a:hover {
    color: #000000 !important;
}

.product-miniature .product-price-and-shipping,
.js-product-miniature .product-price-and-shipping {
    position: relative !important;
    display: block !important;
    margin: 10px 0 14px !important;
    min-height: 28px !important;
    text-align: center !important;
}

.product-miniature .price,
.js-product-miniature .price {
    display: inline-block !important;
    line-height: 1.2 !important;
    font-size: 18px !important;
}

.product-miniature .highlighted-informations,
.product-miniature .product-description,
.product-miniature .product-actions,
.product-miniature .button-container,
.js-product-miniature .button-container {
    position: static !important;
}

.product-miniature .button-container,
.js-product-miniature .button-container {
    margin-top: 12px !important;
    text-align: center !important;
}

.product-miniature .ajax_add_to_cart_button,
.product-miniature .add-to-cart,
.js-product-miniature .ajax_add_to_cart_button,
.js-product-miniature .add-to-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 20px !important;
    border-radius: 6px !important;
    font-size: 15px !important;
}

.product-miniature {
    transition: transform 0.25s ease !important;
}

.product-miniature:hover {
    transform: translateY(-4px) !important;
}

/* =====================================================
   PAGE PRODUIT — TEXTE EN NOIR
   ===================================================== */

#product,
#product .page-content,
#product .product-information,
#product .product-description,
#product .product-description-short,
#product .product-description-short p,
#product .product-description-short span,
#product .product-description-short div,
#product .product-description p,
#product .product-description span,
#product .product-description div,
#product .product-prices,
#product .product-price,
#product .current-price,
#product .regular-price,
#product .product-customization,
#product .product-variants,
#product .product-variants-item,
#product .tabs,
#product .tab-pane,
#product .product-features,
#product .product-features li,
#product .product-reference,
#product .product-quantities,
#product .social-sharing,
#product .blockreassurance_product,
#product .blockreassurance_product p,
#product .blockreassurance_product span,
#product .delivery-information,
#product .delivery-information p,
#product .delivery-information span,
#product .delivery-message,
#product .delivery-message p,
#product .delivery-message span {
    color: #1f1f1f !important;
}

/* Intro courte sous le titre */
#product .product-description-short,
#product .product-description-short p,
#product .product-description-short strong,
#product .product-description-short span {
    color: #1f1f1f !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

/* Bloc estimation / livraison */
#product .delivery-information,
#product .delivery-information *,
#product .estimated-delivery,
#product .estimated-delivery *,
#product .delivery-message,
#product .delivery-message *,
#product .product-delivery,
#product .product-delivery * {
    color: #1f1f1f !important;
    font-size: 15px !important;
}

/* Titre produit */
#product h1 {
    color: #1a1a1a !important;
    font-size: 2rem !important;
    line-height: 1.15 !important;
}

/* Texte descriptif page produit */
#product p,
#product li,
#product span,
#product label,
#product td,
#product th {
    font-size: 15px !important;
}

/* =====================================================
   BOUTONS
   ===================================================== */

.btn,
button {
    transition: all 0.2s ease !important;
    font-size: 15px !important;
}

.btn:hover,
button:hover {
    transform: translateY(-1px) !important;
}

/* =====================================================
   AVIS PRODUITS LISTE — SI LE MODULE EST HOOKÉ
   ===================================================== */

.product-list-reviews,
.comments_note,
.star_content,
.product-comments-additional-info {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 6px !important;
}

/* =====================================================
   FIXS EXISTANTS
   ===================================================== */

.mobile .cat-title {
    background-color: transparent !important;
}

@media (max-width: 767px) {
    #product .page-content .product-leftside {
        width: 90% !important;
    }

    .ets_mm_megamenu > ul,
    .ets_mm_megamenu .mm_menus_ul,
    .ets_mm_megamenu ul.ets_mm_menus_ul {
        padding-left: 12px !important;
    }

    body {
        font-size: 14px !important;
    }

    #product h1 {
        font-size: 1.6rem !important;
    }
}

/* MARQUES EN GRIS (fix homepage) */
.product-miniature .product-brand,
.product-miniature .product-brand a,
.js-product-miniature .product-brand,
.js-product-miniature .product-brand a {
    color: #7a7a7a !important;
    font-weight: 500 !important;
}

/* MARQUES CE (au dessus du titre produit) */
.ce-product-miniature .product-brand,
.ce-product-miniature .product-brand a,
.ce-product-meta .product-brand,
.ce-product-meta .product-brand a,
.elementor .product-brand,
.elementor .product-brand a {
    color: #7a7a7a !important;
    font-weight: 500 !important;
}

/* FORCE GRIS SUR PREMIERE LIGNE PRODUIT CE */
.elementor .product-miniature a:first-child {
    color: #7a7a7a !important;
}

/* =========================
   FIX TYPO GLOBALE (IMPORTANT)
   ========================= */

html {
    font-size: 16px !important;
}

body {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #1f1f1f !important;
}

h1 {
    font-size: 28px !important;
}

h2 {
    font-size: 24px !important;
}

h3 {
    font-size: 20px !important;
}

.product-miniature .product-title a {
    font-size: 15px !important;
}

.product-miniature .price {
    font-size: 18px !important;
}

#product h1 {
    font-size: 30px !important;
}

#product .product-description-short {
    font-size: 15px !important;
}

#product .current-price .price {
    font-size: 30px !important;
    font-weight: 700 !important;
}

#product .regular-price {
    font-size: 16px !important;
}

/* --- PRIX DE VENTE PRINCIPAL --- */
#main .product-prices .current-price-value,
#product .current-price-value {
    font-size: 42px !important;
    font-weight: 800 !important;
    color: #e60023 !important;
    display: block !important;
}

/* --- PRIX BARRÉ --- */
#main .product-prices .regular-price {
    font-size: 18px !important;
    color: #999999 !important;
    text-decoration: line-through !important;
    display: inline-block !important;
}

/* =====================================================
   FIX GLOBAL : PRIX + ÉCONOMIE + BADGE ROND GAUCHE
   ===================================================== */

/* Cache les anciens badges */
.ce-product-badge-sale,
.ae-discount,
.product-flag.discount,
.ae-badge-sale,
.discount-percentage,
.discount-amount {
    display: none !important;
}

/* LE BADGE : Grosse pastille ronde à gauche, sans ombre */
.badge-angle-propre {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    right: auto !important;
    width: 65px !important;
    height: 65px !important;
    background-color: #EE7977 !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    z-index: 9999 !important;
    box-shadow: none !important;
    pointer-events: none;
}

/* FIX DES PRIX */
.product-prices .current-price-value,
.current-price-value {
    font-size: 28px !important;
    color: #a90000 !important;
    font-weight: 700 !important;
}

.product-prices .regular-price {
    font-size: 16px !important;
    color: #999 !important;
    text-decoration: line-through !important;
}

/* Conteneurs d'images */
.product-cover,
.thumbnail-container,
.ce-product-image-container {
    overflow: visible !important;
    position: relative !important;
}

/* --- TENTATIVE CSS PUR POUR LA PAGE PROMOS --- */

.template-category #products .discount-percentage,
.template-category #products .discount-amount,
.template-category #products .product-flag.discount {
    display: flex !important;
    visibility: visible !important;
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    width: 65px !important;
    height: 65px !important;
    background-color: #EE7977 !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    z-index: 9999 !important;
    box-shadow: none !important;
}

.template-category .thumbnail-container {
    position: relative !important;
    overflow: visible !important;
}

/* --- FORCE LE BADGE SUR LA PAGE PROMOS UNIQUEMENT --- */

.page-type-listing .product-miniature .discount-percentage,
.page-type-listing .product-miniature .discount-amount,
.page-type-listing .product-miniature .product-flag.discount {
    display: flex !important;
    visibility: visible !important;
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    width: 55px !important;
    height: 55px !important;
    background-color: #EE7977 !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    z-index: 500 !important;
    box-shadow: none !important;
}

.page-type-listing .thumbnail-container {
    overflow: visible !important;
    position: relative !important;
}

/* --- TENTATIVE FINALE CIBLÉE PAGE PROMOS --- */

.page-index .product-flags .discount,
.page-prices-drop .product-flags .discount,
#products .product-flag.discount {
    display: flex !important;
    visibility: visible !important;
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    width: 60px !important;
    height: 60px !important;
    background-color: #EE7977 !important;
    color: white !important;
    border-radius: 50% !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    z-index: 999 !important;
}

.page-prices-drop .thumbnail-container {
    position: relative !important;
}

.js-product-miniature,
.product-miniature {
    overflow: visible !important;
}

/* --- NETTOYAGE VIGNETTES --- */
.images-container .product-images {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: hidden;
    scroll-behavior: smooth;
    gap: 8px;
    padding: 10px 0;
    margin: 0 !important;
    list-style: none;
    width: 100%;
}

.images-container .thumb-container {
    flex: 0 0 100px;
    max-width: 100px;
    margin-bottom: 0 !important;
}

/* STYLE DES FLÈCHES DE LA PAGE */
.custom-nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    border: 1px solid #ddd;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    font-size: 18px;
    color: #333;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.arrow-prev { left: 0; }
.arrow-next { right: 0; }

/* PROTECTION ABSOLUE DU ZOOM */
.modal-body .images-container,
.modal-body .product-images,
.modal-body .thumb-container {
    all: unset;
    display: block !important;
    width: auto !important;
}

.modal-body .thumb-container img {
    width: 90px !important;
    height: auto !important;
}

/* =======================================================
   FAQ ACCORDÉON IPHONE 17 PRO MAX
   ======================================================= */

.category-additional-description.card-block {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 40px 0 20px !important;
}

.faq17pro-wrapper {
    margin: 0;
}

.faq17pro-inner {
    background: #f7f7f7;
    border-radius: 18px;
    padding: 36px 32px;
}

.faq17pro-section {
    max-width: 860px;
    margin: 0 auto;
}

.faq17pro-title {
    margin: 0 0 10px;
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    color: #1f2a44;
}

.faq17pro-item {
    margin-bottom: 10px;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e8edf3;
    transition: all 0.3s ease;
}

.faq17pro-question {
    position: relative;
    display: block;
    padding: 18px 52px 18px 42px;
    font-size: 17px;
    font-weight: 600;
    color: #24324a;
    cursor: pointer;
    background: #fff;
    transition: background 0.2s ease;
}

.faq17pro-question:hover {
    background: #fafcff;
}

.faq17pro-question::before {
    content: "+";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    font-weight: 700;
    color: #3b82f6;
    transition: transform 0.3s ease;
}

.faq17pro-item.active .faq17pro-question::before {
    content: "−";
    color: #e60023;
}

.faq17pro-answer {
    padding: 0 18px 16px 42px;
    font-size: 15px;
    line-height: 1.7;
    color: #5f6b7a;
    background: #fff;
    display: none;
}

.faq17pro-item.active .faq17pro-answer {
    display: block !important;
    border-top: 1px solid #f1f1f1;
    padding-top: 15px;
}

@media (max-width: 767px) {
    .faq17pro-inner {
        padding: 24px 16px;
        border-radius: 14px;
    }

    .faq17pro-title {
        font-size: 20px;
    }

    .faq17pro-question {
        padding: 16px 42px 16px 36px;
        font-size: 15px;
    }

    .faq17pro-question::before {
        left: 14px;
    }

    .faq17pro-answer {
        padding: 0 14px 14px 36px;
        font-size: 14px;
    }
}

/* =====================================================
   RÉPARATIONS GLOBALES
   ===================================================== */

h1 {
    display: block !important;
}

/* Masque les titres de catégorie par défaut du thème */
.block-category,
.page-header,
#js-product-list-header {
    display: none !important;
}

/* Force l'affichage du logo partout */
#_desktop_logo,
#_mobile_logo,
.logo,
#header_logo,
.header-item #_mobile_logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Force les titres dans les bannières */
[class*="wrapper"] h1,
[class*="banner"] h1,
.ce-title,
.iphone-17-final-wrapper h1 {
    display: block !important;
    visibility: visible !important;
    color: #ffffff !important;
}

/* =====================================================
   PASTILLES DE NAVIGATION (DESKTOP)
   ===================================================== */

.category-top-menu {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin: 20px 0 30px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.category-top-menu a,
.category-top-menu li a {
    display: inline-block !important;
    background: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 25px !important;
    padding: 10px 22px !important;
    color: #333333 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
}

.category-top-menu a:hover {
    background: #f8f8f8 !important;
    border-color: #d1d1d1 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
}

/* =====================================================
   MOBILE FINAL PROPRE (LOGO & ICONES CORRIGÉS)
   ===================================================== */

.category-mobile-title {
    display: none !important;
}

@media (max-width: 767px) {

    /* Header mobile réorganisé en ligne */
    #header .header-nav {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 5px 12px !important;
        height: auto !important;
        background: #fff !important;
        position: relative !important;
        z-index: 100 !important;
    }

    /* Logo à gauche */
    #_mobile_logo {
        flex: 0 0 140px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        display: block !important;
        order: 1 !important;
    }

    #_mobile_logo img {
        width: 130px !important;
        height: auto !important;
        max-height: none !important;
    }

    /* Bloc Icônes à droite */
    .header-nav .right-nav {
        flex: 1 !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 15px !important;
        margin: 0 !important;
        padding: 0 !important;
        order: 2 !important;
    }

    /* Panier à droite de l'icône Compte */
    #_mobile_user_info {
        order: 1 !important;
        display: flex !important;
        margin: 0 !important;
    }

    #_mobile_cart {
        order: 2 !important;
        display: flex !important;
        margin: 0 !important;
    }

    #_mobile_user_info i,
    #_mobile_cart i {
        color: #333 !important;
        font-size: 24px !important;
    }

    /* Recherche sous le bloc logo/icones */
    #ets_search_block_top,
    .ets_total_search_form,
    #search_widget {
        display: block !important;
        position: relative !important;
        width: 94% !important;
        margin: 35px auto 10px !important;
        float: none !important;
        clear: both !important;
        z-index: 10 !important;
    }

    /* Megamenu mobile dégradé */
    .ets_mm_megamenu.ets_mm_mobi {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        margin-top: 5px !important;
        background: linear-gradient(to right, #95dbf4 0%, #b5ebfb 50%, #95dbf4 100%) !important;
    }

    .ets_mm_mobi_v2_wrapper,
    .ets_mm_megamenu_mobi_wrapper,
    .ets_mm_megamenu_mobi_wrapper .mm_menus_ul,
    .ets_mm_megamenu_mobi_wrapper .mm_menus_ul > li,
    .ets_mm_megamenu_mobi_wrapper .mm_menus_ul > li > a {
        background: #ffffff !important;
        opacity: 1 !important;
    }

    /* Catégories mobile */
    .category-banner-mobile-off {
        display: none !important;
    }

    #main header.page-header,
    #js-product-list-header,
    .block-category,
    .category-header-desktop-only,
    .category-native-desktop-only,
    a.text-uppercase.h6,
    a.pastille,
    .category-top-menu {
        display: none !important;
    }

    .breadcrumb {
        margin-bottom: 0 !important;
        padding: 5px 0 !important;
    }

    .category-mobile-title {
        display: block !important;
        background: linear-gradient(90deg, #e9eef3, #f5f7fa) !important;
        border-radius: 0 !important;
        padding: 12px 15px !important;
        margin: -60px 0 0 0 !important;
        position: relative !important;
        z-index: 2 !important;
        overflow: hidden !important;
    }

    .category-mobile-title h1 {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #1a1a1a !important;
        margin: 0 !important;
    }
}

/* =====================================================
   MEGAMENU FIX FINAL
   ===================================================== */

.ets_mm_megamenu,
.ets_mm_megamenu_wrapper,
.ets_mm_megamenu_content {
    background: linear-gradient(
        to right,
        #95dbf4 0%,
        #b5ebfb 50%,
        #95dbf4 100%
    ) !important;
}

.ets_mm_megamenu .mm_dropdown_menu,
.ets_mm_megamenu .ets_mm_block_content,
.ets_mm_megamenu .mm_columns_ul,
.ets_mm_megamenu_mobi_wrapper {
    background: #ffffff !important;
}

/* =============================================================
   LOGO DESKTOP (Ordinateurs) - AJUSTEMENT GAUCHE
   ============================================================= */
@media (min-width: 768px) {
    #_desktop_logo {
        margin-left: -20px !important;
        width: auto !important;
        float: left !important;
    }

    #_desktop_logo img {
        width: 240px !important; 
        max-width: none !important;
        height: auto !important;
    }
}

/* =============================================================
   HEADER MOBILE (Smartphones) - CONFIG VALIDÉE
   ============================================================= */
@media (max-width: 767px) {
    #header .header-nav {
        height: 75px !important; 
        min-height: 75px !important;
        position: relative !important;
        display: block !important;
        background: #ffffff !important;
        z-index: 1000 !important;
        overflow: visible !important;
    }

    #_mobile_logo {
        position: absolute !important;
        top: 10px !important; 
        left: 15px !important;
        width: 180px !important; 
    }

    #_mobile_logo img {
        width: 100% !important;
        height: auto !important;
        max-width: none !important; 
    }

    .header-nav .right-nav {
        position: absolute !important;
        top: 10px !important; 
        right: 15px !important;
        display: flex !important;
        z-index: 1001 !important;
    }

    [class*="ets_total_search"], [class*="ets_speed_search"], #search_widget {
        position: absolute !important;
        top: 75px !important; 
        left: 0 !important;
        width: 100% !important;
        height: 50px !important;
        padding: 5px 4% !important;
        background: #ffffff !important;
        z-index: 2000 !important;
        display: block !important;
        box-shadow: 0 3px 5px rgba(0,0,0,0.05) !important;
    }

    .header-top {
        margin-top: 50px !important; 
        position: relative !important;
        z-index: 100 !important;
    }

    .breadcrumb {
        margin-top: -15px !important; 
        padding: 5px 0 !important;
    }

    .ets_speed_search_results, 
    .ets_total_search_results, 
    .ui-autocomplete {
        position: fixed !important;
        top: 125px !important; 
        z-index: 5000 !important;
        background: white !important;
    }

    .menu-icon, #_mobile_menu_tester, .header-nav .float-xs-left {
        display: none !important;
    }

    /* --- AFFINAGE DES TITRES PRODUITS (MOBILE) --- */
    .product-title a, 
    .product-description h1, 
    .h3.product-title,
    [class*="product-name"] a {
        font-size: 14px !important;
        line-height: 1.2 !important;
        font-weight: 500 !important;
    }
    
    .product-price-and-shipping .price {
        font-size: 15px !important;
    }
}

/* =============================================================
   ZONE FOOTER - NETTOYAGE PRESTASHOP ET BANNIÈRE
   ============================================================= */
.footer-container .copyright, 
.footer-container [class*="powered-by"],
.footer-container .links .copyright,
#footer .footer-after,
#copyright,
.copyright-link,
a[href*="prestashop.com"],
.footer-container p:last-child {
    display: none !important;
}

/* =====================================================
   BADGE PROMO ULTRA FIABLE (BASÉ SUR PRIX BARRÉ)
   ===================================================== */

/* sécurise le positionnement */
.product-miniature,
.js-product-miniature,
.ce-product-miniature {
    position: relative !important;
}

/* badge promo */
.product-miniature .regular-price::before,
.js-product-miniature .regular-price::before,
.ce-product-miniature .regular-price::before {
    content: "PROMO";
    position: absolute;
    top: -60px;
    left: -20px;
    width: 55px;
    height: 55px;
    background: #EE7977;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 14px;
    z-index: 9999;
}
/* =========================================================
   MON COMPTE — VERSION PREMIUM CLEAN (FINAL)
========================================================= */

/* GRILLE DU BLOC COMPTE */
#my-account #content .links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 320px));
  justify-content: center;
  gap: 25px;
  margin-top: 40px;
}

/* CARTES DU COMPTE */
#my-account #content .links a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100%;
  max-width: 320px;
  min-height: 120px;
  box-sizing: border-box;

  background: #fff;
  border-radius: 16px;
  padding: 25px 20px;

  border: 1px solid #dcdcdc;

  text-align: center;
  text-decoration: none;

  transition: all 0.25s ease;
}

/* HOVER */
#my-account #content .links a:hover {
  transform: translateY(-4px);
  border-color: #2bbcd3;
  background: #f8fbfd;
}

/* ICÔNES */
#my-account #content .links a i {
  font-size: 30px;
  margin-bottom: 12px;
  color: #2bbcd3;
}

/* TEXTE */
#my-account #content .links a span {
  font-weight: 600;
  color: #000;
}

/* MOBILE */
@media (max-width: 767px) {
  #my-account #content .links {
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }

  #my-account #content .links a {
    max-width: 100%;
    min-height: 110px;
    padding: 20px 10px;
  }
}

/* =========================================================
   FIX FOOTER MON COMPTE (SAFE FINAL)
========================================================= */

/* on remet le footer normal */
#my-account #footer .links {
  display: block !important;
}

/* on enlève l'effet carte uniquement dans le footer */
#my-account #footer .links a {
  display: inline !important;
  background: none !important;
  padding: 0 !important;
  border: 0 !important;
  width: auto !important;
  min-height: 0 !important;
}

/* =========================================================
   (OPTIONNEL) STYLE BANNIÈRE SI TU VEUX L'AMÉLIORER
========================================================= */

.payment-banner {
    text-align: center;
    margin: 20px 0;
}

.payment-banner-img {
    height: 40px;   /* 👈 ajuste ici */
    width: auto;
    display: block;
    margin: 0 auto;
}
/* =========================================================
   FIX FINAL : MARGE MOBILE & BORDURES COMPLÈTES
========================================================= */

/* 1. On libère de l'espace pour le cadre bleu et on crée la marge avec le texte */
#product:not(.modal-open) .product-images-container .mask,
#product:not(.modal-open) .images-container .js-qv-mask {
    width: 100% !important;
    min-height: 135px !important; /* Augmenté pour laisser respirer le cadre */
    margin-bottom: 25px !important; /* CRÉE LA MARGE AVEC LE TEXTE (NOM DU PRODUIT) */
    overflow: hidden !important;
    display: block !important;
}

/* 2. On blinde la largeur pour la navigation infinie */
#product:not(.modal-open) ul.product-images {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 9999px !important;
    min-width: 9999px !important;
    padding: 10px 0 !important; /* Espace interne pour ne pas couper le bleu */
    margin: 0 !important;
}

/* 3. Ajustement des vignettes */
#product:not(.modal-open) .thumb-container {
    width: 90px !important;
    height: 90px !important;
    flex: 0 0 90px !important;
    margin-right: 15px !important;
    display: inline-block !important;
    position: relative !important;
}

/* 4. On force l'image et sa bordure à s'afficher entièrement */
#product:not(.modal-open) .thumb-container img {
    max-width: 100% !important;
    height: auto !important;
    padding: 2px !important; /* Petit espace interne pour la bordure bleue */
}

/* 5. Flèches de navigation (On garde tes réglages fonctionnels) */
#product:not(.modal-open) .product-images-container {
    padding: 0 45px !important;
}
/* =========================================================
   FIX RESPONSIVE : BANNIÈRE PAIEMENT (SMART SIZE)
========================================================= */

/* 1. RÉGLAGE DESKTOP (L'image est plus petite et centrée) */
.footer-container img[src*="paiement"], 
#footer img[src*="payment"],
.payment-methods img {
    display: block !important;
    margin: 20px auto !important;
    width: 450px !important; /* REMETS ICI TA TAILLE DESKTOP (Ex: 450px ou 50%) */
    height: auto !important;
}

/* 2. RÉGLAGE MOBILE (L'image s'adapte pour ne pas déborder) */
@media (max-width: 767px) {
    .footer-container img[src*="paiement"], 
    #footer img[src*="payment"],
    .payment-methods img {
        width: 100% !important; /* Prend la largeur du téléphone */
        max-width: 100% !important;
        padding: 0 10px !important; /* Petite marge pour ne pas toucher les bords */
    }
}
/* =========================================================
   FORCER L'AFFICHAGE EAN / SKU SUR THÈME CLASSIC
========================================================= */

/* Affiche le bloc détail qui contient souvent la référence */
.product-details .product-reference,
.product-details .product-reference label,
.product-details .ean13,
.product-information .product-reference {
    display: block !important;
    visibility: visible !important;
}

/* Style pour rendre l'EAN et le SKU bien distincts */
.product-reference::before {
    content: "Référence : ";
    font-weight: bold;
}

.ean13::before {
    content: "EAN : ";
    font-weight: bold;
}

/* =========================================================
   RESTRUCTURATION COMPLÈTE : ONGLETS & INFOS PRODUIT
========================================================= */

@media (max-width: 767px) {
    /* On force l'onglet à prendre toute la place */
    .tabs, #product-details, .js-product-details {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        width: 100% !important;
        clear: both !important;
    }

    /* REDRESSER LE TABLEAU (Data sheet) */
    /* On force un affichage en liste simple au lieu du tableau cassé */
    .data-sheet {
        display: block !important;
    }
    .data-sheet dt.name {
        width: 100% !important;
        background: #f6f6f6 !important;
        padding: 5px 10px !important;
        margin-top: 10px !important;
        float: none !important;
        text-align: left !important;
    }
    .data-sheet dd.value {
        width: 100% !important;
        padding: 5px 10px !important;
        margin: 0 !important;
        border-bottom: 1px solid #ebebeb !important;
        text-align: left !important;
    }

    /* FORCER L'AFFICHAGE DU SKU / EAN */
    .product-reference, .product-ean13, .product-identifiers-new {
        display: block !important;
        visibility: visible !important;
        padding: 10px !important;
        background: #fffbe6 !important; /* Couleur de test pour voir si le bloc existe */
        border: 1px dashed #ffcc00 !important;
    }
}
/* 1. Nettoyage de l'onglet Détails (enlève les doublons de réf) */
#product-details .product-reference,
#product-details .product-out-of-stock {
    display: none !important;
}

/* 2. Fix ultime pour le prix rouge sur toutes les déclinaisons */
#product .current-price-value, 
.product-prices .current-price-value,
.product-price .current-price-value {
    color: #a90000 !important;
}
/* Fix ultime : Prix rouge persistant sur toutes les déclinaisons */
#product .current-price-value, 
#product .product-price .current-price-value,
#product .product-prices .current-price-value,
.product-quantities + .product-prices .current-price-value {
    color: #a90000 !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
}
/* FORCE LE ROUGE PARTOUT ET TOUT LE TEMPS */
[id^="product-prices"] .current-price-value,
.product-prices .current-price-value,
.current-price .current-price-value,
#product .current-price-value {
    color: #a90000 !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
}

/* Nettoyage de l'onglet Détails (Logo et EAN qui bloquent) */
#product-details .manufacturer-logo,
#product-details .product-reference,
#product-details .product-out-of-stock {
    display: none !important;
}