@media (min-width: 768px) {

    .col-md-10,
    .col-md-9 {
        width: 100% !important;
    }
}

/* Reset et styles de base pour le footer */
.footer-container {
    background: #3a94b4;
    color: #e2e8f0;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 300;
    border-top: 4px solid rgb(30 58 95 / 89%);
    border-bottom: 4px solid #000;
    position: relative;
    overflow: hidden;
}

/* Double bordure animée top + bottom */
.footer-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, transparent, rgb(30 58 95 / 89%), #5b8cbf, rgb(30 58 95 / 89%), transparent);
    animation: borderSlide 4s linear infinite;
    pointer-events: none;
}

.footer-container::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -100%;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, transparent, rgb(30 58 95 / 89%), #5b8cbf, rgb(30 58 95 / 89%), transparent);
    animation: borderSlide 4s linear infinite reverse;
    pointer-events: none;
}

@keyframes borderSlide {
    0% {
        left: -100%;
    }

    100% {
        left: 100%;
    }
}

/* Animation de fond subtile avec la nouvelle couleur */
.footer-container .background-shimmer {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.08), transparent);
    animation: shimmer 8s infinite;
    pointer-events: none;
}

@keyframes shimmer {
    0% {
        left: -100%;
    }

    50% {
        left: 100%;
    }

    100% {
        left: 100%;
    }
}

/* Bulles d'arrière-plan du footer (particles) agrandies et intensifiées */
.footer-container .particle {
    width: 18px !important;
    height: 18px !important;
    background: rgba(59, 130, 246, 0.45) !important;
    box-shadow: 0 0 12px rgba(59, 130, 246, 0.5), inset 0 0 6px rgba(255, 255, 255, 0.25) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

@keyframes floatParticle {
    0% {
        transform: translateY(100%) scale(0);
        opacity: 0;
    }

    50% {
        opacity: 0.85;
        /* Bien plus visible au milieu de l'animation */
    }

    100% {
        transform: translateY(-100%) scale(3.5);
        /* Agrandissement x3.5 */
        opacity: 0;
    }
}

/* Lignes séparatrices animées */
.row {
    /* gap: 0.2rem; */
    justify-content: center;
    position: relative;
}

/* Style des blocs */
.block {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    animation: fadeInUp 0.5s ease forwards;
    opacity: 0;
}

.block:nth-child(1) {
    animation-delay: 0.1s;
}

.block:nth-child(2) {
    animation-delay: 0.2s;
}

.block:nth-child(3) {
    animation-delay: 0.3s;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.block:hover {
    transform: translateY(-5px);
}

/* Titres des blocs */
.block-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 1.2rem;
    color: #ffffff;
    position: relative;
    display: inline-block;
    letter-spacing: 1px;
}

.block-title span {
    position: relative;
    display: inline-block;
}

.block-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 40px;
    height: 3px;
    background: linear-gradient(90deg, rgb(30 64 175 / 89%), #60a5fa);
    border-radius: 2px;
    transition: width 0.4s ease;
}

.block:hover .block-title::after {
    width: 80px;
}

/* Animation du titre au hover */
.block-title span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -20px;
    width: 0;
    height: 2px;
    background: rgb(30 64 175 / 89%);
    transition: width 0.3s ease;
}

/* Liens */
.block-content ul {
    list-style: none;
    padding: 0;
}

.block-content li {
    margin-bottom: 0.75rem;
    transition: all 0.2s ease;
}

#footer-container-main .block-content a {
    font-family: 'Roboto Condensed', sans-serif !important;
    font-weight: 300;
    color: #e0f2fe !important;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    position: relative;
}

/* Animation des liens */
#footer-container-main .block-content a::before {
    content: '→';
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s ease;
    color: #ffffff !important;
}

#footer-container-main .block-content a:hover::before {
    opacity: 1;
    transform: translateX(0);
    margin-right: 5px;
}

#footer-container-main .block-content a:hover {
    color: #ffffff !important;
    transform: translateX(8px);
}

.part {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px 6px;
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    border-radius: 12px;
    background: rgba(107, 114, 128, 0.05);
}

.part:hover {
    transform: translateX(8px) scale(1.02);
    background: rgba(107, 114, 128, 0.12);
    border-radius: 12px;
}

/* ICÔNES AGRANDIES AVEC BACKGROUND AMÉLIORÉ */
.icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(107, 114, 128, 0.2), rgba(107, 114, 128, 0.35));
    border-radius: 50%;
    transition: 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    box-shadow: 0 2px 8px rgba(107, 114, 128, 0.2);
    border: 1px solid rgba(107, 114, 128, 0.3);
}

.part:hover .icon {
    background: linear-gradient(135deg, rgb(55 65 81 / 89%), #374151);
    transform: scale(1.15) rotate(8deg);
    box-shadow: 0 4px 15px rgba(107, 114, 128, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.icon i,
.icon .fa {
    color: white;
    font-size: 1.4rem;
    transition: 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.part:hover .icon i,
.part:hover .icon .fa {
    transform: scale(1.1);
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
}

/* Fallback pour Font Awesome si pas chargé */
.icon .fa-map-marker:before {
    content: "📍";
    font-size: 1rem;
}

.icon .fa-phone:before {
    content: "📞";
    font-size: 1rem;
}

.icon .fa-envelope-o:before {
    content: "✉️";
    font-size: 1rem;
}

.data {
    line-height: 1.4;
    font-size: 0.9rem;
}

.data a {
    color: #93c5fd;
    text-decoration: none;
    transition: color 0.3s;
}

.data a:hover {
    color: rgb(30 64 175 / 89%);
}

hr {
    margin: 0.8rem 0;
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgb(30 64 175 / 89%), #60a5fa, rgb(30 64 175 / 89%), transparent);
}

/* Section Auswertungen - Animation spéciale */
.col.col-md.block:last-child .block-content ul li {
    opacity: 0;
    animation: slideInRight 0.4s ease forwards;
}

.col.col-md.block:last-child .block-content ul li:nth-child(1) {
    animation-delay: 0.05s;
}

.col.col-md.block:last-child .block-content ul li:nth-child(2) {
    animation-delay: 0.1s;
}

.col.col-md.block:last-child .block-content ul li:nth-child(3) {
    animation-delay: 0.15s;
}

.col.col-md.block:last-child .block-content ul li:nth-child(4) {
    animation-delay: 0.2s;
}

.col.col-md.block:last-child .block-content ul li:nth-child(5) {
    animation-delay: 0.25s;
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(-15px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Animation de pulsation sur le numéro de téléphone */
.data a[href^="tel:"] {
    position: relative;
    display: inline-block;
}

.data a[href^="tel:"]:hover {
    animation: pulse 0.6s ease;
}

@keyframes pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

/* Effet de brillance sur les liens au survol */
.block-content a {
    position: relative;
    overflow: hidden;
}

.block-content a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background: rgb(55 65 81 / 89%);
    transition: width 0.3s ease;
}

.block-content a:hover::after {
    width: 100%;
}

.block-iqitcontactpage .part .icon {
    min-width: 4rem;
    margin-right: .3rem;
    width: auto;
    padding-top: 1rem;
}


/* ========== CHANGEMENT DU BACKGROUND DU MENU MOBILE ========== */
/* Applique le même fond dégradé que le footer au panneau menu mobile */

#iqitmegamenu-mobile,
.mobile-menu,
#_mobile_iqitmegamenu-mobile .dropdown-menu,
.mobile-menu.js-mobile-menu {
    background: #ffffff !important;
}

/* Header du menu mobile */
.mobile-menu__header,
#iqitmegamenu-mobile .mm-panel__header {
    background: #ffffff !important;
    border-bottom: 2px solid rgba(75, 85, 99, 0.1) !important;
}

/* Footer du menu mobile */
.mobile-menu__footer {
    background: #ffffff !important;
    border-top: 1px solid rgba(75, 85, 99, 0.1) !important;
}

/* Contenu du menu mobile */
.mobile-menu__content,
.mobile-menu__scroller {
    background: transparent !important;
}

/* Onglets du menu mobile */
.mobile-menu__tab {
    background: transparent !important;
    border-bottom: 1px solid rgba(107, 114, 128, 0.15) !important;
}

.mobile-menu__tab:hover {
    background: rgba(107, 114, 128, 0.1) !important;
}

/* Liens du menu mobile */
.mobile-menu__link {
    color: #374151 !important;
}

.mobile-menu__link:hover {
    color: #374151 !important;
}

/* Titre du menu mobile */
.mobile-menu__title {
    color: #374151 !important;
}

/* Boutons fermeture et retour */
.mobile-menu__back-btn,
.mobile-menu__close {
    background: rgba(107, 114, 128, 0.2) !important;
    color: #374151 !important;
}

.mobile-menu__back-btn:hover,
.mobile-menu__close:hover {
    background: rgba(107, 114, 128, 0.4) !important;
    color: #d1d5db !important;
}

/* Zone utilisateur dans le footer mobile */
.mobile-menu__user a {
    background: rgba(107, 114, 128, 0.1) !important;
    border: 1px solid rgba(107, 114, 128, 0.2) !important;
    color: #374151 !important;
}

.mobile-menu__user a:hover {
    background: rgba(107, 114, 128, 0.2) !important;
    color: #374151 !important;
}

/* Sélecteurs langue et devise */
.mobile-menu__language-selector,
.mobile-menu__currency-selector {
    background: rgba(107, 114, 128, 0.08) !important;
    border: 1px solid rgba(107, 114, 128, 0.15) !important;
    color: #cbd5e1 !important;
}

.mobile-menu__language-selector:hover,
.mobile-menu__currency-selector:hover {
    background: rgba(107, 114, 128, 0.15) !important;
    color: #374151 !important;
}

/* Dropdown des langues */
.mobile-menu__language-currency-dropdown {
    background: #1e293b !important;
    border: 1px solid rgba(107, 114, 128, 0.3) !important;
}

.mobile-menu__language-currency-dropdown a {
    color: #cbd5e1 !important;
}

.mobile-menu__language-currency-dropdown a:hover {
    color: #374151 !important;
    background: rgba(107, 114, 128, 0.1) !important;
}

/* Barre collante au scroll (Mobile Header Sticky - Styles gérés en fin de fichier) */
#mobile-header {
    background: transparent !important;
}

#mobile-header-sticky {
    background: #ffffff !important;
}

/* Conteneur principal */
#mobile-header .container,
.mobile-header-style-1 .container {
    background: transparent !important;
}

/* Ligne de séparation sous le header mobile */
#mobile-header {
    border-bottom: 1px solid rgba(75, 85, 99, 0.1) !important;
}

/* ========== BOUTONS DU HEADER MOBILE ========== */

/* Boutons menu, recherche, compte, panier */
.m-nav-btn {
    background: transparent !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 8px 4px !important;
    border-radius: 12px !important;
}

.m-nav-btn i,
.m-nav-btn .fa {
    color: rgb(55 65 81 / 89%) !important;
    font-size: 1.3rem !important;
    margin-bottom: 3px !important;
    transition: transform 0.3s ease !important;
}

.m-nav-btn span {
    color: #e2e8f0 !important;
    font-size: 0.6rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

/* Effet au survol / clic */
.m-nav-btn:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    transform: translateY(-3px) !important;
}

.m-nav-btn:hover i {
    color: #374151 !important;
    transform: scale(1.1);
}

.m-nav-btn:hover span {
    color: #fff !important;
}

/* Badge panier mobile PREMIUM */
#mobile-cart-products-count {
    position: absolute !important;
    top: -5px !important;
    right: -8px !important;
    background: linear-gradient(135deg, #e67e22, #d35400) !important;
    color: white !important;
    border-radius: 20px !important;
    padding: 2px 7px !important;
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 10px rgba(230, 126, 34, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    animation: badgePulse 2s infinite !important;
    line-height: 1 !important;
}

/* ========== LOGO MOBILE ========== */
.col-mobile-logo .logo {
    filter: brightness(1) !important;
    max-height: 40px !important;
}

/* ========== DROPDOWN RECHERCHE MOBILE ========== */
#search-widget-mobile {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    border: 1px solid rgba(107, 114, 128, 0.3) !important;
}

#search-widget-mobile .form-control {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #374151 !important;
    border: none !important;
}

#search-widget-mobile .form-control::placeholder {
    color: #94a3b8 !important;
}

#search-widget-mobile .search-btn {
    color: #374151 !important;
}

/* ========== DROPDOWN PANIER MOBILE ========== */
#_mobile_blockcart-content {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    border: 1px solid rgba(107, 114, 128, 0.3) !important;
}

#_mobile_blockcart-content .cart-title {
    color: #374151 !important;
}

#_mobile_blockcart-content .cart-products li {
    border-bottom: 1px solid rgba(107, 114, 128, 0.2) !important;
}

#_mobile_blockcart-content .cart-products li a {
    color: #374151 !important;
}

#_mobile_blockcart-content .cart-products li a:hover {
    color: #374151 !important;
}

#_mobile_blockcart-content .cart-subtotals,
#_mobile_blockcart-content .cart-totals {
    background: rgba(107, 114, 128, 0.1) !important;
}

#_mobile_blockcart-content .btn-primary {
    background: linear-gradient(135deg, rgb(55 65 81 / 89%), #6b7280) !important;
    border: none !important;
}

#_mobile_blockcart-content .btn-secondary {
    background: rgba(107, 114, 128, 0.2) !important;
    color: #374151 !important;
}

/* ========== OVERLAY FERMETURE MENU ========== */
#mobile_menu_click_overlay {
    background: rgba(0, 0, 0, 0.6) !important;
}

@media (min-width: 992px) {
    /*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

    #footer-container-main,
    #checkout-footer {
        padding-left: 6em;
    }

    .block-iqitcontactpage .part .icon {
        min-width: 3rem;
        padding-top: .5rem;
    }


    /* Style de la section contact - ICONES AMÉLIORÉES ET AGRANDIES */
    .contact-rich {
        display: flex;
        flex-direction: column;
        /* gap: 1rem; */
    }

    .contact-rich strong {
        color: rgb(55 65 81 / 89%);
        font-size: 1.1rem;
        display: block;
        margin-bottom: 0.5rem;
        font-family: mreavesxlmodl, sans-serif;
    }

    /* Animation de chargement globale du footer */
    .footer-container {
        animation: fadeInScale 0.6s ease-out;
    }

    @keyframes fadeInScale {
        from {
            opacity: 0;
            transform: scale(0.98);
        }

        to {
            opacity: 1;
            transform: scale(1);
        }
    }

    /* ----------------------------------------------
   HEADER DESIGN - CHANGEMENT UNIQUEMENT DE LA COULEUR DE BACKGROUND
   Le reste du CSS header reste strictement identique à l'original
   ---------------------------------------------- */

    #header .header-btn-w .header-btn>.icon {
        padding-top: .5rem;
    }

    .header-top {
        padding-top: 0;
        padding-bottom: 0;
    }

    /* ========== SEULE LA COULEUR DE BACKGROUND CHANGE ========== */
    /* Avant: background: linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.98) 100%) */
    /* Après: background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) - identique au footer */
    #desktop-header-container {
        background: #ebebeb47;
        backdrop-filter: blur(0px);
        border-bottom: 1px solid rgba(75, 85, 99, 0.1);
        box-shadow: var(--shadow-sm);
        padding: 0.75rem 1.5rem;
        transition: all 0.5s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        position: sticky;
        top: 0;
        z-index: 1030;
        animation: headerSlideIn 0.6s ease-out forwards;
        background-size: 200% 200%;
        overflow: visible !important;
    }

    /* Effet au scroll - fond plus prononcé adapté à la nouvelle couleur */
    #desktop-header-container.scrolled {
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(8px) !important;
        box-shadow: var(--shadow-md) !important;
        padding: 0.5rem 1.5rem !important;
        border-bottom: 1px solid rgba(230, 126, 34, 0.15) !important;
    }

    /* Animation d'apparition du header au chargement */
    @keyframes headerSlideIn {
        from {
            opacity: 0;
            transform: translateY(-20px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* ========== LOGO AVEC ANIMATION ========== */
    #desktop_logo {
        position: relative;
        overflow: hidden;
    }

    #desktop_logo .logo {
        max-height: 55px;
        width: auto;
        transition: var(--transition-slow);
        object-fit: contain;
        filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.05));
    }

    /* Annulation de l'animation (zoom) au survol du logo */
    #desktop_logo a:hover .logo {
        transform: none !important;
    }

    /* Effet de surbrillance au passage de la souris
    #desktop_logo::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(230, 126, 34, 0.2), transparent);
        transition: left 0.6s ease;
        pointer-events: none;
    }

    #desktop_logo:hover::before {
        left: 100%;
    } */

    /* ========== BOUTONS HEADER MODERNES ========== */
    .header-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: none;
        border-radius: var(--border-radius-sm);
        transition: all 0.4s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        cursor: pointer;
        text-decoration: none !important;
        color: var(--text-dark);
        gap: 0.3rem;
        position: relative;
        overflow: visible !important;
        animation: fadeInScale 0.4s ease-out backwards;
    }

    .header-btn-w {
        margin-left: 0.25rem;
        margin-right: 0.25rem;
    }

    /* Effet de ripple au clic */
    .header-btn::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0;
        height: 0;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(230, 126, 34, 0.3) 0%, rgba(230, 126, 34, 0) 80%);
        transform: translate(-50%, -50%);
        transition: width 0.4s, height 0.4s;
        pointer-events: none;
    }

    .header-btn:active::after {
        width: 200%;
        height: 200%;
    }

    .header-btn .icon {
        font-size: 1.35rem;
        color: #374151;
        transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        animation: floatIcon 3s ease-in-out infinite;
    }

    .header-btn .title {
        font-size: 0.7rem;
        font-weight: 500;
        letter-spacing: 0.3px;
        color: #94a3b8;
        transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    }

    .header-btn:hover .icon {
        color: #374151;
        transform: scale(1.1) rotate(5deg);
    }

    .header-btn:hover .title {
        color: #374151;
        transform: translateX(2px);
    }

    .header-btn:nth-child(1) {
        animation-delay: 0.1s;
    }

    .header-btn:nth-child(2) {
        animation-delay: 0.2s;
    }

    .header-btn:nth-child(3) {
        animation-delay: 0.3s;
    }

    .header-btn:nth-child(2) .icon {
        animation-delay: 0.5s;
    }

    .header-btn:nth-child(3) .icon {
        animation-delay: 1s;
    }

    @keyframes fadeInScale {
        from {
            opacity: 0;
            transform: scale(0.9);
        }

        to {
            opacity: 1;
            transform: scale(1);
        }
    }

    /* ========== BADGE PANIER AVEC ANIMATION ========== */
    .cart-products-count-btn {
        position: absolute !important;
        top: -8px !important;
        right: -10px !important;
        background: linear-gradient(135deg, #e67e22, #d35400) !important;
        color: white !important;
        font-size: 0.7rem !important;
        font-weight: bold !important;
        min-width: 18px !important;
        height: 18px !important;
        border-radius: 30px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 4px !important;
        box-shadow: 0 2px 8px rgba(230, 126, 34, 0.5) !important;
        z-index: 10 !important;
        line-height: 1 !important;
        animation: badgePulse 2s infinite;
        overflow: visible !important;
    }

    /* Pour les nombres à 2 chiffres, agrandir légèrement */
    .cart-products-count-btn:contains("10"),
    .cart-products-count-btn:contains("11"),
    .cart-products-count-btn:contains("12") {
        min-width: 22px !important;
        padding: 0 5px !important;
    }

    @keyframes badgePulse {

        0%,
        100% {
            transform: scale(1);
            box-shadow: 0 2px 8px rgba(230, 126, 34, 0.5);
        }

        50% {
            transform: scale(1.08);
            box-shadow: 0 4px 12px rgba(230, 126, 34, 0.7);
        }
    }

    /* Animation flash lors d'un ajout au panier */
    .cart-products-count-btn.update-highlight {
        animation: cartFlash 0.5s ease-in-out;
    }

    @keyframes cartFlash {
        0% {
            transform: scale(1);
            background: var(--accent-color);
        }

        30% {
            transform: scale(1.3);
            background: #f39c12;
        }

        70% {
            transform: scale(1.1);
            background: var(--accent-hover);
        }

        100% {
            transform: scale(1);
            background: linear-gradient(135deg, var(--accent-color) 0%, var(--accent-hover) 100%);
        }
    }

    /* ========== DROPDOWNS AVEC ANIMATION ========== */
    .dropdown-content.dropdown-menu,
    .dropdown-menu-custom.dropdown-menu {
        border: none;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(10px);
        border-radius: var(--border-radius);
        box-shadow: var(--shadow-lg);
        padding: 1rem;
        margin-top: 0.75rem;
        animation: dropdownGlide 0.3s cubic-bezier(0.34, 1.2, 0.64, 1);
        transform-origin: top center;
        min-width: 280px;
        border: 1px solid rgba(230, 126, 34, 0.1);
    }

    @keyframes dropdownGlide {
        from {
            opacity: 0;
            transform: translateY(-15px) scale(0.96);
        }

        to {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
    }

    /* ========== RECHERCHE STYLISÉE (CONSOLIDÉ) ========== */
    #search_widget .input-group {
        background: rgba(248, 250, 252, 0.9);
        border-radius: 60px;
        overflow: hidden;
        border: 1px solid rgba(75, 85, 99, 0.15);
        transition: all 0.5s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    }

    #search_widget .input-group:focus-within {
        border-color: #374151;
        box-shadow: 0 0 0 4px rgba(230, 126, 34, 0.15);
        background: white;
        transform: scale(1.01);
    }

    #search_widget .form-control {
        background: transparent;
        border: none;
        padding: 0.8rem 1.2rem;
        font-size: 0.9rem;
        color: #4b5563;
    }

    #search_widget .form-control:focus {
        outline: none;
        box-shadow: none;
    }

    #search_widget .search-btn {
        background: transparent;
        border: none;
        padding: 0 1.2rem;
        color: #4b5563;
        font-size: 1.2rem;
        transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        cursor: pointer;
    }

    #search_widget .search-btn:hover {
        color: #374151;
        transform: rotate(15deg) scale(1.1);
    }

    /* ========== PANIER STYLISÉ ========== */
    .cart-title {
        font-weight: 600;
        font-size: 1.1rem;
        padding-bottom: 0.5rem;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent;
    }

    .cart-products {
        list-style: none;
        padding-left: 0;
        max-height: 400px;
        overflow-y: auto;
    }

    .cart-products li {
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        padding: 0.75rem 0;
        transition: var(--transition);
    }

    .cart-products li:hover {
        background: rgba(230, 126, 34, 0.03);
        transform: translateX(4px);
        border-radius: 8px;
        padding-left: 8px;
    }

    .product-image img {
        border-radius: 10px;
        max-width: 60px;
        background: linear-gradient(135deg, #f1f5f9, #eef2fa);
        padding: 4px;
        transition: var(--transition);
    }

    .product-image img:hover {
        transform: scale(1.05) rotate(2deg);
    }

    /* ========== QUANTITÉ INPUT ET TOUCHSPIN (CONSOLIDÉ) ========== */
    .bootstrap-touchspin .form-control {
        background: rgba(107, 114, 128, 0.1) !important;
        border: 1px solid rgba(107, 114, 128, 0.3) !important;
        color: #4b5563 !important;
        border-radius: 30px !important;
        text-align: center !important;
        font-size: 0.85rem;
        transition: all 0.3s ease;
        height: auto;
    }

    .bootstrap-touchspin .form-control:focus {
        border-color: #4b5563 !important;
        box-shadow: 0 0 0 2px rgba(156, 163, 175, 0.3) !important;
    }

    .btn-touchspin {
        background: rgba(107, 114, 128, 0.15) !important;
        border: 1px solid rgb(107 114 128 / 30%) !important;
        color: #4b5563 !important;
        border-radius: 30px !important;
        transition: all 0.3s ease !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    .btn-touchspin:hover {
        background: rgb(55 65 81 / 89%) !important;
        color: white !important;
        transform: scale(1.05) !important;
    }

    .remove-from-cart {
        transition: var(--transition);
        display: inline-block;
    }

    .remove-from-cart:hover {
        transform: rotate(8deg) scale(1.1);
        color: #e74c3c;
    }

    /* Totaux avec animation subtile */
    .cart-subtotals,
    .cart-totals {
        background: rgba(249, 251, 253, 0.9);
        backdrop-filter: blur(4px);
        border-radius: var(--border-radius-sm);
        padding: 0.8rem;
        margin-top: 0.8rem;
        transition: var(--transition);
    }

    .cart-subtotals:hover,
    .cart-totals:hover {
        background: white;
        transform: translateY(-2px);
    }

    /* Boutons panier */
    .cart-buttons .btn {
        border-radius: 40px;
        padding: 0.6rem 1rem;
        font-weight: 500;
        transition: var(--transition);
        position: relative;
        overflow: hidden;
    }

    .cart-buttons .btn::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
        transition: left 0.5s;
    }

    .cart-buttons .btn:hover::before {
        left: 100%;
    }

    .cart-buttons .btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12);
    }

    .btn-primary {
        background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
        border: none;
    }

    .btn-primary:hover {
        background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary-color) 100%);
    }

    /* ========== ANIMATION DE CHARGEMENT POUR LE HEADER ========== */
    @keyframes gradientShift {
        0% {
            background-position: 0% 50%;
        }

        50% {
            background-position: 100% 50%;
        }

        100% {
            background-position: 0% 50%;
        }
    }


    /* ========== SCROLLBAR PERSONNALISÉE POUR LE PANIER ========== */
    .blockcart-content::-webkit-scrollbar {
        width: 5px;
    }

    .blockcart-content::-webkit-scrollbar-track {
        background: #eef2f6;
        border-radius: 10px;
    }

    .blockcart-content::-webkit-scrollbar-thumb {
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        border-radius: 10px;
    }

    /* ========== ANIMATION FLOTTANTE POUR LES ICÔNES ========== */
    @keyframes floatIcon {

        0%,
        100% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(-3px);
        }
    }


    .header-btn::before {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: var(--border-radius-sm);
        padding: 2px;
        background: linear-gradient(135deg, transparent, var(--accent-color), transparent);
        mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        opacity: 0;
        transition: opacity 0.4s;
        pointer-events: none;
    }

    .header-btn:hover::before {
        opacity: 1;
    }

    /* ========== GESTION DES DROPDOWNS POSITION ========== */
    .dropdown-menu.show,
    .dropdown-menu-custom.show {
        display: block;
        position: absolute;
        right: 0;
        left: auto !important;
        transform: translate3d(0px, 48px, 0px) !important;
    }

    /*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

    /* ========== ESPACEMENT ÉGAL ENTRE LES 3 ICÔNES DU HEADER ========== */
    .col-header-right .row.no-gutters {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        gap: 0.5rem;
    }

    /* Chaque bouton icône prend la largeur nécessaire avec espacement uniforme */
    #header-search-btn,
    #header-user-btn,
    #ps-shoppingcart-wrapper {
        flex: 0 0 auto;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Espacement égal entre les 3 éléments */
    #header-search-btn {
        margin-right: 0.5rem !important;
    }

    #header-user-btn {
        margin-right: 0.5rem !important;
        margin-left: 0.5rem !important;
    }

    #ps-shoppingcart-wrapper {
        margin-left: 0.5rem !important;
    }

    /* Sur tablette, espacement légèrement réduit mais égal */
    @media (max-width: 992px) {

        .col-header-right .row.no-gutters {
            gap: 0.3rem;
        }

        #header-search-btn {
            margin-right: 0.3rem !important;
        }

        #header-user-btn {
            margin-right: 0.3rem !important;
            margin-left: 0.3rem !important;
        }

        #ps-shoppingcart-wrapper {
            margin-left: 0.3rem !important;
        }
    }

    /* Sur mobile, espacement plus serré mais toujours égal */
    @media (max-width: 576px) {
        .col-header-right .row.no-gutters {
            gap: 0.15rem;
        }

        #header-search-btn {
            margin-right: 0.15rem !important;
        }

        #header-user-btn {
            margin-right: 0.15rem !important;
            margin-left: 0.15rem !important;
        }

        #ps-shoppingcart-wrapper {
            margin-left: 0.15rem !important;
        }
    }

    /* ========== GARANTIR QUE LE PANIER S'AFFICHE CORRECTEMENT ========== */
    #ps-shoppingcart-wrapper,
    #ps-shoppingcart,
    #blockcart,
    .cart-toogle {
        display: flex;
        align-items: center;
    }

    .dropdown-menu-custom {
        position: absolute;
        top: 100%;
        right: 0;
        left: auto !important;
        z-index: 1050;
        min-width: 320px;
        background: white;
        border-radius: 12px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
        border: 1px solid rgba(0, 0, 0, 0.05);
    }

    /* S'assurer que le dropdown du panier s'ouvre correctement */
    #ps-shoppingcart .dropdown-menu-custom.show {
        display: block;
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }




    /* Animation d'apparition */
    @keyframes headerSlideIn {
        from {
            opacity: 0;
            transform: translateY(-20px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Logo */
    #desktop_logo {
        position: relative;
        overflow: hidden;
    }

    #desktop_logo .logo {
        max-height: 55px;
        width: auto;
        transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        object-fit: contain;
        filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.05));
    }




    /* Dropdown panier */
    .dropdown-menu-custom.dropdown-menu {
        border: none;
        background: white;
        backdrop-filter: blur(10px);
        border-radius: 14px;
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
        padding: 1rem;
        margin-top: 0.75rem;
        min-width: 280px;
        border: 1px solid rgba(230, 126, 34, 0.1);
    }


    /* Titre du panier */
    .cart-title {
        font-weight: 600;
        font-size: 1.1rem;
        padding-bottom: 0.5rem;
        background: linear-gradient(135deg, #4b5563, #e67e22);
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent;
    }

    /* Scrollbar panier */
    .blockcart-content::-webkit-scrollbar {
        width: 5px;
    }

    .blockcart-content::-webkit-scrollbar-track {
        background: #eef2f6;
        border-radius: 10px;
    }

    .blockcart-content::-webkit-scrollbar-thumb {
        background: linear-gradient(135deg, #4b5563, #e67e22);
        border-radius: 10px;
    }


    /*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

    /* ========== FORCER LE SURCHARGE DU BACKGROUND NOIR EXISTANT ========== */
    #iqitmegamenu-horizontal,
    .iqitmegamenu-wrapper,
    #iqitmegamenu-wrapper {
        background: #ffffff !important;
    }

    /* Version encore plus spécifique pour être sûr */
    .container-iqitmegamenu #iqitmegamenu-horizontal,
    .container-iqitmegamenu .iqitmegamenu-wrapper,
    div#iqitmegamenu-wrapper {
        background: #ffffff !important;
        padding-left: 1.5em !important;
    }

    /* ========== MENU PRINCIPAL (IQITMEGAMENU) DESIGN ULTRA PREMIUM ========== */

    /* Conteneur du menu - état normal avec effets améliorés */
    .iqitmegamenu-wrapper {
        background: #ffffff !important;
        border-top: 2px solid rgba(107, 114, 128, 0.5) !important;
        border-bottom: 2px solid rgba(107, 114, 128, 0.3) !important;
        border-left: none !important;
        border-right: none !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
        position: relative;
        transition: all 0.5s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        backdrop-filter: blur(2px);
    }

    /* Cibler directement l'élément problématique */
    #iqitmegamenu-horizontal {
        background: #ffffff !important;
        border: none !important;
    }

    /* Animation de brillance sur la bordure supérieure - améliorée */
    .iqitmegamenu-wrapper::before {
        content: '';
        position: absolute;
        top: -2px;
        left: -100%;
        width: 100%;
        height: 4px;
        animation: menuBorderSlide 3s linear infinite;
        pointer-events: none;
        z-index: 1;
        filter: blur(1px);
    }

    @keyframes menuBorderSlide {
        0% {
            left: -100%;
        }

        100% {
            left: 100%;
        }
    }

    /* Effet de brillance de fond avec dégradé animé */
    .iqitmegamenu-wrapper::after {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg,
                transparent 0%,
                rgba(107, 114, 128, 0.05) 25%,
                rgba(156, 163, 175, 0.1) 50%,
                rgba(107, 114, 128, 0.05) 75%,
                transparent 100%);
        animation: menuShimmer 6s infinite;
        pointer-events: none;
    }

    @keyframes menuShimmer {
        0% {
            left: -100%;
        }

        50% {
            left: 200%;
        }

        100% {
            left: 200%;
        }
    }

    /* Effet de particules flottantes sur le menu */
    .iqitmegamenu-wrapper .container-iqitmegamenu {
        position: relative;
        z-index: 2;
    }

    /* ========== ÉTAT APRÈS SCROLL (menu sticky) - DESIGN RENFORCÉ ========== */
    .sticky-desktop-wrapper.sticky .iqitmegamenu-wrapper,
    .sticky-desktop-wrapper.sticky #iqitmegamenu-horizontal {
        background: linear-gradient(135deg, #1f2937 0%, #111827 100%) !important;
        backdrop-filter: blur(12px);
        border-bottom: 2px solid rgba(107, 114, 128, 0.7) !important;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
        padding: 0 !important;
    }

    /* Animation d'apparition du sticky avec effet 3D */
    @keyframes stickyGlowEnhanced {
        0% {
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
            background: linear-gradient(135deg, #374151 0%, #0f172a 100%);
            transform: translateY(0);
        }

        50% {
            box-shadow: 0 8px 35px rgba(107, 114, 128, 0.2);
            transform: translateY(2px);
        }

        100% {
            box-shadow: 0 6px 30px rgba(107, 114, 128, 0.15);
            background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
            transform: translateY(0);
        }
    }

    .sticky-desktop-wrapper.sticky .iqitmegamenu-wrapper {
        animation: stickyGlowEnhanced 0.5s ease-out;
    }

    /* ========== LISTE DU MENU HORIZONTAL ========== */
    .cbp-hrmenu>ul {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0.25rem;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    /* ========== CHAQUE ONGLET DU MENU - DESIGN AMÉLIORÉ ========== */
    .cbp-hrmenu-tab {
        position: relative;
        transition: all 0.4s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        margin: 0 2px;
    }

    /* Liens du menu avec effet glassmorphisme au survol */
    .cbp-hrmenu-tab>a {
        display: flex;
        align-items: center;
        padding: 0.9rem 1.4rem;
        font-size: 0.95rem;
        font-weight: 600;
        letter-spacing: 0.5px;
        color: #e2e8f0 !important;
        text-decoration: none;
        transition: all 0.4s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        border-radius: 40px;
        position: relative;
        overflow: hidden;
        gap: 8px;
    }

    /* Effet de brillance au survol - amélioré */
    .cbp-hrmenu-tab>a::before {
        content: '';
        position: absolute;
        top: -50%;
        left: -60%;
        width: 200%;
        height: 200%;
        background: radial-gradient(circle, rgba(55, 65, 81, 0.15) 0%, transparent 70%);
        transition: all 0.6s ease;
        pointer-events: none;
        opacity: 0;
        transform: scale(0.5);
    }

    .cbp-hrmenu-tab>a:hover::before {
        opacity: 1;
        transform: scale(1);
    }

    .cbp-hrmenu-tab>a:hover::after {
        width: 60%;
        left: 20%;
    }

    /* Texte avec animation de glow */
    .cbp-tab-title {
        position: relative;
        transition: all 0.3s ease;
        display: inline-block;
        color: #0e0e0e !important;
        font-weight: 600 !important;
    }

    .cbp-hrmenu-tab>a:hover .cbp-tab-title {
        transform: translateX(5px);
        color: #374151 !important;
        text-shadow: none;
    }

    /* Animation d'entrée des onglets avec effet cascade amélioré */
    .cbp-hrmenu-tab {
        opacity: 0;
        animation: menuCascadeIn 0.6s cubic-bezier(0.2, 0.8, 0.4, 1) forwards;
    }

    .cbp-hrmenu-tab:nth-child(1) {
        animation-delay: 0.05s;
    }

    .cbp-hrmenu-tab:nth-child(2) {
        animation-delay: 0.1s;
    }

    .cbp-hrmenu-tab:nth-child(3) {
        animation-delay: 0.15s;
    }

    .cbp-hrmenu-tab:nth-child(4) {
        animation-delay: 0.2s;
    }

    .cbp-hrmenu-tab:nth-child(5) {
        animation-delay: 0.25s;
    }

    .cbp-hrmenu-tab:nth-child(6) {
        animation-delay: 0.3s;
    }

    .cbp-hrmenu-tab:nth-child(7) {
        animation-delay: 0.35s;
    }

    @keyframes menuCascadeIn {
        0% {
            opacity: 0;
            transform: translateY(-20px) scale(0.95);
            filter: blur(4px);
        }

        50% {
            transform: translateY(5px) scale(1.02);
        }

        100% {
            opacity: 1;
            transform: translateY(0) scale(1);
            filter: blur(0);
        }
    }

    /* Effet ripple au clic amélioré */
    .cbp-hrmenu-tab>a:active {
        transform: scale(0.96);
        transition: transform 0.08s;
    }

    /* ========== SOUS-MENUS DROPDOWN ULTRA MODERNE ========== */
    .cbp-hrsub {
        background: linear-gradient(135deg, rgba(26, 42, 69, 0.98) 0%, rgba(15, 23, 42, 0.98) 100%);
        backdrop-filter: blur(12px);
        border: 1px solid rgba(107, 114, 128, 0.4);
        border-radius: 20px;
        box-shadow: 0 20px 45px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(107, 114, 128, 0.2);
        margin-top: 0.8rem;
        overflow: hidden;
    }

    /* Flèche du dropdown avec effet néon */
    .cbp-hrsub::before {
        content: '';
        position: absolute;
        top: -8px;
        left: 30px;
        width: 16px;
        height: 16px;
        background: linear-gradient(135deg, #374151 50%, transparent 50%);
        transform: rotate(45deg);
        border-top: 1px solid rgba(107, 114, 128, 0.5);
        border-left: 1px solid rgba(107, 114, 128, 0.5);
        filter: drop-shadow(0 -2px 2px rgba(107, 114, 128, 0.2));
    }

    .cbp-hrsub-inner {
        background: transparent;
        padding: 1rem 1.5rem;
    }

    /* Liens dans sous-menus avec animation */
    .cbp-hrsub .cbp-hrsub-inner a {
        color: #cbd5e1;
        transition: all 0.3s ease;
        display: inline-block;
        position: relative;
        padding: 0.5rem 0;
        font-size: 0.9rem;
    }

    .cbp-hrsub .cbp-hrsub-inner a::before {
        content: '✨';
        position: absolute;
        left: -20px;
        opacity: 0;
        transition: all 0.3s ease;
        font-size: 0.8rem;
    }

    .cbp-hrsub .cbp-hrsub-inner a:hover::before {
        opacity: 1;
        left: -15px;
    }

    /* Animation sous-menu avec effet 3D */
    .cbp-hrsub {
        animation: submenu3D 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.2);
        transform-origin: top center;
    }

    @keyframes submenu3D {
        from {
            opacity: 0;
            transform: translateY(-15px) scale(0.95) rotateX(-5deg);
        }

        to {
            opacity: 1;
            transform: translateY(0) scale(1) rotateX(0);
        }
    }

    /* ========== MENU MOBILE DESIGN PREMIUM ========== */

    /* Panneau mobile avec effet glass */
    #iqitmegamenu-mobile {
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.98) 0%, rgba(10, 15, 31, 0.98) 100%);
        backdrop-filter: blur(10px);
    }

    /* Header menu mobile avec effet shine */
    .mobile-menu__header {
        background: linear-gradient(135deg, #374151 0%, #0f172a 100%);
        border-bottom: 2px solid rgba(107, 114, 128, 0.5);
        padding: 1rem;
        position: relative;
        overflow: hidden;
    }

    .mobile-menu__header::after {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(156, 163, 175, 0.1), transparent);
        animation: headerShine 3s infinite;
    }

    @keyframes headerShine {
        0% {
            left: -100%;
        }

        100% {
            left: 100%;
        }
    }

    .mobile-menu__title {
        color: #d1d5db;
        font-weight: 700;
        letter-spacing: 1px;
        font-size: 1.2rem;
        text-shadow: 0 0 10px rgba(156, 163, 175, 0.3);
    }

    /* Boutons fermeture/retour avec animation */
    .mobile-menu__back-btn,
    .mobile-menu__close {
        background: rgba(107, 114, 128, 0.2);
        border-radius: 50%;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        color: #d1d5db;
    }

    .mobile-menu__back-btn:hover,
    .mobile-menu__close:hover {
        background: rgba(107, 114, 128, 0.4);
        transform: rotate(90deg) scale(1.1);
        color: #ffffff;
    }

    /* Onglets menu mobile avec effet slide */
    .mobile-menu__tab {
        border-bottom: 1px solid rgba(107, 114, 128, 0.1);
        transition: all 0.4s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        padding: 0.25rem 0;
        margin: 4px 0;
        border-radius: 12px;
    }

    .mobile-menu__tab:hover {
        background: linear-gradient(90deg, rgba(107, 114, 128, 0.15) 0%, transparent 90%);
        padding-left: 1rem;
        border-radius: 12px 0 0 12px;
        transform: translateX(5px);
    }

    .mobile-menu__link {
        color: #e2e8f0;
        transition: all 0.3s ease;
        font-weight: 500;
    }

    .mobile-menu__link:hover {
        color: #d1d5db;
    }

    .mobile-menu__tab-title {
        transition: all 0.3s ease;
        display: inline-block;
    }

    .mobile-menu__tab:hover .mobile-menu__tab-title {
        transform: translateX(8px);
        color: #d1d5db;
    }

    /* Animation apparition onglets mobile avec effet bounce */
    .mobile-menu__tab {
        opacity: 0;
        animation: mobileMenuBounce 0.5s cubic-bezier(0.2, 1.2, 0.4, 1) forwards;
    }

    .mobile-menu__tab:nth-child(1) {
        animation-delay: 0.05s;
    }

    .mobile-menu__tab:nth-child(2) {
        animation-delay: 0.1s;
    }

    .mobile-menu__tab:nth-child(3) {
        animation-delay: 0.15s;
    }

    .mobile-menu__tab:nth-child(4) {
        animation-delay: 0.2s;
    }

    .mobile-menu__tab:nth-child(5) {
        animation-delay: 0.25s;
    }

    .mobile-menu__tab:nth-child(6) {
        animation-delay: 0.3s;
    }

    .mobile-menu__tab:nth-child(7) {
        animation-delay: 0.35s;
    }

    @keyframes mobileMenuBounce {
        from {
            opacity: 0;
            transform: translateX(-20px);
        }

        60% {
            transform: translateX(3px);
        }

        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    /* Footer menu mobile premium */
    .mobile-menu__footer {
        background: linear-gradient(135deg, #111827 0%, #374151 100%);
        border-top: 1px solid rgba(107, 114, 128, 0.4);
        padding: 1rem 1.5rem;
    }

    .mobile-menu__user a {
        color: #d1d5db;
        transition: all 0.3s ease;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-weight: 600;
        padding: 0.6rem 1.2rem;
        border-radius: 40px;
        background: rgba(107, 114, 128, 0.12);
        border: 1px solid rgba(107, 114, 128, 0.2);
    }

    .mobile-menu__user a:hover {
        color: #ffffff;
        background: rgba(107, 114, 128, 0.25);
        transform: translateX(5px);
        border-color: rgba(107, 114, 128, 0.5);
        box-shadow: 0 0 15px rgba(107, 114, 128, 0.2);
    }

    /* Language / Currency selectors améliorés */
    .mobile-menu__language-selector,
    .mobile-menu__currency-selector {
        color: #e2e8f0;
        transition: all 0.3s ease;
        padding: 0.6rem 1.2rem;
        border-radius: 40px;
        background: rgba(107, 114, 128, 0.08);
        border: 1px solid rgba(107, 114, 128, 0.15);
        cursor: pointer;
    }

    .mobile-menu__language-selector:hover,
    .mobile-menu__currency-selector:hover {
        color: #d1d5db;
        background: rgba(107, 114, 128, 0.18);
        transform: translateY(-2px);
        border-color: rgba(107, 114, 128, 0.4);
    }

    /* Dropdown des langues avec effet glass */
    .mobile-menu__language-currency-dropdown {
        background: rgba(30, 41, 59, 0.95);
        backdrop-filter: blur(8px);
        border-radius: 16px;
        padding: 0.8rem;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
        border: 1px solid rgba(107, 114, 128, 0.3);
        animation: dropdownGlow 0.25s ease;
    }

    @keyframes dropdownGlow {
        from {
            opacity: 0;
            transform: translateY(-8px);
            filter: blur(2px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
            filter: blur(0);
        }
    }

    /* ========== RESPONSIVE ========== */
    @media (max-width: 992px) {
        .cbp-hrmenu-tab>a {
            padding: 0.7rem 1rem;
            font-size: 0.85rem;
        }
    }

    /* Animation d'entrée complète du menu en 3D */
    .iqitmegamenu-wrapper {
        animation: menu3DEnter 0.6s cubic-bezier(0.2, 0.8, 0.4, 1);
    }

    @keyframes menu3DEnter {
        from {
            opacity: 0;
            transform: translateY(-30px) scale(0.98);
            filter: blur(4px);
        }

        to {
            opacity: 1;
            transform: translateY(0) scale(1);
            filter: blur(0);
        }
    }

    /* Effet de survol sur le menu entier avec glow */
    .iqitmegamenu-wrapper:hover {
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
        transition: all 0.4s ease;
    }

    /* Style pour le wrapper sticky amélioré */
    .sticky-desktop-wrapper {
        position: relative;
        z-index: 1020;
    }

    .sticky-desktop-wrapper.sticky {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1030;
        animation: stickyPremium 0.5s cubic-bezier(0.2, 0.9, 0.4, 1);
    }

    @keyframes stickyPremium {
        0% {
            transform: translateY(-100%);
            opacity: 0;
        }

        100% {
            transform: translateY(0);
            opacity: 1;
        }
    }

    /* Icône NEU avec animation premium */
    #cbp-hrmenu-tab-6 .cbp-tab-title {
        position: relative;
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }



    @keyframes lightningPulse {

        0%,
        100% {
            opacity: 0.7;
            transform: scale(1) rotate(0deg);
            filter: drop-shadow(0 0 2px #ffd700);
        }

        50% {
            opacity: 1;
            transform: scale(1.25) rotate(10deg);
            filter: drop-shadow(0 0 8px #ffd700);
        }
    }

    /* Effet de loading shimmer pour le menu */
    @keyframes menuLoadShimmer {
        0% {
            background-position: -200% 0;
        }

        100% {
            background-position: 200% 0;
        }
    }

    /* Bonus: Effet de survol 3D sur les onglets actifs */
    .cbp-hrmenu-tab.cbp-hrmenu-tab-active {
        transform: translateY(-1px);
    }

    .container.iqit-megamenu-container {
        padding: 0;
    }

    div#iqitmegamenu-wrapper {
        padding: 10px;
    }


    /*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

    /* ========== HEADER NAV (BARRE DU HAUT) DESIGN PREMIUM ========== */

    /* Conteneur principal de la barre supérieure */
    .header-nav {
        background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
        border-bottom: 1px solid rgba(107, 114, 128, 0.3);
        padding: 0.4rem 0;
        position: relative;
        overflow: hidden;
        font-size: 0.85rem;
    }

    /* Animation de brillance sur la bordure */
    .header-nav::before {
        content: '';
        position: absolute;
        bottom: -1px;
        left: -100%;
        width: 100%;
        height: 2px;
        animation: navBorderSlide 4s linear infinite;
        pointer-events: none;
    }

    @keyframes navBorderSlide {
        0% {
            left: -100%;
        }

        100% {
            left: 100%;
        }
    }

    /* Effet de brillance de fond */
    .header-nav::after {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(107, 114, 128, 0.05), rgba(156, 163, 175, 0.03), transparent);
        animation: navShimmer 8s infinite;
        pointer-events: none;
    }

    @keyframes navShimmer {
        0% {
            left: -100%;
        }

        40% {
            left: 100%;
        }

        100% {
            left: 100%;
        }
    }

    /* Animation d'entrée de la barre */
    .header-nav {
        animation: navSlideDown 0.5s ease-out;
    }

    @keyframes navSlideDown {
        from {
            opacity: 0;
            transform: translateY(-15px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* ========== SELECTEUR DE LANGUE ========== */

    /* Conteneur du sélecteur */
    .language-selector-wrapper {
        position: relative;
        margin-right: 1rem;
    }

    /* ========== SELECTEUR DE LANGUE (HORIZONTAL PREMIUM) ========== */
    .language-selector-wrapper {
        position: relative;
        margin-right: 1rem;
    }

    /* Cacher la flèche et le comportement dropdown standard */
    .language-selector .expand-more .fa-angle-down,
    .language-selector .expand-more span:not(.fa),
    .language-selector .expand-more .lang-flag {
        display: none !important;
    }

    .language-selector .expand-more {
        pointer-events: none !important;
        cursor: default !important;
        display: none !important;
    }

    /* Affichage horizontal des langues */
    .language-selector .dropdown-menu {
        position: static !important;
        display: flex !important;
        flex-direction: row !important;
        gap: 0.5rem !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        width: auto !important;
        min-width: auto !important;
        animation: fadeInScale 0.4s ease-out;
    }

    .language-selector .dropdown-menu ul {
        display: flex !important;
        flex-direction: row !important;
        gap: 0.5rem !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .language-selector .dropdown-item {
        display: flex !important;
        align-items: center !important;
        gap: 5px !important;
        padding: 0.3rem 0.6rem !important;
        border-radius: 20px !important;
        background: rgba(107, 114, 128, 0.1) !important;
        transition: all 0.3s ease !important;
        font-size: 0.85rem;
        font-weight: 500;
    }

    /* Langue active */
    .language-selector .dropdown-item.current {
        background: linear-gradient(135deg, rgb(55 65 81 / 89%), #6b7280) !important;
        color: white !important;
        position: relative;
    }

    .language-selector .dropdown-item.current::after {
        content: '✓';
        margin-left: 4px;
        font-size: 0.7rem;
    }

    .language-selector .dropdown-item:hover:not(.current) {
        background: rgba(107, 114, 128, 0.3) !important;
        transform: translateY(-2px);
        color: #fff !important;
    }

    .lang-flag {
        width: 18px;
        height: 12px;
        border-radius: 2px;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    }



    /* ========== WISHLIST (LISTE DE SOUHAITS) ========== */

    /* Conteneur wishlist */
    .right-nav .d-inline-block:last-child {
        margin-left: 0.5rem;
    }

    .right-nav .d-inline-block a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 0.4rem 0.9rem;
        color: #cbd5e1;
        text-decoration: none;
        transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        border-radius: 30px;
        background: rgba(107, 114, 128, 0.05);
        font-size: 0.85rem;
        font-weight: 500;
    }

    .right-nav .d-inline-block a:hover {
        color: #9ca3af;
        background: rgba(107, 114, 128, 0.15);
        transform: translateY(-2px);
    }

    /* Icône cœur avec animation */
    .right-nav .d-inline-block .fa-heart-o {
        font-size: 1rem;
        transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    }

    .right-nav .d-inline-block a:hover .fa-heart-o {
        transform: scale(1.15);
        color: #ff6b6b;
        text-shadow: 0 0 8px rgba(255, 107, 107, 0.5);
    }

    /* Animation de battement au survol */
    @keyframes heartbeat {

        0%,
        100% {
            transform: scale(1);
        }

        50% {
            transform: scale(1.2);
        }
    }

    .right-nav .d-inline-block a:active .fa-heart-o {
        animation: heartbeat 0.3s ease-in-out;
    }

    /* Compteur wishlist */
    #iqitwishlist-nb {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 20px;
        height: 20px;
        background: linear-gradient(135deg, #e67e22, #d35400);
        border-radius: 30px;
        font-size: 0.7rem;
        font-weight: bold;
        color: white;
        padding: 0 4px;
        margin-left: 2px;
        transition: all 0.3s ease;
    }

    .right-nav .d-inline-block a:hover #iqitwishlist-nb {
        transform: scale(1.1);
        box-shadow: 0 0 8px rgba(230, 126, 34, 0.5);
    }

    /* Animation quand le compteur change */
    @keyframes counterPulse {

        0%,
        100% {
            transform: scale(1);
            background: linear-gradient(135deg, #e67e22, #d35400);
        }

        50% {
            transform: scale(1.2);
            background: linear-gradient(135deg, #f39c12, #e67e22);
        }
    }

    #iqitwishlist-nb.update {
        animation: counterPulse 0.4s ease-in-out;
    }

    /* ========== ANIMATIONS SUPPLÉMENTAIRES ========== */

    /* Effet de particules au survol du header-nav */
    .header-nav:hover {
        background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
        transition: background 0.3s ease;
    }

    /* Style pour le texte "Wishlist" */
    .right-nav .d-inline-block a span:not(#iqitwishlist-nb) {
        letter-spacing: 0.3px;
    }

    /* Animation de chargement des éléments */
    .right-nav .d-inline-block {
        opacity: 0;
        animation: fadeInRight 0.4s ease forwards;
    }

    .right-nav .d-inline-block:first-child {
        animation-delay: 0.1s;
    }

    .right-nav .d-inline-block:last-child {
        animation-delay: 0.2s;
    }

    @keyframes fadeInRight {
        from {
            opacity: 0;
            transform: translateX(10px);
        }

        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    /* Effet de lueur au focus */
    .language-selector .expand-more:focus,
    .right-nav .d-inline-block a:focus {
        outline: none;
        box-shadow: 0 0 0 2px rgba(107, 114, 128, 0.4);
        border-radius: 30px;
    }

    /* Style pour le "current" langue avec effet spécial */

    /* Effet de transition sur le hover du header-nav */
    .header-nav .container {
        transition: all 0.3s ease;
    }

    /* Particules animées au survol (optionnel) */
    .header-nav {
        position: relative;
        overflow: hidden;
    }

    .header-nav .particle {
        position: absolute;
        width: 2px;
        height: 2px;
        background: rgba(107, 114, 128, 0.4);
        border-radius: 50%;
        pointer-events: none;
        animation: floatHeaderParticle 8s infinite linear;
    }

    @keyframes floatHeaderParticle {
        0% {
            transform: translateY(100%) scale(0);
            opacity: 0;
        }

        50% {
            opacity: 0.5;
        }

        100% {
            transform: translateY(-100%) scale(1);
            opacity: 0;
        }
    }

}

/* ========== RESPONSIVE ========== */
@media (max-width: 992px) {

    .header-btn {
        padding: 0.3rem 0.6rem;
    }

    .header-btn .title {
        font-size: 0.6rem;
    }

    .header-btn .icon {
        font-size: 1.2rem;
    }

    .info-wrapper .title,
    .cart-toggle-details {
        font-size: 0.65rem;
    }
}

/* ========== CHANGEMENT DU BACKGROUND DU PANIER (CART DROPDOWN) ========== */
/* Panier dropdown - caché par défaut */
.dropdown-menu-custom.dropdown-menu,
#ps-shoppingcart .dropdown-menu-custom,
#_desktop_blockcart-content,
#_mobile_blockcart-content,
#mobile-cart-wrapper .dropdown-menu-custom {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Panier dropdown - visible uniquement quand ouvert (avec classe .show) */
.dropdown-menu-custom.dropdown-menu.show,
#ps-shoppingcart .dropdown-menu-custom.show,
#_desktop_blockcart-content.show,
#_mobile_blockcart-content.show,
#mobile-cart-wrapper .dropdown-menu-custom.show {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Panier dropdown - version mobile */
#_mobile_blockcart-content,
#mobile-cart-wrapper .dropdown-menu-custom {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    border: 1px solid rgba(107, 114, 128, 0.3) !important;
    border-radius: 16px !important;
}

/* Bouton fermeture */
#js-cart-close {
    color: #94a3b8 !important;
    background: rgba(107, 114, 128, 0.1) !important;
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
}

#js-cart-close:hover {
    background: rgba(107, 114, 128, 0.3) !important;
    color: #ff6b6b !important;
    transform: scale(1.1) !important;
}

/* Séparateur */
.cart-title hr {
    background: linear-gradient(90deg, transparent, rgb(55 65 81 / 89%), #9ca3af, rgb(55 65 81 / 89%), transparent) !important;
    height: 1px !important;
    border: none !important;
}

/* Liste des produits */
.cart-products {
    list-style: none !important;
    padding-left: 0 !important;
}

.cart-products li {
    border-bottom: 1px solid rgba(107, 114, 128, 0.2) !important;
    padding: 0.75rem 0 !important;
    transition: all 0.3s ease !important;
}

.cart-products li:hover {
    background: rgba(107, 114, 128, 0.08) !important;
    transform: translateX(4px) !important;
    border-radius: 12px !important;
    padding-left: 8px !important;
}

/* Noms des produits */
.cart-products li a {
    color: #374151 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.cart-products li a:hover {
    color: #374151 !important;
}

/* Images des produits */
.product-image img {
    background: rgba(107, 114, 128, 0.15) !important;
    border-radius: 12px !important;
    padding: 4px !important;
    transition: all 0.3s ease !important;
}

.product-image img:hover {
    transform: scale(1.05) rotate(2deg) !important;
}


/* Bouton supprimer */
.remove-from-cart {
    color: #94a3b8 !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
}

.remove-from-cart:hover {
    color: #ff6b6b !important;
    background: rgba(255, 107, 107, 0.15) !important;
    transform: rotate(8deg) scale(1.1) !important;
}

/* Prix des produits */
.cart-products li .col.p-0 span {
    color: #374151 !important;
    font-weight: 600 !important;
}

/* Sous-totaux */
.cart-subtotals {
    background: rgba(107, 114, 128, 0.08) !important;
    border-radius: 12px !important;
    padding: 0.8rem !important;
    margin-top: 0.8rem !important;
}

.cart-summary-line {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.cart-summary-line .value {
    margin-left: auto !important;
    color: #374151 !important;
    font-weight: 500 !important;
}

.cart-summary-line > div {
    flex-basis: 100% !important;
}

/* Totaux */
.cart-totals {
    background: rgba(107, 114, 128, 0.12) !important;
    border-radius: 12px !important;
    padding: 0.8rem !important;
    margin-top: 0.8rem !important;
}

.cart-totals .label {
    color: #374151 !important;
    font-weight: 600 !important;
}

.cart-totals .value {
    color: #1f2937 !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
}

/* Boutons du panier */
.cart-buttons {
    margin-top: 1rem !important;
}

.cart-buttons .btn-primary {
    background: linear-gradient(135deg, rgb(55 65 81 / 89%), #6b7280) !important;
    border: none !important;
    border-radius: 40px !important;
    padding: 0.6rem 1rem !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    color: white !important;
}

.cart-buttons .btn-primary:hover {
    background: linear-gradient(135deg, #6b7280, rgb(55 65 81 / 89%)) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(107, 114, 128, 0.3) !important;
}

.cart-buttons .btn-secondary {
    background: rgba(107, 114, 128, 0.15) !important;
    border: 1px solid rgba(107, 114, 128, 0.3) !important;
    border-radius: 40px !important;
    padding: 0.6rem 1rem !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
}

.cart-buttons .btn-secondary:hover {
    background: rgba(107, 114, 128, 0.25) !important;
    transform: translateY(-2px) !important;
}

/* Scrollbar du panier */
.blockcart-content::-webkit-scrollbar {
    width: 5px !important;
}

.blockcart-content::-webkit-scrollbar-track {
    background: rgba(107, 114, 128, 0.1) !important;
    border-radius: 10px !important;
}

.blockcart-content::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, rgb(55 65 81 / 89%), #9ca3af) !important;
    border-radius: 10px !important;
}

/* Animation d'ouverture du panier */
#_desktop_blockcart-content,
#_mobile_blockcart-content {
    animation: cartSlideIn 0.25s cubic-bezier(0.2, 0.9, 0.4, 1.1) !important;
    transform-origin: top center !important;
}

@keyframes cartSlideIn {
    from {
        opacity: 0;
        transform: translateY(-15px) scale(0.96);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}



/* Version responsive */
@media (max-width: 768px) {
    .language-selector .dropdown-item {
        padding: 0.2rem 0.5rem !important;
        font-size: 0.75rem !important;
    }

    .language-selector .dropdown-item .lang-flag {
        width: 14px !important;
        height: 10px !important;
    }

    .col-header-right .row {
        gap: 0.2rem;
    }

    .header-btn .title {
        display: none;
    }

    .header-btn .icon {
        font-size: 1.4rem;
    }

    .info-wrapper .title {
        display: inline-block;
        font-size: 0.6rem;
    }

    .cart-toggle-details .value {
        font-size: 0.7rem;
    }

    .header-nav {
        padding: 0.3rem 0;
    }

    .language-selector .expand-more,
    .right-nav .d-inline-block a {
        padding: 0.3rem 0.6rem;
        font-size: 0.75rem;
    }

    .lang-flag {
        width: 18px;
        height: 12px;
    }

    .language-selector .expand-more span:not(.fa) {
        display: none;
    }

    .right-nav .d-inline-block a span:not(#iqitwishlist-nb) {
        display: none;
    }

    .right-nav .d-inline-block .fa-heart-o {
        font-size: 1.1rem;
    }

    #iqitwishlist-nb {
        position: absolute;
        top: -8px;
        right: -8px;
    }

    .right-nav .d-inline-block {
        position: relative;
    }

    .right-nav .d-inline-block a {
        padding: 0.4rem 0.7rem;
    }

    .iqitmegamenu-wrapper {
        display: none;
    }

    .mobile-menu__footer {
        flex-direction: column;
        gap: 1rem;
    }

    .header-btn .title {
        display: none;
    }

    .header-btn .icon {
        font-size: 1.4rem;
    }

    .dropdown-menu-custom {
        min-width: 280px;
        right: -20px;
    }

    .container {
        padding: 1.5rem;
    }

    .block:hover {
        transform: none;
    }

    .part:hover {
        transform: translateX(5px);
    }

    .icon {
        width: 44px;
        height: 44px;
        min-width: 44px;
    }

    .icon i,
    .icon .fa {
        font-size: 1.2rem;
    }

    #sticky-cart-wrapper .dropdown-menu-custom {
        position: fixed !important;
        bottom: 70px !important;
        top: auto !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        max-width: none !important;
    }

    .cart-products {
        max-height: 250px !important;
    }


    .product-line-grid {
        padding: 1rem;
    }

    .product-image {
        width: 70px;
    }

    .product-line-info .label {
        font-size: 0.9rem;
    }

    .price .product-price strong {
        font-size: 1rem;
    }

    .product-line-actions .row {
        margin-top: 1rem;
        gap: 0.5rem;
    }

    .cart-summary-line .label,
    .cart-summary-line .value {
        font-size: 0.85rem;
    }

    .cart-total .value {
        font-size: 1.1rem;
    }

    .page-title {
        font-size: 1.6rem;
    }

    .crossselling-products {
        padding: 1.5rem;
    }

    .divide-right {
        border-right: none !important;
        border-bottom: 1px solid rgba(107, 114, 128, 0.15) !important;
        padding-bottom: 15px;
        margin-bottom: 15px;
    }
}

/* ========== CACHER LE 4ÈME DIV (col-12) DANS LE HEADER ========== */

/* Cacher la ligne vide avec la classe col-12 */
#desktop-header-container .row .col-12,
#desktop-header-container .col-12 {
    display: none !important;
}

/* Alternative plus spécifique */
#desktop-header-container>.container>.row>.col-12,
#desktop-header-container .container .row .col-12:last-child {
    display: none !important;
}

/* ========== CORRECTION DU BADGE COMPTEUR PANIER (ICONE COUPÉE) ========== */

/* Forcer le parent à ne pas couper le contenu */
#ps-shoppingcart,
.header-cart-btn,
.header-cart-btn-w,
#blockcart,
.cart-toogle,
.header-btn {
    overflow: visible !important;
}

/* Position relative sur le conteneur de l'icône pour que le badge soit correctement positionné */
.header-cart-btn .icon,
.cart-toogle .icon,
.fa-shopping-bag {
    position: relative !important;
    display: inline-block !important;
    overflow: visible !important;
}

/* S'assurer que le parent de l'icône n'a pas d'overflow hidden */
.header-cart-btn-w,
#ps-shoppingcart-wrapper,
.col-auto {
    overflow: visible !important;
}

/* Forcer l'icône à être relative pour que le badge se positionne correctement */
.header-cart-btn i,
.header-cart-btn .fa {
    position: relative !important;
    overflow: visible !important;
}

/* ========== DESIGN PRODUIT ÉPURÉ & PROFESSIONNEL ========== */

.product-add-to-cart {
    padding-top: 1.5rem;
    border-top: 1px solid rgba(107, 114, 128, 0.1);
}

/* --- LE SÉLECTEUR DE QUANTITÉ (STYLE COMPACT) --- */
.product-quantity .qty {
    margin: 0 !important;
}

.product-quantity .input-group.bootstrap-touchspin {
    width: 110px !important;
    background: #2b2b2b !important;
    border: 1px solid #334155;
    border-radius: 8px;
    overflow: hidden;
}

.product-quantity #quantity_wanted {
    height: 46px !important;
    background: transparent !important;
    border: none !important;
    color: #f8fafc !important;
    font-weight: 600 !important;
    font-size: 1rem;
    text-align: center;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Boutons Up/Down verticaux (Comme dans ton HTML original) */
.product-quantity .btn-touchspin {
    background: #2b2b2b !important;
    border: none !important;
    border-left: 1px solid #334155 !important;
    color: #374151 !important;
    height: 23px !important;
    /* Moitié de la hauteur totale */
    width: 34px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem !important;
}

.product-quantity .btn-touchspin:hover {
    background: #334155 !important;
    color: #1f2937 !important;
}

/* --- BOUTON AJOUTER AU PANIER (STYLE FLAT PREMIUM) --- */
.add-to-cart {
    height: 46px !important;
    background: rgb(55 65 81 / 89%) !important;
    font-family: mreavesxlmodl, sans-serif;
    /* Couleur unie pour un look plus pro */
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 0.6rem !important;
    line-height: normal;
    padding: 5px !important;
    color: white !important;
    text-transform: none !important;
    /* Plus moderne en minuscule/majuscule standard */
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 0px #4b5563d9 !important;
    /* Effet 3D discret */
}

.add-to-cart:hover {
    background: #1f2937 !important;
    transform: translateY(-1px);
    box-shadow: 0 5px 0px #111827 !important;
}

.add-to-cart:active {
    transform: translateY(3px);
    box-shadow: 0 1px 0px #6b7280 !important;
}

.add-to-cart .bag-icon {
    margin-right: 8px;
}

/* --- BOUTONS WISHLIST & COMPARE (STYLE MINIMAL) --- */
.btn-iconic {
    height: 46px !important;
    width: 46px !important;
    background: #2b2b2b !important;
    border: 1px solid #334155 !important;
    border-radius: 8px !important;
    color: #94a3b8 !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.btn-iconic:hover {
    background: #334155 !important;
    color: #f8fafc !important;
    border-color: #475569 !important;
}

.btn-iqitwishlist-add:hover {
    color: #ff6b6b !important;
}

/* --- RESPONSIVE --- */
@media (max-width: 576px) {
    .product-quantity.row {
        justify-content: center;
    }

    .col-add-btn {
        flex-grow: 1;
        /* Le bouton panier prend la place sur mobile */
    }

    .add-to-cart {
        width: 100%;
    }
}


/* ========== THE HYPER-LIQUID CHROME GLASS ========== */

.product-miniature {
    position: relative;
    transition: all 0.9s cubic-bezier(0.19, 1, 0.22, 1);
    border-radius: 35px;
    background: rgba(255, 255, 255, 0.01);
    border: 1px solid rgba(255, 255, 255, 0.1);
    overflow: hidden;
    z-index: 1;
    perspective: 1000px;
}

/* L'effet de lévitation magnétique au Hover */
.product-miniature:hover {
    transform: translateY(-20px) rotateX(4deg) rotateY(2deg);
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(30px) saturate(210%);
    -webkit-backdrop-filter: blur(30px) saturate(210%);

    /* Bordure Chromatique : simulation de diffraction de lumière */
    border: 1px solid rgba(107, 114, 128, 0.6);

    /* Ombre portée "Aura" : l'ombre prend la couleur de ton identité */
    box-shadow:
        0 40px 80px rgba(0, 0, 0, 0.6),
        0 0 40px rgba(107, 114, 128, 0.25),
        inset 0 0 25px rgba(255, 255, 255, 0.1);
}

/* --- L'EFFET DE FLUX MERCURIEL (Fond animé) --- */
.product-miniature::before {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at center,
            rgba(107, 114, 128, 0.15) 0%,
            rgba(156, 163, 175, 0.05) 30%,
            transparent 60%);
    opacity: 0;
    transition: opacity 0.8s ease;
    z-index: -1;
}

.product-miniature:hover::before {
    opacity: 1;
    animation: mercuryMove 6s infinite alternate;
}

@keyframes mercuryMove {
    0% {
        transform: translate(-10%, -10%) scale(1);
    }

    100% {
        transform: translate(10%, 10%) scale(1.2);
    }
}

/* --- LE REFLET "LIQUID SHINE" (Supprimé - distrayant sur les photos) --- */

/* --- LE PRODUIT : L'effet "Pop-out" --- */
.thumbnail-container {
    transition: all 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.product-miniature.product-miniature-has-rollover:hover .product-thumbnail-first,
.product-miniature:has(.product-thumbnail-second):hover .product-thumbnail-first {
    transform: scale(1.15) translateY(-15px);
    filter: drop-shadow(0 25px 35px rgba(0, 0, 0, 0.5));
}

/* --- BOUTONS : Style "Floating Bubbles" --- */
.product-functional-buttons-links a {
    background: rgba(15, 23, 42, 0.4) !important;
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 20px;
    width: 35px !important;
    height: 35px !important;
    color: #fff !important;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.product-functional-buttons-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.product-miniature-grid .product-functional-buttons i {
    font-size: 1rem !important;
}

.product-functional-buttons-links a:hover {
    background: rgb(55 65 81 / 89%) !important;
    transform: scale(1.2) translateY(-10px);
    box-shadow: 0 15px 30px rgba(107, 114, 128, 0.5);
    border-color: #fff !important;
}

/* --- TYPOGRAPHIE --- */
.product-title a {
    font-weight: 300;
    transition: all 0.4s ease;
    font-family: mreavesxlmodl, sans-serif;
}

.product-miniature:hover .product-title a {
    background: linear-gradient(90deg, #fff, rgb(55 65 81 / 89%), #fff);
    background-size: 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: textShine 3s infinite linear;
}

@keyframes textShine {
    0% {
        background-position: 0%;
    }

    100% {
        background-position: 200%;
    }
}


/* ========== MODAL CONFIRMATION LIQUID GLASS ========== */

/* Fond de la modale */
.modal-content {
    backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(107, 114, 128, 0.3);
    border-radius: 25px;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
}

/* Header de la modale */
.modal-header {
    border-bottom: 1px solid rgba(107, 114, 128, 0.2);
    padding: 1.5rem;
}

.modal-title {
    color: #374151 !important;
    font-weight: 700 !important;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.2rem;
}

.modal-title i {
    background: rgba(46, 213, 115, 0.2);
    color: #2ed573;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 0.9rem;
}

/* Close button */
.modal-header .close {
    color: #94a3b8;
    text-shadow: none;
    opacity: 0.7;
    transition: all 0.3s ease;
}

.modal-header .close:hover {
    color: #ff6b6b;
    transform: rotate(90deg);
}

/* Produit qui vient d'être ajouté */
.divide-right {
    border-right: 1px solid rgba(107, 114, 128, 0.15) !important;
}

.product-image {
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.05);
    padding: 10px;
}

.product-name {
    font-weight: 700;
    color: #9d9d9d;
    font-size: 1.1rem;
}

.cart-subtotals,
.clearfix {
    padding: 8px 0;
}

/* --- BOUTONS --- */
.cart-content-btn .btn-primary {
    background: rgb(55 65 81 / 89%) !important;
    border: none !important;
    border-radius: 30px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    box-shadow: 0 4px 0px #4b5563 !important;
}

.cart-content-btn .btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 7px 0px #6b7280 !important;
    background: #6b7280 !important;
}

/* --- SECTION CROSS-SELLING (Produits suggérés) --- */
.crossselling-products-modal {
    background: rgba(0, 0, 0, 0.2);
    padding: 20px;
    margin-top: 20px;
    border-radius: 0 0 25px 25px;
}

.crossselling-products-modal-title {
    text-align: center;
    font-weight: 700;
    color: #374151;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 1px;
}

/* Miniatures dans le slider de la modale */
.crossselling-products-modal .product-miniature {
    background: rgba(255, 255, 255, 0.03) !important;
    border-radius: 15px !important;
    border: 1px solid rgba(107, 114, 128, 0.1) !important;
    padding: 10px;
}

/* Swiper Pagination */
.swiper-pagination-bullet {
    background: rgb(55 65 81 / 89%) !important;
    opacity: 0.3;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    width: 20px !important;
    border-radius: 5px !important;
}

#blockcart-content .cart-totals {
    font-size: .8rem !important;
}

/* ========================================
   PAGE PANIER (WARENKORB) - DESIGN PREMIUM
   Fond blanc avec style moderne
   ======================================== */

/* Titre de la page */
.page-title {
    color: #1e293b;
    font-size: 2.2rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 2.5rem;
    position: relative;
    letter-spacing: -0.5px;
}

.page-title span {
    background: linear-gradient(135deg, #1e293b, rgb(55 65 81 / 89%));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    display: inline-block;
    font-family: mreavesxlmodl, sans-serif;
}

.page-title::after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, rgb(55 65 81 / 89%), #374151, #9ca3af);
    border-radius: 3px;
}

/* Grille du panier */
.cart-grid {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* ========== PRODUITS DANS LE PANIER ========== */

/* Conteneur des produits */
.cart-container {
    background: #ffffff;
    border-radius: 24px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    margin-bottom: 2rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* Liste des produits */
.cart-items {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cart-item {
    border-bottom: 1px solid #eef2f6;
    transition: all 0.3s ease;
    background: #ffffff;
}

.cart-item:last-child {
    border-bottom: none;
}

.cart-item:hover {
    background: #f8fafc;
}

/* Ligne produit */
.product-line-grid {
    padding: 1.5rem;
}

/* Image produit */
.product-image {
    width: 100px;
    flex-shrink: 0;
}

.product-image img {
    border-radius: 16px;
    background: #f1f5f9;
    padding: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.product-image img:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

/* Nom du produit */
.product-line-info .label {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1e293b;
    text-decoration: none;
    transition: color 0.3s ease;
}

.product-line-info .label:hover {
    color: rgb(55 65 81 / 89%);
}

/* Prix unitaire */
.unit-price .value {
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 500;
}

.unit-price .product-discount {
    display: none;
}

/* Quantité input */
.qty .bootstrap-touchspin {
    background: #f8fafc;
    border-radius: 40px;
}

.qty .form-control {
    background: transparent !important;
    border: 1px solid #e2e8f0 !important;
    color: #1e293b !important;
    border-radius: 40px !important;
    text-align: center;
    font-weight: 600;
    width: 70px;
}

.qty .form-control:focus {
    border-color: rgb(55 65 81 / 89%) !important;
    box-shadow: 0 0 0 3px rgba(107, 114, 128, 0.1);
}

.btn-touchspin {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    color: rgb(55 65 81 / 89%) !important;
    border-radius: 40px !important;
    transition: all 0.3s ease;
    width: 32px;
    height: 32px;
}

.btn-touchspin:hover {
    background: rgb(55 65 81 / 89%) !important;
    color: white !important;
    transform: scale(1.05);
    border-color: rgb(55 65 81 / 89%) !important;
}

/* Prix total du produit */
.price .product-price strong {
    color: #1e293b;
    font-size: 1.2rem;
    font-weight: 700;
}

/* Bouton supprimer */
.remove-from-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #fef2f2;
    border-radius: 50%;
    color: #ef4444;
    transition: all 0.3s ease;
}

.remove-from-cart:hover {
    background: #ef4444;
    color: white;
    transform: rotate(90deg);
}

/* ========== SECTION CROSS-SELLING ========== */

.crossselling-products {
    background: #f8fafc;
    border-radius: 24px;
    padding: 2rem;
    margin-top: 2rem;
    border: 1px solid #e2e8f0;
}

.crossselling-products .section-title {
    color: #1e293b;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    text-align: center;
}

.crossselling-products .section-title span {
    position: relative;
}

.crossselling-products .section-title span::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, rgb(55 65 81 / 89%), #9ca3af);
    border-radius: 3px;
}


.product-miniature .thumbnail-container img {
    border-radius: 16px;
}

.product-title {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0.75rem 0;
}

.product-title a {
    color: #1e293b;
    text-decoration: none;
    transition: color 0.3s;
}

.product-title a:hover {
    color: rgb(55 65 81 / 89%);
}

.product-price {
    color: rgb(55 65 81 / 89%);
    font-weight: 700;
    font-size: 1.1rem;
}

/* Swiper navigation */
.swiper-button-prev,
.swiper-button-next {
    background: #ffffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.swiper-button-prev::after,
.swiper-button-next::after {
    font-size: 1rem;
    color: rgb(55 65 81 / 89%);
}

.swiper-pagination-bullet {
    background: #cbd5e1;
}

.swiper-pagination-bullet-active {
    background: rgb(55 65 81 / 89%);
}

/* ========== BOUTON CONTINUER LES ACHATS ========== */
.btn-secondary {
    background: #f1f5f9;
    border: 1px solid #b3b6b933;
    padding: 0.5rem;
    color: #1e293b;
    font-weight: 600;
    transition: all 0.3s ease;
    margin-top: 0.5rem;
}

.btn-secondary:hover {
    background: rgb(55 65 81 / 89%);
    border-color: #b3b6b933;
    transform: translateY(-2px);
    color: white;
    box-shadow: 0 4px 12px rgba(107, 114, 128, 0.3);
}

/* ========== RÉSUMÉ DU PANIER (CART SUMMARY) ========== */
.card.cart-summary {
    background: #ffffff;
    border-radius: 24px;
    border: 1px solid #e2e8f0;
    position: sticky;
    top: 100px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.cart-detailed-totals {
    padding: 1.5rem;
}

.cart-summary-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0;
}

.cart-summary-line .label {
    color: #64748b;
    font-size: 0.95rem;
    font-weight: 500;
    font-family: mreavesxlmodl, sans-serif;
}

.cart-summary-line .value {
    color: #1e293b;
    font-weight: 600;
}

.cart-total {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 2px solid #eef2f6;
    font-family: mreavesxlmodl, sans-serif;
}

.cart-total .label {
    color: #1e293b;
    font-size: 1rem;
    font-weight: 600;
}

.cart-total .value {
    color: rgb(55 65 81 / 89%);
    font-size: 1.4rem;
    font-weight: 800;
}

/* Bouton Zur Kasse */
.btn-primary {
    background: linear-gradient(135deg, rgb(55 65 81 / 89%), #6b7280);
    border: none;
    border-radius: 30px;
    padding: 0.5rem;
    font-size: 0.7rem;
    color: white;
    transition: all 0.3s ease;
    font-family: mreavesxlmodl, sans-serif;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #6b7280, #374151);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(107, 114, 128, 0.4);
}

.btn-primary.disabled,
.btn-primary:disabled {
    opacity: 0.6;
    transform: none;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 992px) {
    .cart-grid {
        flex-direction: column;
    }

    .cart-grid-right {
        margin-top: 2rem;
    }

    .card.cart-summary {
        position: static;
    }
}

@media (max-width: 1181px) {
    .add-to-cart {
        font-size: 0.5rem !important;
    }
}

@media (max-width: 576px) {
    .product-line-grid-body .row {
        flex-direction: column;
        text-align: center;
    }

    .product-image {
        margin-bottom: 1rem;
        margin-left: auto;
        margin-right: auto;
    }

    .product-line-actions .row {
        justify-content: center !important;
    }

    .cart-grid {
        padding: 0 1rem;
    }

    .page-title {
        font-size: 1.4rem;
    }
}

/* ========== ANIMATIONS ========== */
@keyframes fadeSlideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.cart-item {
    animation: fadeSlideUp 0.4s ease forwards;
}

.cart-item:nth-child(1) {
    animation-delay: 0.05s;
}

.cart-item:nth-child(2) {
    animation-delay: 0.1s;
}

.cart-item:nth-child(3) {
    animation-delay: 0.15s;
}

.cart-item:nth-child(4) {
    animation-delay: 0.2s;
}

.card.cart-summary {
    animation: fadeSlideUp 0.4s ease 0.1s forwards;
    opacity: 0;
}

.crossselling-products {
    animation: fadeSlideUp 0.4s ease 0.2s forwards;
    opacity: 0;
}

/* Product flags */
.product-flags {
    display: none !important;
    position: absolute;
    top: 10px !important;
    left: 60px !important;
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-flags .product-flag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    width: fit-content;
}

.product-flags .product-flag.on-sale {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: #fff;
}

.product-flags .product-flag.new {
    background: linear-gradient(135deg, #1e3a5f, #3a94b4);
    color: #fff;
}

/* Amélioration du tableau des totaux */
.cart-detailed-subtotals hr {
    border-color: #eef2f6;
    margin: 1rem 0;
}

/* Style pour le message panier vide */
.cart-empty-message {
    text-align: center;
    padding: 4rem 2rem;
    background: #f8fafc;
    border-radius: 24px;
    border: 1px solid #e2e8f0;
}

.cart-empty-message i {
    font-size: 4rem;
    color: #cbd5e1;
    margin-bottom: 1rem;
}

.cart-empty-message p {
    color: #64748b;
    font-size: 1.1rem;
}


/* ========== CORRECTION TOUCHSPIN - FLÈCHES À CÔTÉ DE L'INPUT ========== */

/* Conteneur principal touchspin */
.bootstrap-touchspin {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
}

/* Input du touchspin */
.bootstrap-touchspin .form-control {
    display: inline-block !important;
    width: 70px !important;
    text-align: center !important;
    margin: 0 !important;
    border-radius: 40px 0 0 40px !important;
}

/* Conteneur des boutons verticaux */
.bootstrap-touchspin .input-group-btn-vertical {
    display: inline-flex !important;
    flex-direction: column !important;
    position: relative !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

/* Boutons + et - */
.bootstrap-touchspin .btn-touchspin {
    display: block !important;
    width: 30px !important;
    height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    text-align: center !important;
    line-height: 24px !important;
}

/* Bouton + (up) */
.bootstrap-touchspin .bootstrap-touchspin-up {
    border-radius: 0 40px 0 0 !important;
}

/* Bouton - (down) */
.bootstrap-touchspin .bootstrap-touchspin-down {
    border-radius: 0 0 40px 0 !important;
}

/* Icônes dans les boutons */
.bootstrap-touchspin .touchspin-up,
.bootstrap-touchspin .touchspin-down {
    font-size: 0.7rem !important;
}

/* Version alternative - layout horizontal */
.input-group.bootstrap-touchspin {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: auto !important;
}

.input-group.bootstrap-touchspin .form-control {
    order: 1 !important;
}

.input-group.bootstrap-touchspin .input-group-btn-vertical {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Supprimer les prefixes/suffixes inutiles */
.bootstrap-touchspin .input-group-addon {
    display: none !important;
}

/* Forcer l'affichage horizontal */
.qty .bootstrap-touchspin {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
}

.regular-price.text-muted {
    display: none !important;
}

/* Correction pour touchspin dans le panier */
.cart-item .bootstrap-touchspin {
    display: inline-flex !important;
    flex-direction: row !important;
}

input.form-control.input-qty {
    height: 48px;
}

#blockcart-content .cart-products .block-cart-product-quantity {
    height: 48px;
}

/* ========== CORRECTION CART STICKY - GARDE LE PANIER VISIBLE ========== */

/* Conteneur sticky cart - position fixe en bas à droite */
#sticky-cart-wrapper {
    position: fixed !important;
    bottom: 20px !important;
    right: 20px !important;
    top: 35% !important;
    left: auto !important;
    z-index: 1050 !important;
    pointer-events: auto !important;
    animation: slideInRight 0.3s ease-out !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Style du bouton panier dans le sticky */
#sticky-cart-wrapper .cart-toogle {
    background: linear-gradient(135deg, rgb(55 65 81 / 89%), #6b7280) !important;
    border-radius: 50px !important;
    padding: 4px !important;
    box-shadow: 0 4px 20px rgba(107, 114, 128, 0.4) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
}

#sticky-cart-wrapper .cart-toogle .icon {
    color: white !important;
    font-size: 1.2rem !important;
}

#sticky-cart-wrapper .cart-toogle .title,
#sticky-cart-wrapper .cart-toogle .value {
    color: white !important;
}

/* Positionnement du dropdown panier - s'ouvre vers le HAUT */
#sticky-cart-wrapper .dropdown-menu-custom {
    position: absolute !important;
    bottom: 100% !important;
    top: auto !important;
    right: 0 !important;
    left: auto !important;
    margin-bottom: 10px !important;
    width: 340px !important;
    max-width: 90vw !important;
    border: 1px solid rgba(107, 114, 128, 0.3) !important;
    border-radius: 20px !important;
}

/* ========== BOUTONS DU PANIER TOUJOURS VISIBLES ========== */

/* Structure du contenu panier */
#blockcart-content {
    display: flex !important;
    flex-direction: column !important;
    max-height: 70vh !important;
    border-radius: 20px;
}

/* Zone des produits - scrollable */
.cart-products {
    flex: 1 !important;
    max-height: 350px !important;
    overflow-y: auto !important;
    margin-bottom: 0 !important;
}

/* Zone des sous-totaux */
.cart-subtotals {
    flex-shrink: 0 !important;
}

/* Zone des totaux */
.cart-totals {
    flex-shrink: 0 !important;
}

/* Boutons FIXÉS en bas */
.cart-buttons {
    flex-shrink: 0 !important;
    position: sticky !important;
    bottom: 0 !important;
    padding: 1rem 0 0.5rem 0 !important;
    margin-top: 0.5rem !important;
    border-top: 1px solid rgba(107, 114, 128, 0.2) !important;
    z-index: 10 !important;
}

/* Style des boutons */
.cart-buttons .btn {
    width: 100% !important;
    margin: 0.25rem 0 !important;
    border-radius: 40px !important;
    padding: 0.7rem !important;
}

.cart-buttons .btn-primary {
    background: linear-gradient(135deg, rgb(55 65 81 / 89%), #6b7280) !important;
    border: none !important;
    color: white !important;
    font-weight: 600 !important;
}

.cart-buttons .btn-secondary {
    background: rgba(107, 114, 128, 0.15) !important;
    border: 1px solid rgba(107, 114, 128, 0.3) !important;
    color: #6b7280 !important;
    font-weight: 500 !important;
}

/* Animation d'apparition */
@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Forcer la visibilité du panier quand il est ouvert */
#sticky-cart-wrapper .dropdown.show .dropdown-menu-custom {
    display: block !important;
    visibility: visible !important;
}

.product-quantity .add-to-cart:disabled {
    opacity: 0.5;
}

/* Force l'affichage en une seule colonne sur mobile pour les éléments en col-6 */
@media (max-width: 767px) {
    .col-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* HEADER MOBILE STICKY (JS TRIGGERED) */
@media (max-width: 991px) {
    #mobile-header-sticky.scrolled {
        position: fixed !important;
        z-index: 99999 !important;
        background: rgb(217 217 217 / 0%) !important;
        backdrop-filter: blur(15px) saturate(160%) !important;
        -webkit-backdrop-filter: blur(15px) saturate(160%) !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
        padding: 5px 0 !important;
        animation: headerMobileSlide 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
        top: 0 !important;
                width: 100% !important;
    }
}

@keyframes headerMobileSlide {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

@keyframes badgePulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(230, 126, 34, 0.7);
    }

    70% {
        transform: scale(1.1);
        box-shadow: 0 0 0 10px rgba(230, 126, 34, 0);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(230, 126, 34, 0);
    }
}

/* HEADER DESKTOP STICKY (LIQUID GLASS) */
@media (min-width: 992px) {
    #iqitmegamenu-wrapper.scrolled {
        position: fixed !important;
        z-index: 99999 !important;
        background: rgb(217 217 217 / 0%) !important;
        backdrop-filter: blur(20px) saturate(170%) !important;
        -webkit-backdrop-filter: blur(20px) saturate(170%) !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        box-shadow: 0 15px 50px rgba(0, 0, 0, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
        padding: 5px 0 !important;
        animation: headerDesktopSlide 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        transition: all 0.4s ease !important;
    }

    #iqitmegamenu-wrapper.scrolled .container,
    #iqitmegamenu-wrapper.scrolled #iqitmegamenu-horizontal {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* Couleurs des liens du menu en mode glass */
    #iqitmegamenu-wrapper.scrolled .cbp-hrmenu>ul>li>a {
        color: #f8fafc !important;
        /* padding: 10px 20px !important; */
    }
}

@keyframes headerDesktopSlide {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* ==============================================
   CUSTOMER PAGES DESIGN (LIQUID GLASS THEME)
   ============================================== */

/* Global Container for Customer Pages */
.my-account-page-content-wrapper,
#authentication #content,
#registration #content,
#password #content {
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(107, 114, 128, 0.2) !important;
    border-radius: 20px !important;
    padding: 2.5rem !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3) !important;
    animation: fadeInUp 0.6s ease-out !important;
}

/* Side Navigation Links */
.my-account-side-links {
    padding-right: 1.5rem !important;
    border-right: 1px solid rgba(107, 114, 128, 0.1) !important;
}

.my-account-side-links a {
    display: block !important;
    width: 100% !important;
    margin-bottom: 1rem !important;
    padding: 14px 20px !important;
    background: rgba(107, 114, 128, 0.05) !important;
    border: 1px solid rgba(107, 114, 128, 0.1) !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: flex !important;
    align-items: center !important;
}

.my-account-side-links a .link-item {
    display: flex !important;
    color: rgb(55 65 81 / 89%) !important;
    align-items: center !important;
    gap: 15px !important;
    width: 100% !important;
    font-weight: 500 !important;
    font-family: mreavesxlmodl, sans-serif;
}

.my-account-side-links a i {
    color: rgb(55 65 81 / 89%) !important;
    font-size: 1.2rem !important;
    width: 24px !important;
    text-align: center !important;
    transition: transform 0.3s ease !important;
}

.my-account-side-links a:hover {
    background: rgba(107, 114, 128, 0.15) !important;
    border-color: rgb(55 65 81 / 89%) !important;
    transform: translateX(10px) !important;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(107, 114, 128, 0.2) !important;
}

.my-account-side-links a:hover i {
    transform: scale(1.2) rotate(5deg) !important;
    color: #374151 !important;
}

/* Page Titles */
.page-header h1,
.my-account-page-content h1,
.my-account-page-content h2 {
    color: rgb(55 65 81 / 89%) !important;
    font-weight: 700 !important;
    margin-bottom: 2rem !important;
    letter-spacing: 0.5px !important;
    position: relative !important;
    display: inline-block !important;
}

.page-header h1::after,
.my-account-page-content h1::after,
.my-account-page-content h2::after {
    content: '' !important;
    position: absolute !important;
    bottom: -10px !important;
    left: 0 !important;
    width: 60px !important;
    height: 4px !important;
    background: linear-gradient(90deg, rgb(55 65 81 / 89%), transparent) !important;
    border-radius: 2px !important;
}

/* Forms & Inputs Styling */
.my-account-page-content .form-control,
#login-form .form-control,
#customer-form .form-control {
    border: 1px solid rgba(107, 114, 128, 0.3) !important;
    color: #374151bf !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

.my-account-page-content .form-control:focus,
#login-form .form-control:focus,
#customer-form .form-control:focus {
    border-color: rgb(55 65 81 / 89%) !important;
    box-shadow: 0 0 0 4px rgba(107, 114, 128, 0.2), inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
    outline: none !important;
}

.my-account-page-content label,
#login-form label,
#customer-form label {
    color: rgb(55 65 81 / 89%) !important;
    font-weight: 600 !important;
    margin-bottom: 0.7rem !important;
    font-size: 0.95rem !important;
}

/* Buttons Styling */
.my-account-page-content .btn-primary,
.form-footer #submit-login,
.form-footer #submit-register,
.my-account-page-content .btn-secondary {
    background: linear-gradient(135deg, rgb(55 65 81 / 89%) 0%, #6b7280 100%) !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 15px 30px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    box-shadow: 0 6px 20px rgba(107, 114, 128, 0.3) !important;
    color: white !important;
}

.my-account-page-content .btn-primary:hover,
#submit-login:hover,
#submit-register:hover {
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 12px 30px rgba(107, 114, 128, 0.5) !important;
    background: linear-gradient(135deg, #374151 0%, rgb(55 65 81 / 89%) 100%) !important;
}

/* Address & History Items */
.address,
.address-item,
.order-row,
.order-detail-row {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 18px !important;
    padding: 1.8rem !important;
    margin-bottom: 1.2rem !important;
    transition: all 0.3s ease !important;
}

.address-item:hover,
.address:hover,
.order-row:hover {
    background: rgba(107, 114, 128, 0.08) !important;
    border-color: rgba(107, 114, 128, 0.2) !important;
    transform: translateY(-2px) !important;
}

/* Links inside content */
.my-account-page-content a:not(.btn) {
    color: rgb(55 65 81 / 89%) !important;
    font-weight: 500 !important;
    transition: color 0.3s ease !important;
}

.my-account-page-content a:not(.btn):hover {
    color: #d1d5db !important;
    text-decoration: underline !important;
}

/* No account / Forgot password links */
.no-account,
.forgot-password {
    margin-top: 1.5rem !important;
    text-align: center !important;
}

.no-account a,
.forgot-password a {
    color: #94a3b8 !important;
    font-size: 0.9rem !important;
}

.no-account a:hover,
.forgot-password a:hover {
    color: rgb(55 65 81 / 89%) !important;
}

/* Password input + show button same line */
.field-password-policy .input-group,
#authentication .input-group,
#customer-form .input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
}

.field-password-policy .input-group .form-control,
#authentication .input-group .form-control,
#customer-form .input-group .form-control {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.field-password-policy .input-group-append,
#authentication .input-group-append,
#customer-form .input-group-append {
    display: flex !important;
    flex-shrink: 0 !important;
}

.field-password-policy .input-group-append .btn,
#authentication .input-group-append .btn,
#customer-form .input-group-append .btn {
    border: 1.5px solid #e2e8f0 !important;
    border-left: none !important;
    background: #f8fafc !important;
    color: #64748b !important;
    padding: 11px 14px !important;
    border-radius: 0 8px 8px 0 !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
}

.field-password-policy .input-group-append .btn:hover,
#authentication .input-group-append .btn:hover,
#customer-form .input-group-append .btn:hover {
    background: #e2e8f0 !important;
    color: #1e3a5f !important;
}

/* Separators */
.my-account-page-content-wrapper hr {
    border: none !important;
    height: 1px !important;
    background: #f0f2f5 !important;
    margin: 0 !important;
}

.custom-select2 {
    border-radius: 12px;
}

.psgdprinfo17 {
    background: rgb(15 23 42 / 0%) !important;
}

#header .header-btn-w {
    padding: 0 !important;
}

.col.col-auto.col-header-left {
    padding-left: 3em !important;
}

.row.extra-small-gutters.product-quantity {
    justify-content: flex-start !important;
}

div#js-product-list {
    padding: 0 2em;
}

div#content-wrapper {
    padding: 0 2em;
}

.product-miniature-grid .product-functional-buttons {
    background: #f9f9f900 !important;
}

/* ======================================================
   PAGE CONTACT AMELIOREE
   ====================================================== */

/* Map container */
#iqitcontactpage-map {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    margin-bottom: 2.5rem;
}

#iqitcontactpage-map iframe {
    width: 100%;
    height: 350px;
}

/* Contact info card (left column) */
.contact-page-info {
    background: linear-gradient(145deg, #f8fafc, #ffffff);
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 2rem !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.contact-page-info .contact-rich strong {
    font-size: 1.15rem;
    color: #1e293b;
    display: block;
    margin-bottom: 1.2rem;
    padding-bottom: 0.8rem;
    border-bottom: 2px solid #e2e8f0;
}

.contact-page-info .part {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 0.6rem 0;
}

.contact-page-info .part .icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    background: linear-gradient(135deg, #3a94b4, #1d4ed8);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-page-info .part .icon i {
    color: #fff;
    font-size: 1.1rem;
}

.contact-page-info .part .data {
    color: #475569;
    font-size: 0.95rem;
    line-height: 1.5;
    padding-top: 8px;
}

.contact-page-info .part .data a {
    color: #3a94b4;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
}

.contact-page-info .part .data a:hover {
    color: #1d4ed8;
    text-decoration: underline;
}

.contact-page-info hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, #e2e8f0, transparent);
    margin: 0.2rem 0;
}

/* Contact form card (right column) */
.contact-form {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 2rem 2rem 1.5rem;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.contact-form .form-fields h4 {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 1.5rem;
    padding-bottom: 0.8rem;
    border-bottom: 3px solid #3a94b4;
    display: inline-block;
}

/* Form labels */
.contact-form .form-control-label {
    font-weight: 600;
    color: #334155;
    font-size: 0.9rem;
}

/* Form inputs: select, input, textarea */
.contact-form .form-control {
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.6rem 1rem;
    font-size: 0.95rem;
    color: #1e293b;
    background: #f8fafc;
    transition: all 0.25s ease;
    box-shadow: none;
}

.contact-form .form-control:focus {
    border-color: #3a94b4;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
    outline: none;
}

.contact-form select.form-control {
    appearance: auto;
}

.contact-form textarea.form-control {
    resize: vertical;
    min-height: 120px;
}

/* Form groups spacing */
.contact-form .form-group {
    margin-bottom: 1.2rem;
}

/* Form footer / submit button */
.contact-form .form-footer {
    border-top: 1px solid #e2e8f0;
    padding-top: 1.5rem;
    margin-top: 0.5rem;
    display: flex;
    justify-content: flex-end;
}

.contact-form .form-footer .btn-primary {
    background: linear-gradient(135deg, #3a94b4, #1d4ed8);
    border: none;
    border-radius: 10px;
    padding: 0.7rem 2.5rem;
    font-weight: 600;
    font-size: 1rem;
    color: #fff;
    transition: all 0.3s ease;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.3);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.contact-form .form-footer .btn-primary::after {
    content: "\f1d8";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.9rem;
}

.contact-form .form-footer .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4);
    background: linear-gradient(135deg, #3a94b4, #1e40af);
}

/* Subject help text */
.contact-form .form-control-comment {
    font-size: 0.8rem;
    color: #94a3b8;
    font-style: italic;
    padding-left: 0.5rem;
}

/* Notification alerts */
.contact-form .alert {
    border-radius: 10px;
    border: none;
    margin-bottom: 1.2rem;
    padding: 1rem 1.2rem;
    font-size: 0.95rem;
}

/* Contact page file upload: input + button on same line */
.contact-form .bootstrap-filestyle.input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
}

.contact-form .bootstrap-filestyle.input-group .form-control {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.contact-form .bootstrap-filestyle.input-group .input-group-btn {
    flex: 0 0 auto !important;
    width: auto !important;
}

.contact-form .bootstrap-filestyle.input-group .input-group-btn .btn {
    white-space: nowrap !important;
}

/* Custom file upload styling */
.custom-file-upload .filestyle {
    border: 1.5px dashed #cbd5e1;
    border-radius: 10px;
    padding: 0.5rem 1rem;
    background: #f1f5f9;
    color: #475569;
    cursor: pointer;
    transition: all 0.25s ease;
    width: 100%;
}

.custom-file-upload .filestyle:hover {
    border-color: #3a94b4;
    background: #eff6ff;
    color: #3a94b4;
}

.custom-file-upload .filestyle .buttonText {
    font-weight: 500;
}

.custom-file-upload .bootstrap-filestyle label {
    margin-bottom: 0;
}

.custom-file-upload .bootstrap-filestyle input {
    display: inline-block !important;
}

.custom-file-upload button {
    border: none;
    background: linear-gradient(135deg, #3a94b4, #1d4ed8);
    color: #fff;
    padding: 0.4rem 1.2rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.custom-file-upload button:hover {
    background: linear-gradient(135deg, #1d4ed8, #1e40af);
}

/* Align "optional" badge */
.form-control-comment {
    display: inline-block;
    font-size: 0.78rem;
    color: #94a3b8;
    padding: 0.2rem 0.8rem;
    border-radius: 20px;
    font-weight: 500;
    margin-top: 0.3rem;
}

/* ======================================================
   RESPONSIVE CONTACT
   ====================================================== */

@media (max-width: 767px) {
    .contact-page-info {
        margin-bottom: 1.5rem;
        padding: 1.5rem !important;
    }

    .contact-form {
        padding: 1.5rem;
    }

    .contact-form .form-control-label {
        margin-bottom: 0.3rem;
    }

    .contact-form .form-footer .btn-primary {
        width: 100%;
        justify-content: center;
    }
}

span.cbp-tab-title {
    font-family: "mreavesxlmodl", sans-serif;
    font-size: 0.7rem !important;
    font-weight: 100 !important;
}

h1,
p,
li,
a.btn.btn-product-list,
span.showing.hidden-sm-down {
    font-family: "mreavesxlmodl", sans-serif;
}

h1.step-title.js-step-title.h3 {
    font-family: mreavesxlmodl, sans-serif;
}

.address {
    font-family: mreavesxlmodl, sans-serif;
}

a {
    font-family: mreavesxlmodl, sans-serif;
}

.extra-small-gutters>.col,
.extra-small-gutters>[class*=col-] {
    padding-right: 1.3rem !important;
}

/* Order history table */
.my-account-page-content .table {
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.my-account-page-content .table thead th {
    background: #f8fafc;
    border-bottom: 2px solid #e2e8f0 !important;
    padding: 14px 16px !important;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #475569;
    border-right: none !important;
    border-left: none !important;
}

.my-account-page-content .table tbody tr {
    transition: background 0.15s ease;
}

.my-account-page-content .table tbody tr:hover {
    background: #f1f5f9 !important;
}

.my-account-page-content .table tbody tr:last-child td {
    border-bottom: none !important;
}

.my-account-page-content .table tbody td {
    padding: 12px 16px !important;
    vertical-align: middle;
    border-bottom: 1px solid #f1f5f9 !important;
    border-right: none !important;
    border-left: none !important;
    color: #334155;
    font-size: 0.9rem;
}

.my-account-page-content .table tbody th[scope="row"] {
    font-weight: 600;
    color: #1e3a5f;
    padding: 12px 16px !important;
    vertical-align: middle;
    border-bottom: 1px solid #f1f5f9 !important;
    border-right: none !important;
    border-left: none !important;
}

.my-account-page-content .table .label-pill {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.my-account-page-content .order-actions {
    text-align: center;
}

.my-account-page-content .order-actions a {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 6px;
    background: #f1f5f9;
    color: #1e3a5f;
    font-weight: 600;
    font-size: 0.83rem;
    text-decoration: none;
    transition: all 0.2s;
}

.my-account-page-content .order-actions a:hover {
    background: #1e3a5f;
    color: #fff !important;
}

.my-account-page-content .order-actions hr {
    margin: 6px 0;
    border: none;
    height: 1px;
    background: #e2e8f0;
}

.my-account-page-content .table .fa-file-pdf-o {
    font-size: 1.2rem;
    color: #3a94b4;
    transition: color 0.2s;
}

.my-account-page-content .table .fa-file-pdf-o:hover {
    color: #1e3a5f;
}

.my-account-page-content h6 {
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 400;
    margin-bottom: 1.5rem;
}

@media (min-width: 768px) and (max-width: 1181px) {
    span.cbp-tab-title {
        font-size: 0.6rem !important;
    }
}

/* Actions affichées uniquement dans le menu desktop après défilement. */
@media (min-width: 992px) {

    #iqitmegamenu-wrapper .sticky-header-logo,
    #iqitmegamenu-wrapper .sticky-header-account {
        display: none;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-logo,
    #iqitmegamenu-wrapper.scrolled .sticky-header-account {
        display: flex;
        position: absolute;
        top: 50%;
        align-items: center;
        transform: translateY(-50%);
        z-index: 2;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-logo {
        left: 70px;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-logo img {
        display: block;
        width: auto;
        max-width: 120px;
        max-height: 42px;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-account {
        right: 22px;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-account a {
        display: flex;
        align-items: center;
        justify-content: center;
        color: #f8fafc !important;
        text-decoration: none;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-account .title,
    #iqitmegamenu-wrapper.scrolled .sticky-header-account span {
        display: none;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-account .icon,
    #iqitmegamenu-wrapper.scrolled .sticky-header-account .fa-user {
        width: auto;
        height: auto;
        min-width: 0;
        margin: 0;
        padding: 0;
        background: transparent;
        border: 0;
        box-shadow: none;
        color: #f8fafc !important;
        font-size: 1.35rem;
    }
}

/* Boutons Recherche et Compte déplacés dans le menu fixe. */
@media (min-width: 992px) {
    #iqitmegamenu-wrapper .sticky-header-actions {
        display: none;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-actions {
        display: flex;
        position: absolute;
        top: 50%;
        right: 22px;
        align-items: center;
        gap: 14px;
        transform: translateY(-50%);
        z-index: 2;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-actions .header-btn-w {
        padding: 0 !important;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-actions .header-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        color: #f8fafc !important;
        text-decoration: none;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-actions .title {
        display: none;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-actions .icon {
        width: auto;
        height: auto;
        min-width: 0;
        margin: 0;
        padding: 0;
        background: transparent;
        border: 0;
        box-shadow: none;
        color: #f8fafc !important;
        font-size: 1.35rem;
    }
}

/* Les actions du menu fixe reprennent exactement le style du bouton panier flottant. */
@media (min-width: 992px) {
    #iqitmegamenu-wrapper.scrolled .sticky-header-actions .header-btn {
        background: linear-gradient(135deg, rgb(55 65 81 / 89%), #6b7280) !important;
        border-radius: 50px !important;
        padding: 4px 10px !important;
        box-shadow: 0 4px 20px rgba(107, 114, 128, 0.4) !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        cursor: pointer !important;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-actions .header-btn .icon {
        color: #fff !important;
        font-size: 1.2rem !important;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-actions .header-btn .title {
        display: inline !important;
        color: #fff !important;
    }
}

/* Les trois actions (recherche, compte, panier) sont réunies sans libellé. */
@media (min-width: 992px) {
    #sticky-cart-wrapper:empty {
        display: none !important;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-actions .header-btn {
        min-width: 42px;
        min-height: 42px;
        justify-content: center;
        padding: 4px !important;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-actions .header-btn>.title,
    #iqitmegamenu-wrapper.scrolled .sticky-header-actions .header-btn>.info-wrapper {
        display: none !important;
    }

    #iqitmegamenu-wrapper.scrolled .sticky-header-actions #ps-shoppingcart {
        display: block;
    }
}

/* Page de récupération de mot de passe : champ e-mail plus aéré. */
body#password .form-fields #email {
    border-radius: 12px !important;
    margin-bottom: 1.5rem !important;
}

.products.row>.col,
.products.row>[class*="col-"] {
    padding: 1rem !important;
}

.cbp-hrmenu>ul>li {
    display: contents !important;
}
/* Fix: cart line quantity input shrinking below its set width inside the
   bootstrap-touchspin flex row, clipping digits of multi-digit quantities.
   Sized to grow with the typed value (up to 7 digits) in browsers supporting
   field-sizing; other browsers fall back to the fixed min/max range below.
   Native number-input spinner arrows are hidden since the theme already has
   its own up/down touchspin buttons — they were eating into the visible
   digit area. */
.js-cart-line-product-quantity.form-control {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 90px !important;
    max-width: calc(9ch + 3rem) !important;
    field-sizing: content;
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;
}

.js-cart-line-product-quantity.form-control::-webkit-outer-spin-button,
.js-cart-line-product-quantity.form-control::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Even, consistent spacing between qty / add-to-cart / wishlist / compare in product-add-to-cart (product page only) */
.product-add-to-cart .row.product-quantity {
    gap: 0.5rem;
}
.product-add-to-cart .col-add-qty,
.product-add-to-cart .col-add-btn,
.product-add-to-cart .col-add-wishlist,
.product-add-to-cart .col-add-compare {
    margin-left: 0 !important;
}

/* Give the Add to cart button the same height/width scale as the qty box, so all controls in the row read as one consistent size */
.product-add-to-cart .add-to-cart {
    min-width: 110px !important;
}
