/* ===== CARROUSEL - HAUTEUR FIXE ===== */
/* ===== PRODUCT PAGE - MODERN & PROFESSIONAL ===== */

/* Titre produit élégant et discret */
.product-title {
    font-size: 24px;
    font-weight: 500;
    color: #000000 !important;
    margin: 30px 0;
    line-height: 1.2;
    text-align: left;
    text-transform: capitalize;
    letter-spacing: -0.5px;
    margin: 0 0 20px 0;
}

/* Layout principal moderne */
#main {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    background: #ffffff;
}

#main .row {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

#main .col-md-6 {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    padding: 0 40px !important;
}

/* Pousser la description plus à gauche */
#main .col-md-6:last-child {
    padding-left: 10px !important;
    margin-left: 0 !important;
}

/* Réduire l'espace entre l'image et la description */
#main .col-md-6:first-child {
    padding-right: 10px !important;
}

/* Aligner l'image au même niveau que le titre */
#main .col-md-6:first-child {
    padding-left: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
}

#main .row {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Forcer l'alignement avec le titre */
#main {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Aligner l'image avec le container du titre */
.container + #main {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Sections produit élégantes */
.product-information {
    margin-top: 40px;
}

#main #product-description-short {
    background: #f8f9fa;
    border-left: 5px solid #ff6b35;
    border-radius: 8px;
    padding: 25px;
    margin: 25px 0;
    font-size: 1.1rem;
    line-height: 1.7;
    color: #555;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

#main .product-actions {
    margin-top: 40px;
    padding: 30px;
    background: #fafafa;
    border-radius: 12px;
    border: 1px solid #e9ecef;
}

/* Tabs simples et propres */
#main .tabs {
    margin-top: 50px;
    background: #ffffff;
    padding: 0;
}

#main .tabs .nav-tabs {
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 0;
    padding: 0;
}

#main .tabs .nav-link {
    color: #666;
    border: none;
    padding: 15px 25px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.3s ease;
    white-space: nowrap;
    margin-right: 0;
}

#main .tabs .nav-link:hover {
    color: #fe9234;
    background: transparent;
}

#main .tabs .nav-link.active {
    color: #fe9234;
    background: transparent;
    border-bottom: 2px solid #fe9234;
    margin-bottom: -1px;
}

#main .tab-content {
    padding: 0;
    background: #ffffff;
}

#main .product-description {
    background: #ffffff;
    border: none;
    padding: 30px;
    font-size: 1rem;
    line-height: 1.6;
    color: #333;
}

/* Style pour les titres dans la description */
#main .product-description h3,
#main .product-description h4 {
    color: #333;
    font-weight: 600;
    margin: 20px 0 10px 0;
    font-size: 1.1rem;
}

#main .product-description p {
    margin-bottom: 15px;
    color: #555;
}

#main .product-description ul {
    margin: 15px 0;
    padding-left: 20px;
}

#main .product-description li {
    margin-bottom: 8px;
    color: #555;
    line-height: 1.5;
}

/* Boutons uniformes et modernes */
#main button,
#main .btn,
#main a.btn,
#main input[type="submit"],
.product-page button,
.product-page .btn,
.product-actions button,
.product-actions .btn {
    background: #fe9234;
    color: #ffffff;
    border: none;
    border-radius: 4px;
    padding: 12px 30px;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background 0.3s ease;
    cursor: pointer;
}


#main button:hover,
#main .btn:hover,
#main a.btn:hover,
#main input[type="submit"]:hover,
.product-page button:hover,
.product-page .btn:hover,
.product-actions button:hover,
.product-actions .btn:hover {
    background: #e67e22;
}

/* Boutons secondaires */
#main .btn-secondary,
#main a.btn-secondary {
    background: #6c757d;
}

#main .btn-secondary:hover,
#main a.btn-secondary:hover {
    background: #5a6268;
}

/* Masquer seulement les icônes Material Design problématiques */
.material-icons.edit {
    display: none !important;
}

/* Les icônes favorite_border ne sont plus masquées globalement pour permettre aux boutons wishlist de fonctionner */

/* Masquer la section "Partager" */
[class*="share"],
[class*="social"],
.share-section,
.social-share {
    display: none !important;
}

/* Masquer seulement la ligne de retour */
[class*="return"],
.return-policy,
.return-guarantee {
    display: none !important;
}

/* Style pour la section réassurance personnalisée */
.reassurance-custom {
    background: #f0f8ff;
    border-radius: 8px;
    padding: 15px;
    margin-top: 20px;
    font-size: 0.9rem;
}

.reassurance-custom .delivery-info {
    color: #333;
    margin-bottom: 8px;
}

.reassurance-custom .payment-info {
    color: #333;
}

/* Icônes colorées et lisibles */
.reassurance-custom .icon-delivery,
.reassurance-custom .icon-payment {
    font-size: 20px !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
    display: inline-block !important;
}

.reassurance-custom .delivery-info,
.reassurance-custom .payment-info {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 10px !important;
    font-weight: 500 !important;
}

/* Forcer l'application des styles sur la section réassurance */
.reassurance-custom {
    background: #f0f8ff !important;
    border-radius: 8px !important;
    padding: 15px !important;
    margin-top: 20px !important;
    font-size: 0.9rem !important;
}

.reassurance-custom .delivery-info {
    color: #333 !important;
    margin-bottom: 8px !important;
}

.reassurance-custom .payment-info {
    color: #333 !important;
}

/* Restaurer les icônes Material Design correctement */
.material-icons {
    font-family: 'Material Icons' !important;
    font-weight: normal !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    word-wrap: normal !important;
    white-space: nowrap !important;
    direction: ltr !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: optimizeLegibility !important;
    font-size: 24px !important;
    color: #ffffff !important;
}

/* Flèches pour les boutons de quantité avec caractères Unicode */
.material-icons.touchspin-up::before {
    content: "▲" !important;
    font-family: Arial, sans-serif !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: bold !important;
}

.material-icons.touchspin-down::before {
    content: "▼" !important;
    font-family: Arial, sans-serif !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: bold !important;
}

/* Alternative avec des flèches Material Design */
.material-icons.touchspin-up {
    font-family: 'Material Icons' !important;
    color: #ffffff !important;
    font-size: 18px !important;
}

.material-icons.touchspin-down {
    font-family: 'Material Icons' !important;
    color: #ffffff !important;
    font-size: 18px !important;
}

/* Supprimer seulement le petit carré des boutons touchspin */
.material-icons.touchspin-up::after,
.material-icons.touchspin-down::after {
    content: "" !important;
    display: none !important;
}

/* Réduire légèrement la largeur des boutons flèches sans casser l'alignement */
.bootstrap-touchspin .input-group-btn-vertical {
    width: 40px !important;
}

.bootstrap-touchspin .input-group-btn-vertical .btn {
    width: 40px !important;
    padding: 8px 5px !important;
}

/* Bandeaux promotionnels séparés avec la couleur #fe9234 */
.product-flag,
.product-flags .product-flag {
    background: #fe9234 !important;
    color: #ffffff !important;
    border: none !important;
    display: inline-block !important;
    padding: 8px 16px !important;
    margin: 5px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    font-size: 0.9rem !important;
}

.product-breadcrumb {
    background: #f8f9fa;
    padding: 12px 0;
    margin-bottom: 50px;
    border-bottom: 1px solid #e0e0e0;
}

.product-breadcrumb .breadcrumb {
    margin: 0;
    padding: 0 80px;
    font-size: 0.9rem;
}

.product-breadcrumb a {
    color: #000000 !important;
    text-decoration: none;
    transition: color 0.3s ease;
    white-space: nowrap;
    text-transform: uppercase !important;
}

.product-breadcrumb a:hover {
    color: #000000 !important;
}

.product-breadcrumb {
    color: #000000 !important;
    text-transform: uppercase !important;
}

/* Forcer les liens du breadcrumb à être noirs et en majuscules (override de la règle générale) */
/* S'applique à toutes les pages : produit, catégorie, etc. */
.breadcrumb,
.breadcrumb *,
.breadcrumb a,
.breadcrumb a:visited,
.breadcrumb a:link,
.breadcrumb span,
.breadcrumb li {
    color: #000000 !important;
    text-transform: uppercase !important;
}

.breadcrumb a:hover,
.breadcrumb a:active {
    color: #000000 !important;
    text-transform: uppercase !important;
}

/* S'assurer que les séparateurs sont aussi en majuscules et noirs */
.breadcrumb .separator,
.breadcrumb::before,
.breadcrumb li::before {
    color: #000000 !important;
}

/* ===== BREADCRUMB CE-BREADCRUMB (Elementor/Custom) ===== */
/* Fil d'Ariane avec classes ce-breadcrumb - noir et majuscules */
.ce-breadcrumb,
.ce-breadcrumb *,
.ce-breadcrumb a,
.ce-breadcrumb a:visited,
.ce-breadcrumb a:link,
.ce-breadcrumb__item,
.ce-breadcrumb__item *,
.ce-breadcrumb__item a,
.ce-breadcrumb .elementor-row,
.ce-breadcrumb .elementor-row *,
.ce-breadcrumb .elementor-row a {
    color: #000000 !important;
    text-transform: uppercase !important;
}

.ce-breadcrumb a:hover,
.ce-breadcrumb a:active,
.ce-breadcrumb__item a:hover,
.ce-breadcrumb__item a:active {
    color: #000000 !important;
    text-transform: uppercase !important;
}

/* S'assurer que les séparateurs ce-breadcrumb sont aussi noirs */
.ce-breadcrumb__item::after,
.ce-breadcrumb__item::before,
.ce-breadcrumb a::after,
.ce-breadcrumb a::before {
    color: #000000 !important;
}

/* Product Container - FULL WIDTH */
.product-container {
    max-width: 100%;
    margin: 0;
    padding: 0 20px;
}

.product-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
    max-width: 1600px;
    margin: 0 auto;
}

/* Gallery Section - LEFT */
.product-gallery-section {
    position: sticky;
    top: 100px;
    width: 100%;
}

.product-gallery {
    background: #fafafa;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    width: 100%;
}

.no-image {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 300px;
    color: #999;
    text-align: center;
}

.no-image i {
    font-size: 4rem;
    margin-bottom: 15px;
    color: #ddd;
}

.no-image p {
    font-size: 1rem;
    margin: 0;
}

.product-gallery img {
    max-width: 100%;
    height: auto;
    max-height: 550px;
    object-fit: contain;
}

.product-image-main {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

/* Details Section - RIGHT */
.product-details-section {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
}

/* Product Header */
.product-header {
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 25px;
}

/* Layout simple et propre */
#main {
    background: #ffffff;
    padding: 0;
}

#main .row {
    background: #ffffff;
    margin: 0;
    padding: 20px !important;
}

/* Style pour les sections produit */
.product-information {
    background: #ffffff;
    padding: 20px 0;
    margin: 0;
}

#main #product-description-short {
    background: #f8f9fa;
    border-left: 4px solid #fe9234;
    border-radius: 4px;
    padding: 20px;
    margin: 20px 0;
    font-size: 1rem;
    line-height: 1.6;
    color: #555;
}

/* ===== CATEGORY PAGE STYLES ===== */

/* Grille des produits avec séparateurs */
.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px 30px;
    margin: 40px 0;
    padding: 20px 0;
}

/* Carte produit avec séparateur */
.product-miniature {
    position: relative;
    background: #ffffff;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.product-miniature:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

/* Séparateur vertical entre les produits */
.product-miniature:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -15px;
    top: 20px;
    bottom: 20px;
    width: 1px;
    background: repeating-linear-gradient(
        to bottom,
        #ddd 0px,
        #ddd 3px,
        transparent 3px,
        transparent 6px
    );
}

/* Bouton "VOIR LE PRODUIT" avec style gris plus foncé */
.btn-view-product {
    background: #9e9e9e !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 12px 24px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-block !important;
    width: auto !important;
    min-width: 180px !important;
    max-width: 180px !important;
    text-align: center !important;
    transform: translateY(0) !important;
    box-sizing: border-box !important;
}

.btn-view-product:hover {
    background: #424242 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
}


/* Bouton wishlist avec spécificité élevée pour les pages de catégories */
.products article .wishlist-button-add {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 10 !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    padding: 8px !important;
    cursor: pointer !important;
    outline: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    transition: all 0.3s ease !important;
}

.products article .wishlist-button-add:hover {
    background: rgba(255, 255, 255, 1) !important;
    border-color: #fe9234 !important;
    transform: scale(1.05) !important;
}

.products article .wishlist-button-add .material-icons {
    font-size: 18px !important;
    color: #fe9234 !important;
    transition: color 0.3s ease !important;
}

.products article .wishlist-button-add:hover .material-icons {
    color: #e74c3c !important;
}

/* État favori avec spécificité élevée */
.products article .wishlist-button-add.favorited .material-icons {
    color: #e74c3c !important;
}

/* Fallback pour les autres pages (page d'accueil, etc.) - même style que les catégories */
.wishlist-button-add {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 10 !important;
    background: rgba(255, 255, 255, 0.9) !important; /* Fond blanc au lieu d'orange */
    border: 1px solid #ddd !important; /* Bordure grise au lieu d'orange */
    border-radius: 4px !important;
    padding: 8px !important;
    cursor: pointer !important;
    outline: none !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
}

.wishlist-button-add .material-icons {
    font-size: 18px !important;
    color: #fe9234 !important; /* Cœur orange au lieu de blanc */
    transition: color 0.3s ease !important;
}

/* Hover state: white background, orange border, orange icon */
.wishlist-button-add:hover {
    background: rgba(255, 255, 255, 1) !important; /* White background on hover */
    border-color: #fe9234 !important; /* Orange border on hover */
    transform: scale(1.05) !important;
}

.wishlist-button-add:hover .material-icons {
    color: #e74c3c !important; /* Cœur rouge au survol */
}

/* État favori */
.wishlist-button-add.favorited .material-icons {
    color: #e74c3c !important; /* Cœur rouge quand favorisé */
}

.wishlist-button-add.favorited .material-icons::before {
    content: "favorite";
}

/* RÈGLES ULTRA-SPÉCIFIQUES POUR FORCER LES STYLES MÊME QUAND CONNECTÉ */
/* Ces règles surchargent les styles du module blockwishlist PrestaShop ET les styles inline */
button.wishlist-button-add,
button.wishlist-button-add[class],
button.wishlist-button-add[style],
.wishlist-button-product button.wishlist-button-add,
body button.wishlist-button-add,
html body button.wishlist-button-add,
button.wishlist-button-add.wishlist-button-add {
    background: rgba(255, 255, 255, 0.9) !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid #ddd !important;
}

button.wishlist-button-add .material-icons,
button.wishlist-button-add[class] .material-icons,
button.wishlist-button-add[style] .material-icons,
.wishlist-button-product button.wishlist-button-add .material-icons,
body button.wishlist-button-add .material-icons,
html body button.wishlist-button-add .material-icons,
button.wishlist-button-add.wishlist-button-add .material-icons {
    color: #fe9234 !important;
}

button.wishlist-button-add:hover,
button.wishlist-button-add[class]:hover,
button.wishlist-button-add[style]:hover,
.wishlist-button-product button.wishlist-button-add:hover,
body button.wishlist-button-add:hover,
html body button.wishlist-button-add:hover,
button.wishlist-button-add.wishlist-button-add:hover {
    background: rgba(255, 255, 255, 1) !important;
    background-color: rgba(255, 255, 255, 1) !important;
    border-color: #fe9234 !important;
}

button.wishlist-button-add:hover .material-icons,
button.wishlist-button-add[class]:hover .material-icons,
button.wishlist-button-add[style]:hover .material-icons,
.wishlist-button-product button.wishlist-button-add:hover .material-icons,
body button.wishlist-button-add:hover .material-icons,
html body button.wishlist-button-add:hover .material-icons,
button.wishlist-button-add.wishlist-button-add:hover .material-icons {
    color: #e74c3c !important;
}


/* Style pour les prix */
.product-price {
    margin: 15px 0;
}

.regular-price {
    text-decoration: line-through;
    color: #999;
    font-size: 0.9rem;
    margin-right: 8px;
}

.current-price {
    color: #e74c3c;
    font-weight: bold;
    font-size: 1.1rem;
}

/* Forcer la taille du prix actuel à 20px (override de la règle 32px) */
.product-price .current-price,
.current-price,
.current-price span,
.has-discount .price,
.product-price,
.current-price .price {
    font-size: 20px !important;
}

/* Nom du produit */
.product-name {
    font-size: 12px;
    font-weight: 600;
    color: #000000 !important;
    margin: 15px 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 2.6em;
    text-align: center !important;
}

/* Nom du produit dans les liens */
.product-name a,
a .product-name,
.product-name a:link,
.product-name a:visited {
    color: #000000 !important;
}

.product-name a:hover {
    color: #fe9234 !important;
}

/* Image produit */
.product-thumbnail img {
    width: 250px;
    height: 250px;
    max-width: 100%;
    object-fit: cover;
    border-radius: 4px;
    display: block;
    margin: 0 auto;
}

/* Taille des images produit en mobile */
@media (max-width: 768px) {
    .product-thumbnail img {
        width: 170px;
        height: 170px;
    }
}

/* Centrer le contenu des miniatures de produits */
.product-info {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* Forcer l'ordre : nom (1), prix (2), bouton (3) */
.product-info .product-name {
    order: 1 !important;
}

.product-info .product-price {
    order: 2 !important;
    text-align: center !important;
    width: 100%;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 15px 0 !important;
}

/* Prix barré au-dessus */
.product-info .product-price .regular-price {
    order: 1 !important;
    margin-right: 0 !important;
    margin-bottom: 5px !important;
}

/* Prix rouge en dessous */
.product-info .product-price .current-price {
    order: 2 !important;
}

.product-info .product-view-button {
    order: 3 !important;
    width: 100%;
    text-align: center !important;
    margin-top: 15px;
    display: flex !important;
    justify-content: center !important;
}

/* Centrer les prix dans les miniatures */
.product-info .product-price .regular-price,
.product-info .product-price .current-price {
    text-align: center !important;
    display: inline-block !important;
}

/* Tuile prix avec fond coloré */
.product-pricing-tile {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 25px;
    margin: 20px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border: 1px solid #e9ecef;
}

/* Tuile prix en promo (fond orange clair) */
.product-pricing-tile.promo {
    background: #fff3e0;
    border: 1px solid #ffb74d;
}

/* Prix barré */
.product-pricing-tile .regular-price {
    text-decoration: line-through;
    color: #999;
    font-size: 1rem;
    margin-right: 10px;
}

/* Prix actuel */
.product-pricing-tile .current-price {
    color: #e74c3c;
    font-weight: bold;
    font-size: 1.4rem;
    margin: 10px 0;
}

/* Indicateur d'économie */
.product-pricing-tile .savings {
    background: #4caf50;
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    display: inline-block;
    margin: 10px 0;
}

/* Stock et expédition */
.product-pricing-tile .stock-info {
    color: #2e7d32;
    font-size: 0.95rem;
    margin-top: 15px;
    font-weight: 500;
}

/* Layout des prix */
.product-pricing-tile .price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

.product-pricing-tile .price-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Footer avec fond gris clair */
.footer-container {
    background: #f8f9fa !important;
    padding: 40px 0 !important;
    margin-top: 50px !important;
}


/* Masquer les erreurs de console et améliorer la stabilité */
.product-pricing-tile {
    position: relative;
    z-index: 1;
}

/* Améliorer la stabilité des scripts */
.product-miniature {
    position: relative;
    z-index: 1;
}

/* Éviter les conflits avec jQuery */
.product-favorite {
    position: relative;
    z-index: 10;
}

/* Masquer les erreurs de console pour une meilleure expérience */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Corriger les problèmes de menu */
.navbar,
.navbar-nav,
.navbar-toggler,
.navbar-collapse {
    position: relative !important;
    z-index: 1000 !important;
}

/* Assurer que le menu fonctionne */
.navbar-nav .nav-link {
    position: relative !important;
    z-index: 1001 !important;
}

/* Corriger les dropdowns - règles spécifiques pour éviter les conflits */
.navbar .dropdown-menu {
    position: absolute !important;
    z-index: 1002 !important;
    display: none !important;
}

.navbar .dropdown:hover .dropdown-menu {
    display: block !important;
}

/* Laisser le module blockwishlist fonctionner librement */

/* Forcer les effets de survol sur les cartes */
.product-miniature:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
}

.product-miniature:hover .btn-view-product {
    background: #424242 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
}


/* Responsive Design */
@media (max-width: 1200px) {
    .product-title {
        font-size: 1.6rem;
    }
    
    #main .row {
        padding: 30px 20px !important;
        margin: 0 10px;
    }
    
    #main .col-md-6 {
        padding: 0 25px !important;
    }
    
    .products-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
    }
}

@media (max-width: 992px) {
    .product-title {
        font-size: 1.8rem;
    }
    
    #main .row {
        padding: 30px 20px !important;
        margin-top: 10px;
    }
    
    #main .col-md-6 {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 0 20px !important;
    }
    
    .product-information,
    #main .product-actions,
    #main .tabs {
        padding: 20px;
    }
}

@media (max-width: 768px) {
    .product-title {
        font-size: 1.6rem;
    }
    
    #main .row {
        padding: 15px 8px !important;
        margin-top: 5px;
    }
    
    #main .col-md-6 {
        padding: 0 8px !important;
    }
    
    .product-information,
    #main .product-actions,
    #main .tabs {
        padding: 12px 8px;
    }
    
    /* Élargir le conteneur principal en mobile */
    .container,
    #wrapper .container,
    #content-wrapper {
        padding-left: 10px !important;
        padding-right: 10px !important;
        max-width: 100% !important;
    }
    
    /* Réduire les marges des blocs produit */
    .product-container,
    .product-information,
    .product-actions {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    
    /* Description produit pleine largeur */
    #main #product-description-short {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 15px 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Bloc quantité/panier pleine largeur */
    .product-add-to-cart,
    .product-quantity,
    .product-actions form {
        width: 100% !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    
    /* Forcer le wrapper à utiliser toute la largeur */
    #wrapper,
    #content-wrapper,
    .page-content {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin: 0 !important;
    }
    
    /* Supprimer les marges sur les colonnes Bootstrap */
    .col, [class*="col-"] {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    
    .row {
        margin-left: -5px !important;
        margin-right: -5px !important;
    }
    
    /* Masquer le fil d'Ariane en mobile */
    .breadcrumb,
    .product-breadcrumb,
    .ce-breadcrumb,
    nav.breadcrumb,
    #breadcrumb {
        display: none !important;
    }
    
    /* Masquer le nombre de produits en mobile */
    .total-products,
    .showing,
    .products-count,
    .listing-info .products-count,
    .ce-listing-info,
    .elementor-widget-listing-info,
    p.showing,
    .category-top-menu p,
    h1 + p {
        display: none !important;
    }
}

/* Masquer l'inscription newsletter uniquement sur la page panier */
.page-cart .block_newsletter,
.page-cart #block-newsletter,
.page-cart .ps-emailsubscription,
.page-cart .footer-container .block_newsletter,
.page-cart .footer-container #block-newsletter {
    display: none !important;
}

/* Modifications du panier */
/* Supprimer les rectangles orange de remise */
.page-cart .product-discount,
.page-cart .discount,
.page-cart .discount-percentage,
.page-cart .discount-amount {
    display: none !important;
}

/* Prix unitaire en rouge et plus gros - Fusionné avec la règle ligne 1163 */

/* Poubelle en noir - surcharger la règle existante */
.page-cart .remove-from-cart,
.page-cart .remove-from-cart i,
.page-cart .remove-from-cart i.material-icons,
.page-cart .remove-from-cart * {
    color: #000000 !important;
}

/* Icône poubelle - Fusionné avec la règle ligne 1364 */

/* ===== DESIGN PANIER ÉLÉGANT ===== */
/* Encadrement principal du panier */
.page-cart #main {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 30px;
    margin: 20px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Lien "Continuer mes achats" élégant - Gris et plus petit */
.page-cart .breadcrumb,
.page-cart .continue-shopping {
    margin-bottom: 20px;
}

.page-cart .breadcrumb a,
.page-cart .continue-shopping a,
.page-cart .continue-shopping a.btn,
.page-cart .continue-shopping a.btn-link,
.page-cart .continue-shopping-btn,
.page-cart .continue-shopping .btn-link {
    color: #666666 !important;
    background-color: transparent !important;
    text-decoration: none !important;
    font-weight: 400;
    font-size: 0.875rem;
    transition: all 0.3s ease;
    display: inline-block;
    padding: 6px 12px;
    border: none !important;
}

.page-cart .breadcrumb a:hover,
.page-cart .continue-shopping a:hover,
.page-cart .continue-shopping a.btn:hover,
.page-cart .continue-shopping a.btn-link:hover,
.page-cart .continue-shopping-btn:hover,
.page-cart .continue-shopping .btn-link:hover {
    color: #333333 !important;
    background-color: transparent !important;
    text-decoration: none !important;
    transform: none;
    box-shadow: none;
}

.page-cart .continue-shopping-btn .material-icons,
.page-cart .continue-shopping a .material-icons,
.page-cart .continue-shopping .btn-link .material-icons {
    color: #666666 !important;
    font-size: 18px;
    vertical-align: middle;
}

.page-cart .continue-shopping-btn:hover .material-icons,
.page-cart .continue-shopping a:hover .material-icons,
.page-cart .continue-shopping .btn-link:hover .material-icons {
    color: #333333 !important;
}

/* Titre PANIER avec séparateur simple */
.page-cart h1 {
    font-size: 2rem;
    font-weight: bold;
    color: #1a1a1a;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
}

/* Supprimer le pseudo-élément ::after du h1 */
.page-cart h1::after {
    display: none !important;
}

/* Supprimer le séparateur hr */
.page-cart .separator {
    display: none !important;
}

/* Lignes produits avec séparateurs */
.page-cart .product-line-grid {
    border-bottom: 1px solid #f0f0f0;
    padding: 20px 0;
    margin-bottom: 0;
}

.page-cart .product-line-grid:last-child {
    border-bottom: none;
}

/* Améliorer l'espacement des éléments */
.page-cart .product-line-grid-body {
    padding-left: 20px;
}

.page-cart .product-line-info {
    margin-bottom: 10px;
}

/* Nom du produit plus lisible */
.page-cart .product-line-info .label {
    font-size: 14px !important;
    font-weight: 600;
    color: #000000 !important;
    text-decoration: none;
    line-height: 1.3;
}

.page-cart .product-line-info .label:hover {
    color: #fe9234 !important;
}

/* Référence produit */
.page-cart .product-reference {
    color: #666 !important;
    font-size: 0.9rem !important;
    margin-top: 5px !important;
    font-weight: normal !important;
}

/* Prix unitaire rouge et plus gros - Version complète (fusion des lignes 1034 et 1163) */
.page-cart .current-price .price {
    color: #dc3545 !important;
    font-size: 16px !important;
    font-weight: bold !important;
    margin: 10px 0 !important;
}

/* Prix total en noir, plus gros et en gras - Version complète (fusion des lignes 1041 et 1171) */
.page-cart .product-price strong {
    color: #000000 !important;
    font-size: 18px !important;
    font-weight: bold !important;
}

/* Section Total TTC avec encadrement - Plus compacte */
.page-cart .cart-summary {
    background: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 15px 20px;
    margin-top: 20px;
    margin-bottom: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.page-cart .cart-summary h2 {
    font-size: 1.5rem;
    font-weight: bold;
    color: #1a1a1a;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e0e0e0;
}

/* Total TTC en gras - Plus compact */
.page-cart .cart-summary .cart-total {
    font-size: 1.4rem;
    font-weight: bold;
    color: #1a1a1a;
    margin-bottom: 8px;
}

/* Réduire les espacements dans la section des totaux */
.page-cart .cart-summary .cart-detailed-totals,
.page-cart .cart-summary .cart-detailed-totals .card-block {
    padding: 8px 0 !important;
    margin: 0 !important;
}

.page-cart .cart-summary .cart-summary-line {
    margin-bottom: 4px !important;
    padding: 2px 0 !important;
}

.page-cart .cart-summary .separator {
    margin: 8px 0 !important;
}

/* Boutons d'action plus élégants - Largeur normale et plus compacts */
.page-cart .cart-summary .btn-primary,
.page-cart .cart-summary .btn-secondary,
.page-cart .cart-detailed-actions .btn-primary,
.page-cart .cart-detailed-actions .btn,
.page-cart .cart-detailed-actions a.btn,
.page-cart .btn-transform-devis,
.page-cart .text-sm-center .btn,
.page-cart .text-sm-center .btn-primary {
    background: #fe9234;
    border: none;
    border-radius: 6px;
    padding: 10px 20px;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 6px 5px;
    transition: all 0.3s ease;
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
}

.page-cart .cart-summary .btn-primary:hover,
.page-cart .cart-summary .btn-secondary:hover,
.page-cart .cart-detailed-actions .btn-primary:hover,
.page-cart .cart-detailed-actions .btn:hover,
.page-cart .cart-detailed-actions a.btn:hover,
.page-cart .btn-transform-devis:hover,
.page-cart .text-sm-center .btn:hover,
.page-cart .text-sm-center .btn-primary:hover {
    background: #e67e22;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Bouton TRANSFORMER EN DEVIS - style orange */
.page-cart .btn-transform-devis {
    background-color: #ff9900 !important;
    color: white !important;
}

.page-cart .btn-transform-devis:hover {
    background-color: #e67e22 !important;
    color: white !important;
}

/* S'assurer que les conteneurs de boutons ne forcent pas la largeur - Réduire les espacements */
.page-cart .cart-detailed-actions,
.page-cart .checkout.cart-detailed-actions,
.page-cart .cart-detailed-actions.card-block,
.page-cart .checkout.card-block {
    padding: 10px 15px !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

.page-cart .cart-detailed-actions .text-sm-center,
.page-cart .checkout .text-sm-center {
    text-align: center;
    padding: 0 !important;
    margin: 0 !important;
}

.page-cart .cart-detailed-actions .text-sm-center .btn,
.page-cart .checkout .text-sm-center .btn,
.page-cart .checkout .text-sm-center a.btn {
    display: inline-block !important;
    width: auto !important;
}

/* Améliorer l'alignement des éléments */
.page-cart .product-line-grid-right {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Espacement des colonnes */
.page-cart .col-md-3,
.page-cart .col-md-4,
.page-cart .col-md-5 {
    padding: 0 15px;
}

/* ===== LAYOUT PANIER ÉLÉGANT ===== */
/* Utiliser mieux l'espace disponible */
.page-cart .product-line-grid-left {
    width: 12% !important;
    max-width: 100px !important;
    flex: 0 0 12% !important;
    padding: 0 10px !important;
}

.page-cart .product-line-grid-body {
    width: 35% !important;
    flex: 0 0 35% !important;
    padding: 0 15px !important;
}

.page-cart .product-line-grid-right {
    width: 53% !important;
    flex: 0 0 53% !important;
    padding: 0 10px !important;
}

/* Design élégant pour les flèches de quantité */
.page-cart .qty {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-direction: row !important;
    width: 120px !important;
    justify-content: center !important;
}

.page-cart .qty input {
    width: 60px !important;
    text-align: center !important;
    margin: 0 !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 6px !important;
    height: 44px !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
}

/* Flèches séparées et élégantes */
.page-cart .bootstrap-touchspin {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 120px !important;
}

.page-cart .bootstrap-touchspin .input-group-btn-vertical {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 44px !important;
    height: 44px !important;
    margin-left: 0 !important;
}

.page-cart .bootstrap-touchspin .input-group-btn-vertical .btn {
    position: relative !important;
    width: 44px !important;
    height: 22px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 2px solid #fe9234 !important;
    background: #fe9234 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: bold !important;
}

.page-cart .bootstrap-touchspin .input-group-btn-vertical .btn:first-child {
    border-radius: 6px 6px 0 0 !important;
    border-bottom: 0 !important;
    margin-bottom: -1px !important;
}

.page-cart .bootstrap-touchspin .input-group-btn-vertical .btn:last-child {
    border-radius: 0 0 6px 6px !important;
    border-top: 0 !important;
    margin-top: -1px !important;
}

.page-cart .bootstrap-touchspin .input-group-btn-vertical .btn:hover {
    background: #e67e22 !important;
    color: #ffffff !important;
    transform: scale(1.05) !important;
}

/* Espacement généreux entre les colonnes */
.page-cart .product-line-grid-right .col-md-4 {
    padding: 0 15px !important;
    margin: 0 10px !important;
    min-width: 100px !important;
}

/* Améliorer l'alignement des éléments - aligner en haut */
.page-cart .product-line-grid {
    display: flex !important;
    align-items: flex-start !important;
}

.page-cart .product-line-grid-body {
    align-self: flex-start !important;
}

.page-cart .product-line-grid-right {
    align-self: flex-start !important;
}

.page-cart .product-line-grid-right .row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-around !important;
    gap: 20px !important;
}

/* Réduire l'espace pour le wrapper du panier */
.page-cart .cart-line-mobile-wrapper {
    gap: 10px !important;
}

.page-cart .product-line-grid-right .col-md-4,
.page-cart .product-line-grid-right .col-md-2 {
    align-self: flex-start !important;
}

/* Images produits en 125x125px */
.page-cart .product-line-grid-left .product-image,
.page-cart .product-line-grid-left .product-image img,
.page-cart .product-line-grid-left img {
    width: 125px !important;
    height: 125px !important;
    object-fit: contain !important;
}

/* Icône poubelle centrée dans son cadre - Version complète (fusion des lignes 1044, 1049, 1364, 1372) */
.page-cart .cart-line-product-actions .remove-from-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    position: relative;
    top: 15px;
}

.page-cart .cart-line-product-actions .remove-from-cart i.material-icons {
    font-size: 18px !important;
    color: #000000 !important;
}


/* ===== FORMULAIRE DE CONNEXION ===== */
/* Uniformiser tous les champs du formulaire */
.page-login input[type="email"],
.page-login input[type="password"],
.page-login input[type="text"],
.page-authentication input[type="email"],
.page-authentication input[type="password"],
.page-authentication input[type="text"] {
    width: 100% !important;
    min-width: 350px !important;
    max-width: 400px !important;
    height: 45px !important;
    padding: 12px 15px !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 6px !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    background: #ffffff !important;
    transition: all 0.3s ease !important;
}

.page-login input:focus,
.page-authentication input:focus {
    border-color: #fe9234 !important;
    box-shadow: 0 0 0 3px rgba(254, 146, 52, 0.1) !important;
    outline: none !important;
}

.page-login .form-group,
.page-authentication .form-group {
    width: 100% !important;
    max-width: 400px !important;
    margin-bottom: 20px !important;
}

/* Améliorer le bouton AFFICHER */
.page-login .btn-show-password,
.page-authentication .btn-show-password {
    height: 45px !important;
    padding: 0 15px !important;
    border-radius: 6px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    margin-left: 10px !important;
}

/* Améliorer le bouton CONNEXION */
.page-login .btn-primary,
.page-authentication .btn-primary {
    width: 100% !important;
    max-width: 400px !important;
    height: 50px !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    margin-top: 20px !important;
}

/* ===== PAGE MOT DE PASSE OUBLIÉ ===== */
/* Corriger le label e-mail coupé */
.page-password .form-group label,
.page-forgot-password .form-group label,
.page-password-recovery .form-group label {
    white-space: nowrap !important;
    min-width: 120px !important;
    display: inline-block !important;
    margin-bottom: 8px !important;
    font-weight: 500 !important;
}

/* Améliorer l'espacement des labels */
.page-password .form-group,
.page-forgot-password .form-group,
.page-password-recovery .form-group {
    margin-bottom: 25px !important;
}

/* Assurer que les champs ont la même largeur */
.page-password input[type="email"],
.page-forgot-password input[type="email"],
.page-password-recovery input[type="email"] {
    width: 100% !important;
    min-width: 350px !important;
    max-width: 400px !important;
    height: 45px !important;
    padding: 12px 15px !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 6px !important;
    font-size: 1rem !important;
}

/* Masquer l'abonnement newsletter sur la page mot de passe oublié */
.page-password .block_newsletter,
.page-password #block-newsletter,
.page-password .ps-emailsubscription,
.page-password .footer-container .block_newsletter,
.page-password .footer-container #block-newsletter,
.page-forgot-password .block_newsletter,
.page-forgot-password #block-newsletter,
.page-forgot-password .ps-emailsubscription,
.page-forgot-password .footer-container .block_newsletter,
.page-forgot-password .footer-container #block-newsletter,
.page-password-recovery .block_newsletter,
.page-password-recovery #block-newsletter,
.page-password-recovery .ps-emailsubscription,
.page-password-recovery .footer-container .block_newsletter,
.page-password-recovery .footer-container #block-newsletter {
    display: none !important;
}

/* ===== MASQUER NEWSLETTER SUR PAGE CONNEXION ===== */
/* Masquer complètement le module newsletter sur la page de connexion */
.page-login .block_newsletter,
.page-login #block-newsletter,
.page-login .ps-emailsubscription,
.page-login .footer-container .block_newsletter,
.page-login .footer-container #block-newsletter,
.page-authentication .block_newsletter,
.page-authentication #block-newsletter,
.page-authentication .ps-emailsubscription,
.page-authentication .footer-container .block_newsletter,
.page-authentication .footer-container #block-newsletter {
    display: none !important;
}

/* Ajuster l'alignement des éléments de droite */
.page-cart .product-line-grid-right .row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* ===== ALIGNEMENT DESKTOP PANIER ===== */
@media (min-width: 768px) {
    /* Afficher les labels sur desktop */
    .page-cart .qty-label.hidden-md-up,
    .page-cart .shipping-label.hidden-md-up,
    .page-cart .price-label.hidden-md-up {
        display: inline-block !important;
    }
    
    /* Aligner les colonnes Quantité, Port et Total sur desktop */
    .page-cart .cart-line-content {
        display: flex !important;
        align-items: center !important;
        gap: 20px !important;
    }
    
    /* Colonne Quantité desktop - label et valeur côte à côte */
    .page-cart .cart-line-qty {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        height: 100% !important;
    }
    
    .page-cart .cart-line-qty .qty-label {
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        color: #333 !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }
    
    .page-cart .cart-line-qty .qty-wrapper {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
    
    /* Colonne Port desktop - label et valeur côte à côte */
    .page-cart .cart-line-shipping {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        height: 100% !important;
    }
    
    .page-cart .cart-line-shipping .product-shipping-cost-per-unit {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    .page-cart .cart-line-shipping .shipping-label {
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        color: #333 !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }
    
    .page-cart .cart-line-shipping .shipping-value {
        font-size: 0.95rem !important;
        font-weight: 500 !important;
        color: #333 !important;
    }
    
    /* Colonne Total desktop - label et valeur côte à côte */
    .page-cart .cart-line-price {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        height: 100% !important;
    }
    
    .page-cart .cart-line-price .product-price {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    .page-cart .cart-line-price .price-label {
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        color: #333 !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }
    
    .page-cart .cart-line-price .price-value {
        font-size: 1.1rem !important;
        font-weight: 700 !important;
        color: #333 !important;
    }
    
    /* Rapprocher la corbeille des autres éléments */
    .page-cart .cart-line-mobile-wrapper {
        gap: 5px !important;
    }
    
    .page-cart .cart-line-mobile-wrapper .col-md-10 {
        padding-right: 5px !important;
        flex: 1 1 auto !important;
    }
    
    .page-cart .cart-line-mobile-wrapper .col-md-2 {
        padding-left: 5px !important;
        padding-right: 0 !important;
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 40px !important;
    }
    
    .page-cart .cart-line-delete {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 0 !important;
    }
    
    .page-cart .cart-line-product-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }
    
    .page-cart .cart-line-product-actions .remove-from-cart {
        position: relative !important;
        top: 0 !important;
        width: 32px !important;
        height: 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
}

/* ===== RESPONSIVE PANIER MOBILE ===== */
@media (max-width: 767px) {
    /* Réorganiser la structure du panier sur mobile */
    .page-cart .product-line-grid {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 15px 10px !important;
    }
    
    /* Image produit mobile */
    .page-cart .product-line-grid-left {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        padding: 0 0 15px 0 !important;
        text-align: center !important;
    }
    
    .page-cart .product-line-grid-left .product-image,
    .page-cart .product-line-grid-left .product-image img,
    .page-cart .product-line-grid-left img {
        width: 100px !important;
        height: 100px !important;
        margin: 0 auto !important;
    }
    
    /* Corps du produit mobile */
    .page-cart .product-line-grid-body {
        width: 100% !important;
        flex: 0 0 auto !important;
        padding: 0 0 15px 0 !important;
    }
    
    /* Section droite mobile - pleine largeur */
    .page-cart .product-line-grid-right {
        width: 100% !important;
        flex: 0 0 auto !important;
        padding: 0 !important;
    }
    
    /* Wrapper mobile */
    .page-cart .cart-line-mobile-wrapper {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    /* Contenu principal mobile */
    .page-cart .cart-line-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
    }
    
    /* Quantité mobile */
    .page-cart .cart-line-qty {
        width: 100% !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    .page-cart .cart-line-qty .qty-label {
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        color: #333 !important;
        min-width: 80px !important;
        margin: 0 !important;
    }
    
    .page-cart .cart-line-qty .qty-wrapper {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        flex: 1 !important;
    }
    
    .page-cart .cart-line-qty input[type="number"] {
        width: 80px !important;
        max-width: 80px !important;
        height: 44px !important;
        text-align: center !important;
        border: 2px solid #e0e0e0 !important;
        border-radius: 6px !important;
        font-size: 1rem !important;
        font-weight: 500 !important;
        padding: 0 10px !important;
        margin: 0 !important;
    }
    
    /* Frais de port mobile */
    .page-cart .cart-line-shipping {
        width: 100% !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    .page-cart .cart-line-shipping .product-shipping-cost-per-unit {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        font-size: 0.95rem !important;
        width: 100% !important;
    }
    
    .page-cart .cart-line-shipping .shipping-label {
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        color: #333 !important;
        min-width: 50px !important;
        margin: 0 !important;
    }
    
    .page-cart .cart-line-shipping .shipping-value {
        font-size: 0.95rem !important;
        font-weight: 500 !important;
        color: #333 !important;
    }
    
    /* Prix mobile */
    .page-cart .cart-line-price {
        width: 100% !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    .page-cart .cart-line-price .product-price {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
    }
    
    .page-cart .cart-line-price .price-label {
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        color: #333 !important;
        min-width: 50px !important;
        margin: 0 !important;
    }
    
    .page-cart .cart-line-price .price-value {
        font-size: 1.1rem !important;
        font-weight: 700 !important;
        color: #333 !important;
    }
    
    .page-cart .cart-line-price .price-devis {
        font-size: 1.1rem !important;
        font-weight: 700 !important;
        color: #000 !important;
    }
    
    /* Icône supprimer mobile */
    .page-cart .cart-line-delete {
        width: 100% !important;
        padding: 0 !important;
        text-align: left !important;
        margin-top: 5px !important;
    }
    
    .page-cart .cart-line-delete .cart-line-product-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }
    
    .page-cart .cart-line-delete .remove-from-cart {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        border-radius: 6px !important;
        background: #f5f5f5 !important;
        transition: all 0.3s ease !important;
        position: relative !important;
        top: 0 !important;
    }
    
    .page-cart .cart-line-delete .remove-from-cart:hover {
        background: #ff4444 !important;
    }
    
    .page-cart .cart-line-delete .remove-from-cart i.material-icons {
        font-size: 20px !important;
        color: #333 !important;
    }
    
    .page-cart .cart-line-delete .remove-from-cart:hover i.material-icons {
        color: #fff !important;
    }
    
    /* Afficher les labels sur mobile uniquement */
    .page-cart .qty-label.hidden-md-up,
    .page-cart .shipping-label.hidden-md-up,
    .page-cart .price-label.hidden-md-up {
        display: inline-block !important;
    }
    
    /* Réduire les espacements des colonnes Bootstrap */
    .page-cart .cart-line-content .col-xs-12 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    /* Ajuster les marges générales */
    .page-cart .product-line-grid-right .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* ===== MEGAMENU ===== */
/* Padding pour le mega menu */
.mm_menu_content_title {
    padding: 0 15px !important;
}

/* DÉSACTIVÉ - Géré par la configuration du mega menu */
/*
div.mm_tab_li_content.closed {
    background-color: #818a91 !important;
}

div.mm_tab_li_content.closed a,
div.mm_tab_li_content.closed .mm_tab_toggle_title {
    color: #ffffff !important;
}

div.mm_tab_li_content.closed:hover a,
div.mm_tab_li_content.closed:hover .mm_tab_toggle_title,
li.mm_tabs_li:hover div.mm_tab_li_content.closed a,
li.mm_tabs_li:hover div.mm_tab_li_content.closed .mm_tab_toggle_title {
    color: #ffffff !important;
    font-weight: bold !important;
}

div.mm_tab_li_content.closed:hover,
li.mm_tabs_li:hover div.mm_tab_li_content.closed {
    background-color: #818a91 !important;
}

.mm_columns_contents_ul {
    background-color: #ffffff !important;
}

.mm_columns_contents_ul a {
    color: #000000 !important;
}

.mm_columns_contents_ul a:hover {
    color: #fe9234 !important;
}
*/

/* ===== PAGE PRODUIT - SUPPRESSION PROMO ET REMISES ===== */
/* Masquer les éléments PROMO et pourcentages de remise sur la page produit */
.product-discount,
.discount,
.discount-percentage,
.discount-amount,
.product-flag,
.product-flags {
    display: none !important;
}

/* Masquer spécifiquement les badges de remise */
.product-flag.discount,
.product-flag.sale,
.product-flag.promo {
    display: none !important;
}

/* Masquer les pourcentages de remise dans les prix */
.current-price .discount,
.current-price .discount-percentage,
.current-price .discount-amount {
    display: none !important;
}

/* Masquer les informations de stock et d'expédition */
.delivery-information,
.product-availability,
.stock-information,
.expedition-info {
    display: none !important;
}

/* Masquer le badge "Économisez X €" */
.save-amount,
.economy-badge,
.savings-badge,
.product-savings {
    display: none !important;
}

/* Masquer spécifiquement les éléments trouvés dans product.tpl */
.savings {
    display: none !important;
}

/* Masquer les éléments spécifiques trouvés dans product.tpl */
.stock-info {
    display: none !important;
}

/* Masquer les badges d'économie */
.savings {
    display: none !important;
}

/* Masquer les informations de stock et d'expédition */
.product-pricing-tile .stock-info,
.product-info .stock-info {
    display: none !important;
}

/* ===== MODALE AJOUT AU PANIER - NOM DU PRODUIT EN ORANGE ===== */
/* Nom du produit en orange dans la modale */
.modal-body .product-name,
.cart-modal .product-name,
.modal .product-name {
    color: #fe9234 !important;
}

/* ===== MODALE AJOUT AU PANIER - BOUTON VOIR MON PANIER ===== */
/* Style du bouton "VOIR MON PANIER" comme le bouton "AJOUTER AU PANIER" */
.modal-footer .btn-primary,
.modal-footer button:last-child,
.cart-modal .btn-primary,
.cart-modal button:last-child,
.modal .btn-primary,
.modal button:last-child,
.modal-body .btn-primary,
.modal-body a.btn-primary,
.cart-content-btn .btn-primary,
.cart-content-btn a.btn-primary {
    background-color: #fe9234 !important;
    border-color: #fe9234 !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
}

.modal-footer .btn-primary:hover,
.modal-footer button:last-child:hover,
.cart-modal .btn-primary:hover,
.cart-modal button:last-child:hover,
.modal .btn-primary:hover,
.modal button:last-child:hover,
.modal-body .btn-primary:hover,
.modal-body a.btn-primary:hover,
.cart-content-btn .btn-primary:hover,
.cart-content-btn a.btn-primary:hover {
    background-color: #e67e22 !important;
    border-color: #e67e22 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(254, 146, 52, 0.3) !important;
}

/* Style du bouton "Continuer mes achats" dans la modale */
.cart-content-btn .btn-secondary,
.modal-body .btn-secondary {
    background: #e0e0e0 !important;
    color: #424242 !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 12px 24px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.cart-content-btn .btn-secondary:hover,
.modal-body .btn-secondary:hover {
    background: #bdbdbd !important;
    color: #212121 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
}

/* ===== PAGE MON COMPTE - INFORMATIONS CLIENT ===== */
/* Texte des informations de compte en noir */
.page-my-account .account-info,
.page-my-account .customer-info,
.page-my-account .account-details,
.page-my-account .user-info,
.page-my-account .account-header,
.page-my-account .customer-details {
    color: #000000 !important;
}

/* Texte spécifique pour les informations de connexion */
.page-my-account .account-info *,
.page-my-account .customer-info *,
.page-my-account .account-details *,
.page-my-account .user-info *,
.page-my-account .account-header *,
.page-my-account .customer-details * {
    color: #000000 !important;
}

/* Cibler spécifiquement les textes "Connecté en tant que client", Email, Nom */
.page-my-account .account-info p,
.page-my-account .customer-info p,
.page-my-account .account-details p,
.page-my-account .user-info p,
.page-my-account .account-header p,
.page-my-account .customer-details p {
    color: #000000 !important;
}

/* ===== PAGE COMMANDE - RECTANGLE BLEU EN ORANGE ===== */
/* Changer la couleur du rectangle bleu en orange sur la page de commande */
body#checkout section.checkout-step .address-item.selected {
    border-color: #fe9234 !important;
    border: 3px solid #fe9234 !important;
}

/* Autres éléments de sélection sur la page de commande */
body#checkout .address-item.selected,
body#checkout .selected-address,
body#checkout .checkout-step .selected {
    border-color: #fe9234 !important;
    border: 3px solid #fe9234 !important;
}

/* ===== RADIO BUTTON PERSONNALISÉ - POINT BLEU EN ORANGE ===== */
/* Changer la couleur du point bleu du radio button en orange */
.custom-radio input[type=radio]:checked+span {
    background-color: #fe9234 !important;
}

/* Autres sélecteurs pour les radio buttons personnalisés */
.custom-radio input[type="radio"]:checked + span,
.custom-radio input[type="radio"]:checked + .custom-radio-label,
.custom-radio input:checked + span,
.custom-radio input:checked + .custom-radio-label {
    background-color: #fe9234 !important;
}

/* Radio buttons sur la page de commande */
body#checkout .custom-radio input[type=radio]:checked+span,
body#checkout .custom-radio input[type="radio"]:checked + span {
    background-color: #fe9234 !important;
}

/* ===== TOUS LES LIENS EN ORANGE ===== */
/* Tous les liens a href en orange, supprimer le bleu par défaut */
a {
    color: #fe9234 !important;
}

/* Liens au survol */
a:hover {
    color: #e67e22 !important;
}

/* Liens visités */
a:visited {
    color: #fe9234 !important;
}

/* Liens actifs */
a:active {
    color: #e67e22 !important;
}

/* ===== EXCEPTION - LIENS DU MEGA MENU ===== */
/* Remplacé par les règles spécifiques ci-dessous */

/* ===== EXCEPTIONS - BOUTONS AVEC TEXTE BLANC ===== */
/* Les boutons ne doivent pas être affectés par la règle orange des liens */
a.btn,
a.btn-primary,
a.btn-secondary,
a.btn-success,
a.btn-danger,
a.btn-warning,
a.btn-info,
a.btn-light,
a.btn-dark,
a.button,
button,
.btn,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info,
.btn-light,
.btn-dark {
    color: #ffffff !important;
}

/* ===== BOUTONS VOIR PRODUIT - TEXTE BLANC MÊME VISITÉS ===== */
/* Boutons "VOIR LE PRODUIT" restent blancs même après visite */
.btn-view-product,
a.btn-view-product,
.btn-view-product:visited,
a.btn-view-product:visited {
    color: #ffffff !important;
}

/* Boutons "VOIR LE PRODUIT" au survol */
.btn-view-product:hover,
a.btn-view-product:hover {
    color: #ffffff !important;
}

/* Boutons au survol */
a.btn:hover,
a.btn-primary:hover,
a.btn-secondary:hover,
a.btn-success:hover,
a.btn-danger:hover,
a.btn-warning:hover,
a.btn-info:hover,
a.btn-light:hover,
a.btn-dark:hover,
a.button:hover,
button:hover,
.btn:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.button:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-success:hover,
.btn-danger:hover,
.btn-warning:hover,
.btn-info:hover,
.btn-light:hover,
.btn-dark:hover {
    color: #ffffff !important;
}

/* ===== CASE À COCHER - VISIBILITÉ ===== */
/* Masquer visuellement l'input natif mais le garder cliquable */
.custom-checkbox input[type="checkbox"] {
    opacity: 0 !important;
    position: absolute !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    z-index: 2 !important;
    pointer-events: auto !important;
}

/* Supprimer tous les styles du conteneur */
.custom-checkbox {
    border: none !important;
    background: none !important;
    width: 18px !important;
    height: 18px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}

/* Créer une nouvelle case à cocher personnalisée */
.custom-checkbox::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #666666 !important;
    border-radius: 3px !important;
    background-color: #ffffff !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Style quand cochée - case blanche avec petite sélection noire */
.custom-checkbox input[type="checkbox"]:checked + .custom-checkbox::before,
.custom-checkbox:has(input:checked)::before {
    background-color: #ffffff !important;
    border-color: #666666 !important;
}

/* Ajouter la petite sélection noire quand cochée */
.custom-checkbox input[type="checkbox"]:checked + .custom-checkbox::after,
.custom-checkbox:has(input:checked)::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 8px !important;
    height: 8px !important;
    background-color: #000000 !important;
    border-radius: 1px !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Masquer l'icône Material Design */
.custom-checkbox .material-icons {
    display: none !important;
}

/* Masquer le span qui contient l'icône mais permettre à l'input de rester cliquable */
.custom-checkbox > span {
    position: relative !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
}

/* Masquer le contenu du span sauf l'input */
.custom-checkbox > span > *:not(input) {
    display: none !important;
}

/* ===== MEGA MENU - MENU PRINCIPAL UNIQUEMENT ===== */
/* Texte blanc par défaut pour le menu principal uniquement */
.mm_menus_ul .mm_menu_content_title,
.mm_menus_li .mm_menu_content_title,
.mm_menus_ul .ets_mm_url,
.mm_menus_li .ets_mm_url {
    color: #ffffff !important;
}

/* Texte noir au survol pour le menu principal uniquement */
.mm_menus_ul .mm_menu_content_title:hover,
.mm_menus_li .mm_menu_content_title:hover,
.mm_menus_ul .ets_mm_url:hover,
.mm_menus_li .ets_mm_url:hover {
    color: #000000 !important;
}

/* Exclure explicitement les sous-menus - laisser le module gérer leurs couleurs */
.mm_columns_contents_ul a,
.mm_columns_contents_ul .ets_mm_url,
.mm_blocks_ul a,
.mm_blocks_ul .ets_mm_url,
.mm_tabs_li a,
.mm_tabs_li .ets_mm_url,
.mm_categories a,
.mm_categories .ets_mm_url,
.ets_mm_categories a,
.ets_mm_categories .ets_mm_url {
    color: inherit !important;
}

.mm_columns_contents_ul a:hover,
.mm_columns_contents_ul .ets_mm_url:hover,
.mm_blocks_ul a:hover,
.mm_blocks_ul .ets_mm_url:hover,
.mm_tabs_li a:hover,
.mm_tabs_li .ets_mm_url:hover,
.mm_categories a:hover,
.mm_categories .ets_mm_url:hover,
.ets_mm_categories a:hover,
.ets_mm_categories .ets_mm_url:hover {
    color: inherit !important;
}

/* ===== SOUS-SOUS-MENUS EN ORANGE AU SURVOL ===== */
/* Styles pour les liens des sous-sous-menus (niveau 3) au survol */
.mm_columns_contents_ul ul a:hover,
.mm_columns_contents_ul ul .ets_mm_url:hover,
.mm_columns_contents_ul .mm_columns_contents_ul a:hover,
.mm_columns_contents_ul .mm_columns_contents_ul .ets_mm_url:hover,
.mm_columns_contents_ul li ul a:hover,
.mm_columns_contents_ul li ul .ets_mm_url:hover,
.mm_blocks_ul ul a:hover,
.mm_blocks_ul ul .ets_mm_url:hover,
.mm_blocks_ul .mm_columns_contents_ul a:hover,
.mm_blocks_ul .mm_columns_contents_ul .ets_mm_url:hover,
.mm_categories ul a:hover,
.mm_categories ul .ets_mm_url:hover,
.mm_categories .mm_columns_contents_ul a:hover,
.mm_categories .mm_columns_contents_ul .ets_mm_url:hover,
.ets_mm_categories ul a:hover,
.ets_mm_categories ul .ets_mm_url:hover,
.ets_mm_categories .mm_columns_contents_ul a:hover,
.ets_mm_categories .mm_columns_contents_ul .ets_mm_url:hover,
.mm_columns_contents_ul .collapse a:hover,
.mm_columns_contents_ul .collapse .ets_mm_url:hover,
.mm_columns_contents_ul [class*="sub"] a:hover,
.mm_columns_contents_ul [class*="sub"] .ets_mm_url:hover {
    color: #fe9234 !important;
}

/* ===== SOUS-MENUS EN NOIR ===== */
/* DÉSACTIVÉ - Géré par la configuration du mega menu */
/*
.mm_columns_contents_ul a,
.mm_columns_contents_ul .ets_mm_url,
.mm_blocks_ul a,
.mm_blocks_ul .ets_mm_url,
.mm_tabs_li a,
.mm_tabs_li .ets_mm_url,
.mm_categories a,
.mm_categories .ets_mm_url,
.ets_mm_categories a,
.ets_mm_categories .ets_mm_url {
    color: #000000 !important;
}

.mm_columns_contents_ul a:hover,
.mm_columns_contents_ul .ets_mm_url:hover,
.mm_blocks_ul a:hover,
.mm_blocks_ul .ets_mm_url:hover,
.mm_tabs_li a:hover,
.mm_tabs_li .ets_mm_url:hover,
.mm_categories a:hover,
.mm_categories .ets_mm_url:hover,
.ets_mm_categories a:hover,
.ets_mm_categories .ets_mm_url:hover {
    color: #fe9234 !important;
}
*/

/* ===== BOUTON CONTINUER MES ACHATS - TEXTE BLANC ===== */
/* DÉSACTIVÉ - Le bouton "Continuer mes achats" est maintenant en gris (voir styles plus haut) */
/* 
.page-cart .btn-continue,
.page-cart .continue-shopping a,
.page-cart .continue-shopping .btn,
.page-cart .btn-link,
.page-cart .continue-shopping .btn-link {
    color: #ffffff !important;
}

.page-cart .btn-continue:hover,
.page-cart .continue-shopping a:hover,
.page-cart .continue-shopping .btn:hover,
.page-cart .btn-link:hover,
.page-cart .continue-shopping .btn-link:hover {
    color: #ffffff !important;
}
*/


/* ===== BOUTON CONTINUER - STYLE ORANGE COMME PANIER ===== */
/* Bouton "CONTINUER" avec le même style que le bouton du panier */
body#checkout .btn-primary,
body#checkout .btn-continue,
body#checkout button[type="submit"],
body#checkout .continue-button,
body#checkout .checkout-step button,
body#checkout .checkout-step .btn {
    background-color: #fe9234 !important;
    border-color: #fe9234 !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    padding: 12px 24px !important;
}

/* Bouton "CONTINUER" au survol */
body#checkout .btn-primary:hover,
body#checkout .btn-continue:hover,
body#checkout button[type="submit"]:hover,
body#checkout .continue-button:hover,
body#checkout .checkout-step button:hover,
body#checkout .checkout-step .btn:hover {
    background-color: #e67e22 !important;
    border-color: #e67e22 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(254, 146, 52, 0.3) !important;
}

/* ===== MASQUER LES BOUTONS DANS LES FORMULAIRES DE PAIEMENT (options 1 à 5) ===== */
/* Les boutons dans les formulaires de paiement sont masqués pour éviter les doublons */
/* Le bouton "COMMANDER" principal dans #payment-confirmation reste visible */

/* Masquer tous les boutons dans les formulaires de paiement (options 1 à 5) */
body#checkout #payment-payment-option-1-form button,
body#checkout #payment-payment-option-1-form button[type="submit"],
body#checkout #payment-payment-option-1-form .btn-primary,
body#checkout #payment-payment-option-1-form .btn,
body#checkout #payment-payment-option-1-form input[type="submit"],
body#checkout #pay-with-payment-option-1-form #payment-payment-option-1-form button,
body#checkout #pay-with-payment-option-1-form #payment-payment-option-1-form .btn,
body#checkout #payment-payment-option-2-form button,
body#checkout #payment-payment-option-2-form button[type="submit"],
body#checkout #payment-payment-option-2-form .btn-primary,
body#checkout #payment-payment-option-2-form .btn,
body#checkout #payment-payment-option-2-form input[type="submit"],
body#checkout #pay-with-payment-option-2-form #payment-payment-option-2-form button,
body#checkout #pay-with-payment-option-2-form #payment-payment-option-2-form .btn,
body#checkout #payment-payment-option-3-form button,
body#checkout #payment-payment-option-3-form button[type="submit"],
body#checkout #payment-payment-option-3-form .btn-primary,
body#checkout #payment-payment-option-3-form .btn,
body#checkout #payment-payment-option-3-form input[type="submit"],
body#checkout #pay-with-payment-option-3-form #payment-payment-option-3-form button,
body#checkout #pay-with-payment-option-3-form #payment-payment-option-3-form .btn,
body#checkout #payment-payment-option-4-form button,
body#checkout #payment-payment-option-4-form button[type="submit"],
body#checkout #payment-payment-option-4-form .btn-primary,
body#checkout #payment-payment-option-4-form .btn,
body#checkout #payment-payment-option-4-form input[type="submit"],
body#checkout #pay-with-payment-option-4-form #payment-payment-option-4-form button,
body#checkout #pay-with-payment-option-4-form #payment-payment-option-4-form .btn,
body#checkout #payment-payment-option-5-form button,
body#checkout #payment-payment-option-5-form button[type="submit"],
body#checkout #payment-payment-option-5-form .btn-primary,
body#checkout #payment-payment-option-5-form .btn,
body#checkout #payment-payment-option-5-form input[type="submit"],
body#checkout #pay-with-payment-option-5-form #payment-payment-option-5-form button,
body#checkout #pay-with-payment-option-5-form #payment-payment-option-5-form .btn {
    display: none !important;
}

/* Cacher et rendre transparent le bouton pay-with-payment-option-1 */
body#checkout button#pay-with-payment-option-1 {
    display: none !important;
    opacity: 0 !important;
    background: transparent !important;
    border: none !important;
    visibility: hidden !important;
}

/* Cacher l'option "Payer avec un compte PayPal" */
body#checkout .payment-option:has(img[src*="paypal" i]),
body#checkout .payment-option:has(img[alt*="paypal" i]),
body#checkout div:has(> .payment-option img[src*="paypal" i]) {
    display: none !important;
}
/* Alternative: cacher par le module name si PayPal utilise ps_checkout */
body#checkout .payment-option:has(input[data-module-name*="paypal" i]),
body#checkout div:has(> .payment-option input[data-module-name*="paypal" i]) {
    display: none !important;
}

/* Masquer les formulaires de paiement s'ils ne sont pas sélectionnés (options 1 à 5) */
/* body#checkout #pay-with-payment-option-1-form.ps-hidden,
body#checkout #pay-with-payment-option-2-form.ps-hidden,
body#checkout #pay-with-payment-option-3-form.ps-hidden,
body#checkout #pay-with-payment-option-4-form.ps-hidden,
body#checkout #pay-with-payment-option-5-form.ps-hidden {
    display: none !important;
} */

/* Masquer les formulaires de paiement entiers si nécessaire (options 1 à 5) */
body#checkout form#payment-payment-option-1-form,
body#checkout form#payment-payment-option-2-form,
body#checkout form#payment-payment-option-3-form,
body#checkout form#payment-payment-option-4-form,
body#checkout form#payment-payment-option-5-form {
    display: none !important;
}

/* Menu mobile - background blanc par défaut, gris uniquement quand ouvert */
@media (max-width: 1024px) {
    /* Fond blanc par défaut pour le menu mobile - TOUJOURS */
    .mm_menus_ul,
    .ets_mm_megamenu,
    .elementor-element .mm_menus_ul,
    .mm_menus_ul:not(.active):not(.open):not(.show):not(.mm_active):not(.mm_open) {
        background-color: #ffffff !important;
    }
    
    /* Background gris UNIQUEMENT quand le menu est ouvert/actif */
    .mm_menus_ul.active,
    .mm_menus_ul.open,
    .mm_menus_ul.show,
    .mm_menus_ul.mm_active,
    .mm_menus_ul.mm_open,
    .mm_menus_ul[class*="active"],
    .mm_menus_ul[class*="open"],
    .mm_menus_ul[class*="show"],
    .ets_mm_megamenu.active .mm_menus_ul,
    .ets_mm_megamenu.open .mm_menus_ul,
    .ets_mm_megamenu.show .mm_menus_ul,
    .ets_mm_megamenu.mm_active .mm_menus_ul,
    .ets_mm_megamenu.mm_open .mm_menus_ul,
    .ets_mm_megamenu[class*="active"] .mm_menus_ul,
    .ets_mm_megamenu[class*="open"] .mm_menus_ul,
    body.menu-open .mm_menus_ul,
    body.menu-active .mm_menus_ul,
    body.mm-open .mm_menus_ul,
    body.mm-active .mm_menus_ul,
    body[class*="menu-open"] .mm_menus_ul,
    body[class*="menu-active"] .mm_menus_ul,
    .elementor-menu-toggle.active ~ .mm_menus_ul,
    .elementor-menu-toggle.active + .mm_menus_ul,
    .elementor-element.active .mm_menus_ul,
    .elementor-element.open .mm_menus_ul,
    .elementor-element[class*="active"] .mm_menus_ul {
        background-color: #4d5357 !important;
    }
    
    /* Z-index très élevé pour ets_mm_megamenu */
    .ets_mm_megamenu.active,
    .ets_mm_megamenu.open,
    .ets_mm_megamenu.show,
    .ets_mm_megamenu.mm_active,
    .ets_mm_megamenu.mm_open,
    .ets_mm_megamenu[class*="active"],
    .ets_mm_megamenu[class*="open"] {
        z-index: 99999 !important;
        /* nécessaire pour que z-index s'applique (sinon l'élément reste "static") */
        position: relative !important;
    }
    
    /* Z-index 100 pour l'élément Elementor spécifique */
    .elementor-element.elementor-element-161eb0e.elementor-section-boxed.elementor-section-height-default.elementor-section.elementor-inner-section {
        z-index: 100 !important;
    }
    
    /* Z-index bas pour le menu compte - passe sous les résultats de recherche */
    #block_myaccount_infos,
    .menu-item-type-account,
    .menu-item-account,
    .elementor-nav--main .menu-item-type-account,
    .elementor-nav--dropdown .menu-item-type-account,
    .user-info,
    .header-top .right-nav,
    #_desktop_user_info,
    #_mobile_user_info {
        z-index: 100 !important;
        position: relative !important;
    }
    
    /* Résultats autocomplete de recherche au-dessus */
    .ui-autocomplete,
    .ui-widget,
    .ui-menu,
    #search_widget .ui-autocomplete,
    .search-widget .ui-autocomplete {
        z-index: 9999 !important;
    }
    
    /* Menu mobile ets_megamenu - texte principal en blanc (UNIQUEMENT le menu principal, pas les sous-menus) */
    .mm_menus_ul > .mm_menus_li > .mm_menu_content_title,
    .mm_menus_ul > .mm_menus_li > .ets_mm_url,
    .mm_menus_ul.active > .mm_menus_li > .mm_menu_content_title,
    .mm_menus_ul.active > .mm_menus_li > .ets_mm_url,
    .ets_mm_megamenu .mm_menus_ul > .mm_menus_li > .mm_menu_content_title,
    .ets_mm_megamenu .mm_menus_ul > .mm_menus_li > .ets_mm_url,
    body .mm_menus_ul > .mm_menus_li > .mm_menu_content_title,
    body .mm_menus_ul > .mm_menus_li > .ets_mm_url {
        color: #ffffff !important;
    }
    
    /* Icône plus/arrow en blanc dans le menu mobile */
    .mm_menus_ul .arrow,
    .mm_menus_ul .mm_arrow,
    .mm_menus_ul .mm_icon,
    .mm_menus_ul [class*="arrow"],
    .mm_menus_ul [class*="plus"],
    .mm_menus_ul [class*="icon"],
    .mm_menus_li .arrow,
    .mm_menus_li .mm_arrow,
    .mm_menus_li .mm_icon,
    .mm_menus_li [class*="arrow"],
    .mm_menus_li [class*="plus"],
    .mm_menus_li [class*="icon"],
    .ets_mm_megamenu .arrow,
    .ets_mm_megamenu .mm_arrow,
    .ets_mm_megamenu .mm_icon,
    .ets_mm_megamenu [class*="arrow"],
    .ets_mm_megamenu [class*="plus"],
    .ets_mm_megamenu [class*="icon"] {
        color: #ffffff !important;
    }
    
    /* Sous-menu mobile - FORCER le texte en noir sur fond blanc */
    .mm_columns_ul,
    .mm_columns_ul *,
    .mm_columns_ul a,
    .mm_columns_ul .ets_mm_url,
    .mm_columns_ul .mm_menu_content_title,
    .mm_columns_ul_tab,
    .mm_columns_ul_tab *,
    .mm_columns_ul_tab a,
    .mm_columns_ul_tab .ets_mm_url,
    .mm_columns_ul_tab .mm_menu_content_title,
    .mm_columns_contents_ul,
    .mm_columns_contents_ul *,
    .mm_columns_contents_ul a,
    .mm_columns_contents_ul .ets_mm_url,
    .mm_columns_contents_ul .mm_menu_content_title,
    .mm_blocks_ul,
    .mm_blocks_ul *,
    .mm_blocks_ul a,
    .mm_blocks_ul .ets_mm_url,
    .mm_blocks_ul .mm_menu_content_title,
    .mm_categories,
    .mm_categories *,
    .mm_categories a,
    .mm_categories .ets_mm_url,
    .mm_categories .mm_menu_content_title,
    .ets_mm_categories,
    .ets_mm_categories *,
    .ets_mm_categories a,
    .ets_mm_categories .ets_mm_url,
    .ets_mm_categories .mm_menu_content_title,
    .mm_menus_ul .mm_menus_li .mm_menus_ul,
    .mm_menus_ul .mm_menus_li .mm_menus_ul *,
    .mm_menus_ul .mm_menus_li .mm_menus_ul a,
    .mm_menus_ul .mm_menus_li .mm_menus_ul .ets_mm_url,
    .mm_menus_ul .mm_menus_li .mm_menus_ul .mm_menu_content_title,
    .mm_menus_ul .mm_menus_li .mm_columns_ul,
    .mm_menus_ul .mm_menus_li .mm_columns_ul *,
    .mm_menus_ul .mm_menus_li .mm_columns_ul a,
    .mm_menus_ul .mm_menus_li .mm_columns_ul .ets_mm_url,
    .mm_menus_ul .mm_menus_li .mm_columns_ul .mm_menu_content_title,
    .mm_menus_ul .mm_menus_li .mm_columns_contents_ul,
    .mm_menus_ul .mm_menus_li .mm_columns_contents_ul *,
    .mm_menus_ul .mm_menus_li .mm_columns_contents_ul a,
    .mm_menus_ul .mm_menus_li .mm_columns_contents_ul .ets_mm_url,
    .mm_menus_ul .mm_menus_li .mm_columns_contents_ul .mm_menu_content_title {
        color: #000000 !important;
    }
    
    /* Fond blanc pour TOUS les conteneurs de sous-menu */
    .mm_columns_ul,
    .mm_columns_ul_tab,
    .mm_columns_contents_ul,
    .mm_blocks_ul,
    .mm_categories,
    .ets_mm_categories,
    .mm_menus_ul .mm_menus_li .mm_menus_ul,
    .mm_menus_ul .mm_menus_li .mm_columns_ul,
    .mm_menus_ul .mm_menus_li .mm_columns_ul_tab,
    .mm_menus_ul .mm_menus_li .mm_columns_contents_ul,
    .mm_tab_li_content,
    .mm_tabs_li {
        background-color: #ffffff !important;
    }
    
    /* Sur mobile : désactiver overflow visible pour éviter la confusion des sous-menus */
    .ets_mm_megamenu ul,
    .ets_mm_megamenu .mm_menus_ul ul,
    .ets_mm_megamenu .mm_menus_ul ul ul,
    .mm_menus_ul ul,
    .mm_menus_ul ul ul {
        overflow: hidden !important;
    }

    /* Option A : menu mobile scrollable si trop long (uniquement la liste principale) */
    .ets_mm_megamenu.active .mm_menus_ul,
    .ets_mm_megamenu.open .mm_menus_ul,
    .ets_mm_megamenu.show .mm_menus_ul,
    .ets_mm_megamenu.mm_active .mm_menus_ul,
    .ets_mm_megamenu.mm_open .mm_menus_ul,
    .ets_mm_megamenu[class*="active"] .mm_menus_ul,
    .ets_mm_megamenu[class*="open"] .mm_menus_ul,
    .mm_menus_ul.active,
    .mm_menus_ul.open,
    .mm_menus_ul.show,
    .mm_menus_ul.mm_active,
    .mm_menus_ul.mm_open,
    .mm_menus_ul[class*="active"],
    .mm_menus_ul[class*="open"] {
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-y !important;
        max-height: 100vh !important;
    }
    
    /* Cacher le bouton Filters sur mobile */
    /* Cibler l'élément Elementor spécifique du bouton Filters */
    .elementor-element-8ad10a3 {
        display: none !important;
    }
    
    /* Cibler aussi par classe générique si l'ID change */
    .elementor-element[class*="8ad10a3"],
    .elementor-widget-container button[aria-label*="Filter"],
    .elementor-widget-container button[aria-label*="Filtre"],
    button[aria-label*="Filter" i],
    button[aria-label*="Filtre" i] {
        display: none !important;
    }
}

/* Desktop uniquement : overflow visible pour les sous-sous-menus */
@media (min-width: 1025px) {
    .ets_mm_megamenu ul {
        overflow: visible !important;
    }
}

/* Menu "Mon compte" - tous les éléments en noir */
#block_myaccount_infos,
#block_myaccount_infos *,
#block_myaccount_infos a,
#block_myaccount_infos .myaccount-title,
#block_myaccount_infos .myaccount-title a,
#block_myaccount_infos .account-link,
.menu-item-account,
.menu-item-type-account,
.menu-item-type-account a,
.menu-item-type-account .elementor-item,
.menu-item-type-account .sub-menu,
.menu-item-type-account .sub-menu a,
.menu-item-type-account .sub-menu .elementor-item,
.elementor-nav--main .menu-item-type-account a,
.elementor-nav--main .menu-item-type-account .elementor-item,
.elementor-nav--dropdown .menu-item-type-account a,
.elementor-nav--dropdown .menu-item-type-account .elementor-item,
.elementor-nav--dropdown .sub-menu .menu-item-type-account a,
.elementor-nav--dropdown .sub-menu .menu-item-type-account .elementor-item {
    color: #000000 !important;
}

/* Icônes du menu "Mon compte" en noir */
#block_myaccount_infos .material-icons,
#block_myaccount_infos i,
#block_myaccount_infos [class*="icon"],
.menu-item-type-account .material-icons,
.menu-item-type-account i,
.menu-item-type-account [class*="icon"],
.menu-item-type-account .sub-menu .material-icons,
.menu-item-type-account .sub-menu i,
.menu-item-type-account .sub-menu [class*="icon"] {
    color: #000000 !important;
}

/* S'assurer que "Mes devis" dans le menu dropdown a exactement le même style que les autres éléments */
/* Ne forcer que les styles de couleur et de fond dans l'état normal, laisser Elementor gérer les dimensions */
.elementor-nav--dropdown .menu-item-type-account a[href*="opartdevis"]:not(:hover),
.elementor-nav--dropdown .menu-item-type-account a[href*="listquotation"]:not(:hover),
.elementor-nav--dropdown .sub-menu .menu-item-type-account a[href*="opartdevis"]:not(:hover),
.elementor-nav--dropdown .sub-menu .menu-item-type-account a[href*="listquotation"]:not(:hover),
.menu-item-type-account a[href*="opartdevis"].elementor-sub-item:not(:hover),
.menu-item-type-account a[href*="listquotation"].elementor-sub-item:not(:hover),
.menu-item-account-2 a:not(:hover),
.menu-item-account-2 .elementor-sub-item:not(:hover),
.menu-item-account-2 a.elementor-sub-item:not(:hover),
.menu-item-account-2 .elementor-item:not(:hover) {
    color: #000000 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    /* Ne pas toucher aux dimensions (padding, height, margin, etc.) pour laisser Elementor les gérer */
}

/* Au survol, appliquer explicitement les mêmes styles que les autres éléments du menu */
/* Fond gris foncé et texte blanc comme "Mon compte" et "Adresses" au survol */
.elementor-nav--dropdown .menu-item-type-account a[href*="opartdevis"]:hover,
.elementor-nav--dropdown .menu-item-type-account a[href*="listquotation"]:hover,
.elementor-nav--dropdown .sub-menu .menu-item-type-account a[href*="opartdevis"]:hover,
.elementor-nav--dropdown .sub-menu .menu-item-type-account a[href*="listquotation"]:hover,
.menu-item-type-account a[href*="opartdevis"].elementor-sub-item:hover,
.menu-item-type-account a[href*="listquotation"].elementor-sub-item:hover,
.menu-item-account-2 a:hover,
.menu-item-account-2 .elementor-sub-item:hover,
.menu-item-account-2 a.elementor-sub-item:hover,
.menu-item-account-2 .elementor-item:hover,
li.menu-item-account-2:hover a,
li.menu-item-type-account.menu-item-account-2:hover a,
.elementor-nav--dropdown li.menu-item-account-2:hover a,
.elementor-nav--dropdown li.menu-item-type-account.menu-item-account-2:hover a,
.sub-menu li.menu-item-account-2:hover a,
.sub-menu li.menu-item-type-account.menu-item-account-2:hover a {
    /* Appliquer les mêmes styles hover que les autres éléments : fond gris foncé et texte blanc */
    background: #54595f !important;
    background-color: #54595f !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* S'assurer que le conteneur li au hover applique le même fond que les autres éléments */
li.menu-item-account-2:hover,
li.menu-item-type-account.menu-item-account-2:hover,
.elementor-nav--dropdown li.menu-item-account-2:hover,
.elementor-nav--dropdown li.menu-item-type-account.menu-item-account-2:hover,
.sub-menu li.menu-item-account-2:hover,
.sub-menu li.menu-item-type-account.menu-item-account-2:hover {
    /* Fond gris foncé au hover comme les autres éléments */
    background: #54595f !important;
    background-color: #54595f !important;
    border: none !important;
}

/* S'assurer que les icônes et le texte changent de couleur au hover comme les autres éléments */
li.menu-item-account-2:hover i,
li.menu-item-account-2:hover [class*="icon"],
li.menu-item-account-2:hover .elementor-sub-item i,
li.menu-item-account-2:hover .elementor-sub-item [class*="icon"],
li.menu-item-account-2:hover span,
li.menu-item-type-account.menu-item-account-2:hover i,
li.menu-item-type-account.menu-item-account-2:hover [class*="icon"],
li.menu-item-type-account.menu-item-account-2:hover a[href*="opartdevis"] i,
li.menu-item-type-account.menu-item-account-2:hover a[href*="listquotation"] i,
li.menu-item-type-account.menu-item-account-2:hover a[href*="opartdevis"] [class*="icon"],
li.menu-item-type-account.menu-item-account-2:hover a[href*="listquotation"] [class*="icon"],
li.menu-item-type-account.menu-item-account-2:hover a[href*="opartdevis"] span,
li.menu-item-type-account.menu-item-account-2:hover a[href*="listquotation"] span {
    color: #ffffff !important;
}

/* S'assurer que l'icône de "Mes devis" a aussi le même style dans l'état normal */
.menu-item-account-2:not(:hover) i,
.menu-item-account-2:not(:hover) [class*="icon"],
.menu-item-account-2:not(:hover) .elementor-sub-item i,
.menu-item-account-2:not(:hover) .elementor-sub-item [class*="icon"],
.menu-item-type-account:not(:hover) a[href*="opartdevis"] i,
.menu-item-type-account:not(:hover) a[href*="listquotation"] i,
.menu-item-type-account:not(:hover) a[href*="opartdevis"] [class*="icon"],
.menu-item-type-account:not(:hover) a[href*="listquotation"] [class*="icon"] {
    color: #000000 !important;
}

/* S'assurer que le conteneur li de "Mes devis" a exactement le même style que les autres */
/* Ne forcer que le fond dans l'état normal, laisser le hover fonctionner */
.menu-item-account-2:not(:hover),
.menu-item-type-account.menu-item-account-2:not(:hover),
.elementor-nav--dropdown .menu-item-type-account.menu-item-account-2:not(:hover),
.elementor-nav--dropdown .sub-menu .menu-item-type-account.menu-item-account-2:not(:hover),
li.menu-item-account-2:not(:hover),
li.menu-item-type-account.menu-item-account-2:not(:hover),
.elementor-nav--dropdown li.menu-item-account-2:not(:hover),
.elementor-nav--dropdown li.menu-item-type-account.menu-item-account-2:not(:hover),
.sub-menu li.menu-item-account-2:not(:hover),
.sub-menu li.menu-item-type-account.menu-item-account-2:not(:hover) {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    /* Ne pas toucher aux dimensions pour laisser Elementor les gérer comme pour les autres éléments */
}

/* S'assurer que le span dans "Mes devis" a aussi le même style dans l'état normal */
.menu-item-account-2:not(:hover) span,
.menu-item-account-2:not(:hover) .elementor-sub-item span,
.menu-item-type-account:not(:hover) a[href*="opartdevis"] span,
.menu-item-type-account:not(:hover) a[href*="listquotation"] span {
    color: #000000 !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Règle globale : laisser Elementor gérer toutes les dimensions pour "Mes devis" comme pour les autres éléments */
/* On ne force que les couleurs et les fonds pour éviter les styles de bouton orange */

/* Ne forcer le fond transparent que pour l'état normal, pas au hover */
/* Utiliser :not(:hover) sur le li parent pour que les enfants ne soient pas affectés au hover */
li.menu-item-account-2:not(:hover) > *,
li.menu-item-type-account.menu-item-account-2:not(:hover) > *,
.elementor-nav--dropdown li.menu-item-account-2:not(:hover) > *,
.elementor-nav--dropdown li.menu-item-type-account.menu-item-account-2:not(:hover) > *,
.sub-menu li.menu-item-account-2:not(:hover) > *,
.sub-menu li.menu-item-type-account.menu-item-account-2:not(:hover) > * {
    background: transparent !important;
    background-color: transparent !important;
}

/* Exception : ne pas appliquer les styles de bouton orange à "Mes devis" dans le menu */
/* Laisser Elementor gérer toutes les dimensions pour qu'elles correspondent aux autres éléments */
/* Ne forcer les styles que dans l'état normal, laisser le hover fonctionner */
li.menu-item-account-2 a:not(:hover),
li.menu-item-type-account.menu-item-account-2 a:not(:hover),
.elementor-nav--dropdown li.menu-item-account-2 a:not(:hover),
.elementor-nav--dropdown li.menu-item-type-account.menu-item-account-2 a:not(:hover),
.sub-menu li.menu-item-account-2 a:not(:hover),
.sub-menu li.menu-item-type-account.menu-item-account-2 a:not(:hover) {
    background: transparent !important;
    background-color: transparent !important;
    color: #000000 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    /* Ne pas toucher aux dimensions (padding, margin, height, etc.) pour laisser Elementor les gérer */
}

/* Règles hover très spécifiques pour surcharger toutes les règles précédentes */
/* Utiliser la même spécificité que les autres éléments du menu pour que le hover fonctionne */
li.menu-item-account-2:hover a,
li.menu-item-type-account.menu-item-account-2:hover a,
.elementor-nav--dropdown li.menu-item-account-2:hover a,
.elementor-nav--dropdown li.menu-item-type-account.menu-item-account-2:hover a,
.sub-menu li.menu-item-account-2:hover a,
.sub-menu li.menu-item-type-account.menu-item-account-2:hover a,
.menu-item-account-2:hover a,
.menu-item-account-2:hover .elementor-sub-item,
.menu-item-account-2:hover .elementor-item,
.elementor-nav--dropdown .menu-item-type-account.menu-item-account-2:hover a,
.elementor-nav--dropdown .sub-menu .menu-item-type-account.menu-item-account-2:hover a {
    /* Ne pas forcer de styles pour laisser Elementor appliquer ses styles hover */
    /* Seulement empêcher les styles de bouton orange */
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    /* Ne PAS forcer background, background-color ou color pour permettre le hover */
}

/* Les enfants au hover héritent des styles du parent */

/* Icône panier en noir */
.blockcart,
.blockcart *,
.blockcart a,
.blockcart .material-icons,
.blockcart i,
.blockcart [class*="cart"],
.blockcart [class*="shopping"],
.blockcart [class*="basket"],
.blockcart [class*="icon"],
#blockcart,
#blockcart *,
#blockcart a,
#blockcart .material-icons,
#blockcart i,
#blockcart [class*="cart"],
#blockcart [class*="shopping"],
#blockcart [class*="basket"],
#blockcart [class*="icon"],
[class*="cart"] .material-icons,
[class*="cart"] i,
[class*="cart"] [class*="icon"],
[class*="shopping-cart"] .material-icons,
[class*="shopping-cart"] i,
[class*="shopping-cart"] [class*="icon"] {
    color: #000000 !important;
}

/* Panier Elementor - noms de produits en noir */
.elementor-cart__main .product-name,
.elementor-cart__main .h6.product-name,
.elementor-cart__main h6.product-name,
.elementor-cart__main [class*="product-name"],
.elementor-cart__product-name,
.elementor-cart__product-name a,
.elementor-cart__product-name a:visited,
.elementor-cart__product-name a:link,
.elementor-cart__product-name a:hover,
.elementor-cart__product-name a:active {
    color: #000000 !important;
}

/* Panier Elementor - conteneur des boutons pour aligner les hauteurs */
.elementor-cart__footer-buttons,
.elementor-cart__main [class*="footer-buttons"],
.elementor-cart__main [class*="buttons"] {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
}

/* Panier Elementor - boutons "Voir le panier" et "Commander" - même style que .btn-view-product */
.elementor-cart__main .elementor-button--view-cart,
.elementor-cart__main .elementor-button--checkout,
.elementor-cart__main .elementor-button.elementor-button--view-cart,
.elementor-cart__main .elementor-button.elementor-button--checkout {
    background: #424242 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 12px 20px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
    transform: translateY(0) !important;
    height: 100% !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
}

/* Panier Elementor - boutons au survol - même style que .btn-view-product:hover */
.elementor-cart__main .elementor-button--view-cart:hover,
.elementor-cart__main .elementor-button--checkout:hover,
.elementor-cart__main .elementor-button.elementor-button--view-cart:hover,
.elementor-cart__main .elementor-button.elementor-button--checkout:hover {
    background: #424242 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
}

/* Cacher le bouton COMMANDER */
.elementor-cart__main .elementor-button--checkout,
.elementor-cart__main .elementor-button.elementor-button--checkout {
    display: none !important;
}

/* Liens du footer en noir */
.footer-container a,
.footer-container .cms-page-link,
.footer-container .wrapper a,
.footer-container ul li a,
.footer-container #footer_sub_menu_2 a,
.footer-container #footer_sub_menu_2 .cms-page-link {
    color: #000000 !important;
}

.footer-container a:hover,
.footer-container .cms-page-link:hover,
.footer-container .wrapper a:hover,
.footer-container ul li a:hover {
    color: #000000 !important;
}

/* ===== CARROUSEL - HAUTEUR FIXE ===== */
.carousel-inner {
    height: 178px !important;
}

/* ===== VALIDATION MOT DE PASSE - COULEURS DES ICÔNES ===== */
/* Icônes Material Icons dans les password-requirements : gris par défaut, vert quand validé */
.password-requirements .material-icons {
    color: #9e9e9e !important; /* Gris par défaut */
    transition: color 0.3s ease;
    white-space: nowrap;
}

.password-requirements .material-icons.text-success {
    color: #28a745 !important; /* Vert quand la condition est remplie */
}

/* Assurer que les icônes dans les paragraphes de requirements sont bien colorées */
.password-requirements-length .material-icons,
.password-requirements-score .material-icons {
    color: #9e9e9e !important;
}

.password-requirements-length .material-icons.text-success,
.password-requirements-score .material-icons.text-success {
    color: #28a745 !important;
}

/* ===== AMÉLIORATION DES FLÈCHES DE QUANTITÉ - PAGE PRODUIT ===== */
/* Harmoniser le champ de quantité avec les flèches arrondies */
.product-add-to-cart .bootstrap-touchspin {
    display: flex !important;
    align-items: stretch !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

/* Champ de quantité avec coins arrondis à gauche */
.product-add-to-cart .bootstrap-touchspin input[type="number"] {
    border-radius: 6px 0 0 6px !important;
    border-right: none !important;
    border: 1px solid #ddd !important;
}

/* Conteneur des flèches avec coins arrondis à droite */
.product-add-to-cart .bootstrap-touchspin .input-group-btn-vertical {
    width: 32px !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 0 6px 6px 0 !important;
    overflow: hidden !important;
}

.product-add-to-cart .bootstrap-touchspin .input-group-btn-vertical .btn {
    width: 32px !important;
    height: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: #fe9234 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: bold !important;
    transition: background 0.2s ease !important;
    cursor: pointer !important;
}

.product-add-to-cart .bootstrap-touchspin .input-group-btn-vertical .btn:first-child {
    border-radius: 0 !important;
}

.product-add-to-cart .bootstrap-touchspin .input-group-btn-vertical .btn:last-child {
    border-radius: 0 0 6px 0 !important;
}

.product-add-to-cart .bootstrap-touchspin .input-group-btn-vertical .btn:hover {
    background: #e67e22 !important;
}

.product-add-to-cart .bootstrap-touchspin .input-group-btn-vertical .btn:active {
    background: #d35400 !important;
}

/* Améliorer les icônes Material Icons dans les boutons */
.product-add-to-cart .material-icons.touchspin-up,
.product-add-to-cart .material-icons.touchspin-down {
    font-size: 16px !important;
    line-height: 1 !important;
    color: #ffffff !important;
}

/* Utiliser des flèches Material Icons */
.product-add-to-cart .material-icons.touchspin-up::before {
    content: "keyboard_arrow_up" !important;
    font-family: 'Material Icons' !important;
    font-size: 18px !important;
    color: #ffffff !important;
}

.product-add-to-cart .material-icons.touchspin-down::before {
    content: "keyboard_arrow_down" !important;
    font-family: 'Material Icons' !important;
    font-size: 18px !important;
    color: #ffffff !important;
}

/* ===== LAYOUT RESPONSIVE BOUTON AJOUTER AU PANIER ===== */
/* Desktop : layout horizontal classique */
.product-quantity-responsive {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.product-quantity-responsive .qty-responsive {
    flex: 0 0 auto !important;
}

.product-quantity-responsive .add-responsive {
    flex: 0 0 auto !important;
}

/* Mobile : layout vertical élégant */
@media (max-width: 768px) {
    .product-quantity-responsive {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    
    .product-quantity-responsive .qty-responsive {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .product-quantity-responsive .add-responsive {
        width: 100% !important;
    }
    
    .product-quantity-responsive .add-responsive .btn,
    .product-quantity-responsive .add-responsive button {
        width: 100% !important;
        min-height: 50px !important;
        padding: 12px 16px !important;
        font-size: 0.85rem !important;
        font-weight: 600 !important;
        border-radius: 6px !important;
        white-space: normal !important;
        line-height: 1.3 !important;
        word-wrap: break-word !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }
    
    /* Réduire la taille de l'icône en mobile pour laisser plus de place au texte */
    .product-quantity-responsive .add-responsive .btn .material-icons,
    .product-quantity-responsive .add-responsive button .material-icons {
        font-size: 18px !important;
        margin-right: 6px !important;
        flex-shrink: 0 !important;
    }
}

/* ============================================
   STYLES POUR LE MODULE OPARTDEVIS
   ============================================ */

/* Masquer le menu catégories sur la page des devis */
#module-opartdevis-listquotation #left-column,
.page-my-account #left-column {
    display: none !important;
}

/* Section main à 100% sur la page des devis */
#module-opartdevis-listquotation #content-wrapper,
#module-opartdevis-listquotation #main,
#module-opartdevis-listquotation .page-content {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* Page de liste des devis */
.module-opartdevis-listquotation,
#opartdevis-listquotation,
.opartdevis-listquotation {
    padding: 30px 0;
}

/* Titre de la page */
.module-opartdevis-listquotation h1,
#opartdevis-listquotation h1,
.opartdevis-listquotation h1,
.page-header h1 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 30px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Tableau des devis - Style moderne */
.module-opartdevis-listquotation table,
#opartdevis-listquotation table,
.opartdevis-listquotation table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    margin-bottom: 30px;
}

/* En-tête du tableau */
.module-opartdevis-listquotation table thead,
#opartdevis-listquotation table thead,
.opartdevis-listquotation table thead {
    background: #fe9234;
}

.module-opartdevis-listquotation table thead th,
#opartdevis-listquotation table thead th,
.opartdevis-listquotation table thead th {
    padding: 20px 15px;
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
    text-align: left;
    border: none;
}

/* Corps du tableau */
.module-opartdevis-listquotation table tbody tr,
#opartdevis-listquotation table tbody tr,
.opartdevis-listquotation table tbody tr {
    transition: all 0.3s ease;
    border-bottom: 1px solid #f0f0f0;
}

.module-opartdevis-listquotation table tbody tr:hover,
#opartdevis-listquotation table tbody tr:hover,
.opartdevis-listquotation table tbody tr:hover {
    background: #f8f9fa;
    transform: scale(1.01);
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.module-opartdevis-listquotation table tbody tr:last-child,
#opartdevis-listquotation table tbody tr:last-child,
.opartdevis-listquotation table tbody tr:last-child {
    border-bottom: none;
}

.module-opartdevis-listquotation table tbody td,
#opartdevis-listquotation table tbody td,
.opartdevis-listquotation table tbody td {
    padding: 20px 15px;
    color: #2c3e50;
    font-size: 1rem;
    vertical-align: middle;
}

/* Date dans le tableau */
.module-opartdevis-listquotation table tbody td:first-child,
#opartdevis-listquotation table tbody td:first-child,
.opartdevis-listquotation table tbody td:first-child {
    font-weight: 500;
    color: #6c757d;
}

/* Statut du devis */
.module-opartdevis-listquotation .devis-status,
#opartdevis-listquotation .devis-status,
.opartdevis-listquotation .devis-status {
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 20px;
    display: inline-block;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.module-opartdevis-listquotation .devis-status.en-attente,
#opartdevis-listquotation .devis-status.en-attente,
.opartdevis-listquotation .devis-status.en-attente {
    background: #fff3cd;
    color: #856404;
}

.module-opartdevis-listquotation .devis-status.valide,
#opartdevis-listquotation .devis-status.valide,
.opartdevis-listquotation .devis-status.valide {
    background: #d4edda;
    color: #155724;
}

.module-opartdevis-listquotation .devis-status.expire,
#opartdevis-listquotation .devis-status.expire,
.opartdevis-listquotation .devis-status.expire {
    background: #f8d7da;
    color: #721c24;
}

/* Badge "Expiré" */
.module-opartdevis-listquotation .expire-badge,
#opartdevis-listquotation .expire-badge,
.opartdevis-listquotation .expire-badge {
    display: inline-block;
    padding: 4px 10px;
    background: #dc3545;
    color: white;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
}

/* Zone des boutons d'action */
.module-opartdevis-listquotation table tbody td:last-child,
#opartdevis-listquotation table tbody td:last-child,
.opartdevis-listquotation table tbody td:last-child {
    text-align: right;
}

.module-opartdevis-listquotation .action-buttons,
#opartdevis-listquotation .action-buttons,
.opartdevis-listquotation .action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    align-items: center;
}

/* Boutons d'action - Style moderne */
.module-opartdevis-listquotation a.btn,
#opartdevis-listquotation a.btn,
.opartdevis-listquotation a.btn,
.module-opartdevis-listquotation button,
#opartdevis-listquotation button,
.opartdevis-listquotation button,
.module-opartdevis-listquotation input[type="submit"],
#opartdevis-listquotation input[type="submit"],
.opartdevis-listquotation input[type="submit"],
.module-opartdevis-listquotation .btn-action,
#opartdevis-listquotation .btn-action,
.opartdevis-listquotation .btn-action {
    padding: 10px 20px;
    border-radius: 25px;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(254, 146, 52, 0.3);
}

/* Bouton orange (par défaut) */
.module-opartdevis-listquotation a.btn:not(.btn-danger):not(.btn-success),
#opartdevis-listquotation a.btn:not(.btn-danger):not(.btn-success),
.opartdevis-listquotation a.btn:not(.btn-danger):not(.btn-success),
.module-opartdevis-listquotation .btn-action:not(.btn-danger):not(.btn-success),
#opartdevis-listquotation .btn-action:not(.btn-danger):not(.btn-success),
.opartdevis-listquotation .btn-action:not(.btn-danger):not(.btn-success) {
    background: linear-gradient(135deg, #fe9234, #ff6b35);
    color: white;
}

.module-opartdevis-listquotation a.btn:not(.btn-danger):not(.btn-success):hover,
#opartdevis-listquotation a.btn:not(.btn-danger):not(.btn-success):hover,
.opartdevis-listquotation a.btn:not(.btn-danger):not(.btn-success):hover,
.module-opartdevis-listquotation .btn-action:not(.btn-danger):not(.btn-success):hover,
#opartdevis-listquotation .btn-action:not(.btn-danger):not(.btn-success):hover,
.opartdevis-listquotation .btn-action:not(.btn-danger):not(.btn-success):hover {
    background: linear-gradient(135deg, #ff6b35, #fe9234);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(254, 146, 52, 0.4);
}

/* Bouton vert (Commander) */
.module-opartdevis-listquotation .btn-success,
#opartdevis-listquotation .btn-success,
.opartdevis-listquotation .btn-success,
.module-opartdevis-listquotation a.btn-success,
#opartdevis-listquotation a.btn-success,
.opartdevis-listquotation a.btn-success {
    background: linear-gradient(135deg, #28a745, #20c997);
    color: white;
}

.module-opartdevis-listquotation .btn-success:hover,
#opartdevis-listquotation .btn-success:hover,
.opartdevis-listquotation .btn-success:hover,
.module-opartdevis-listquotation a.btn-success:hover,
#opartdevis-listquotation a.btn-success:hover,
.opartdevis-listquotation a.btn-success:hover {
    background: linear-gradient(135deg, #20c997, #28a745);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(40, 167, 69, 0.4);
}

/* Bouton rouge (Supprimer) */
.module-opartdevis-listquotation .btn-danger,
#opartdevis-listquotation .btn-danger,
.opartdevis-listquotation .btn-danger,
.module-opartdevis-listquotation a.btn-danger,
#opartdevis-listquotation a.btn-danger,
.opartdevis-listquotation a.btn-danger {
    background: linear-gradient(135deg, #dc3545, #c82333);
    color: white;
}

.module-opartdevis-listquotation .btn-danger:hover,
#opartdevis-listquotation .btn-danger:hover,
.opartdevis-listquotation .btn-danger:hover,
.module-opartdevis-listquotation a.btn-danger:hover,
#opartdevis-listquotation a.btn-danger:hover,
.opartdevis-listquotation a.btn-danger:hover {
    background: linear-gradient(135deg, #c82333, #dc3545);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(220, 53, 69, 0.4);
}

/* Bouton bleu (Modifier) */
.module-opartdevis-listquotation .btn-primary,
#opartdevis-listquotation .btn-primary,
.opartdevis-listquotation .btn-primary,
.module-opartdevis-listquotation a.btn-primary,
#opartdevis-listquotation a.btn-primary,
.opartdevis-listquotation a.btn-primary {
    background: linear-gradient(135deg, #007bff, #0056b3);
    color: white;
}

.module-opartdevis-listquotation .btn-primary:hover,
#opartdevis-listquotation .btn-primary:hover,
.opartdevis-listquotation .btn-primary:hover,
.module-opartdevis-listquotation a.btn-primary:hover,
#opartdevis-listquotation a.btn-primary:hover,
.opartdevis-listquotation a.btn-primary:hover {
    background: linear-gradient(135deg, #0056b3, #007bff);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);
}

/* Message si aucun devis */
.module-opartdevis-listquotation .no-quotation,
#opartdevis-listquotation .no-quotation,
.opartdevis-listquotation .no-quotation {
    text-align: center;
    padding: 60px 20px;
    background: white;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.module-opartdevis-listquotation .no-quotation p,
#opartdevis-listquotation .no-quotation p,
.opartdevis-listquotation .no-quotation p {
    font-size: 1.2rem;
    color: #6c757d;
    margin: 0;
}

/* Responsive pour mobile */
@media (max-width: 768px) {
    .module-opartdevis-listquotation table,
    #opartdevis-listquotation table,
    .opartdevis-listquotation table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .module-opartdevis-listquotation .action-buttons,
    #opartdevis-listquotation .action-buttons,
    .opartdevis-listquotation .action-buttons {
        flex-direction: column;
        align-items: stretch;
    }
    
    .module-opartdevis-listquotation a.btn,
    #opartdevis-listquotation a.btn,
    .opartdevis-listquotation a.btn,
    .module-opartdevis-listquotation .btn-action,
    #opartdevis-listquotation .btn-action,
    .opartdevis-listquotation .btn-action {
        width: 100%;
        justify-content: center;
    }
    
    .module-opartdevis-listquotation table tbody td:last-child,
    #opartdevis-listquotation table tbody td:last-child,
    .opartdevis-listquotation table tbody td:last-child {
        text-align: center;
    }
}

/* Styles génériques pour les pages du module opartdevis */
body.module-opartdevis,
body[class*="opartdevis"] {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    min-height: 100vh;
}

/* Conteneur principal */
.module-opartdevis-listquotation .container,
#opartdevis-listquotation .container,
.opartdevis-listquotation .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Exception : ne pas appliquer les styles de bouton au lien "Mes devis" dans la page Mon compte */
.my-account-page .account-card a[href*="opartdevis"],
.account-card a[href*="opartdevis"] {
    color: #fe9234 !important;
    text-decoration: none !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    padding: 8px 0 !important;
    border: none !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    width: auto !important;
    margin: 0 !important;
}

.my-account-page .account-card a[href*="opartdevis"]:hover,
.account-card a[href*="opartdevis"]:hover {
    color: #fe9234 !important;
    transform: translateX(5px) !important;
}

.my-account-page .account-card a[href*="opartdevis"]::before,
.account-card a[href*="opartdevis"]::before {
    content: '→' !important;
    margin-right: 10px !important;
    color: #fe9234 !important;
    font-weight: bold !important;
    transition: all 0.3s ease !important;
}

.my-account-page .account-card a[href*="opartdevis"]:hover::before,
.account-card a[href*="opartdevis"]:hover::before {
    transform: translateX(3px) !important;
}

/* Styles génériques pour tous les tableaux sur la page des devis */
body:has([href*="opartdevis"]) table,
body:has([href*="opartdevis"]) .table,
.page-content:has([href*="opartdevis"]) table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: white !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08) !important;
    margin-bottom: 30px !important;
}

body:has([href*="opartdevis"]) table thead,
body:has([href*="opartdevis"]) .table thead {
    background: #fe9234 !important;
}

body:has([href*="opartdevis"]) table thead th,
body:has([href*="opartdevis"]) .table thead th {
    padding: 20px 15px !important;
    color: white !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.9rem !important;
    text-align: left !important;
    border: none !important;
}

body:has([href*="opartdevis"]) table tbody tr,
body:has([href*="opartdevis"]) .table tbody tr {
    transition: all 0.3s ease !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

body:has([href*="opartdevis"]) table tbody tr:hover,
body:has([href*="opartdevis"]) .table tbody tr:hover {
    background: #f8f9fa !important;
    transform: scale(1.01) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
}

body:has([href*="opartdevis"]) table tbody td,
body:has([href*="opartdevis"]) .table tbody td {
    padding: 20px 15px !important;
    color: #2c3e50 !important;
    font-size: 1rem !important;
    vertical-align: middle !important;
}

/* Boutons génériques sur la page des devis - Style comme le bouton "ENVOYER" mais plus petits */
/* Exclusion des boutons wishlist pour ne pas les affecter */
body:has([href*="listquotation"]) a[href*="opartdevis"]:not(.account-card a):not(.elementor-nav--dropdown a):not(.elementor-sub-item):not(.menu-item-type-account a):not(.sub-menu a),
body:has([href*="listquotation"]) button:not(.account-card button):not(.elementor-nav--dropdown button):not(.menu-item-type-account button):not(.wishlist-button-add),
body:has([href*="listquotation"]) input[type="submit"]:not(.account-card input):not(.elementor-nav--dropdown input):not(.menu-item-type-account input),
body:has([href*="listquotation"]) .btn:not(.account-card .btn):not(.elementor-nav--dropdown .btn):not(.menu-item-type-account .btn):not(.wishlist-button-add) {
    background: #fe9234 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 8px 16px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: background 0.3s ease !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body:has([href*="listquotation"]) a[href*="opartdevis"]:not([class*="danger"]):not([class*="success"]):not([class*="primary"]):not(.account-card a):not(.elementor-nav--dropdown a):not(.elementor-sub-item):not(.menu-item-type-account a):not(.sub-menu a),
body:has([href*="listquotation"]) button:not([class*="danger"]):not([class*="success"]):not([class*="primary"]):not(.account-card button):not(.elementor-nav--dropdown button):not(.menu-item-type-account button):not(.wishlist-button-add),
body:has([href*="listquotation"]) .btn:not([class*="danger"]):not([class*="success"]):not([class*="primary"]):not(.account-card .btn):not(.elementor-nav--dropdown .btn):not(.menu-item-type-account .btn):not(.wishlist-button-add) {
    background: #fe9234 !important;
    color: #ffffff !important;
}

body:has([href*="listquotation"]) a[href*="opartdevis"]:not([class*="danger"]):not([class*="success"]):not([class*="primary"]):not(.account-card a):not(.elementor-nav--dropdown a):not(.elementor-sub-item):not(.menu-item-type-account a):not(.sub-menu a):hover,
body:has([href*="listquotation"]) button:not([class*="danger"]):not([class*="success"]):not([class*="primary"]):not(.account-card button):not(.elementor-nav--dropdown button):not(.menu-item-type-account button):not(.wishlist-button-add):hover,
body:has([href*="listquotation"]) .btn:not([class*="danger"]):not([class*="success"]):not([class*="primary"]):not(.account-card .btn):not(.elementor-nav--dropdown .btn):not(.menu-item-type-account .btn):not(.wishlist-button-add):hover {
    background: #e67e22 !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Styles pour tous les liens et boutons dans les cellules du tableau des devis - Style comme "ENVOYER" mais plus petits */
body:has([href*="opartdevis"]) table tbody td a,
body:has([href*="opartdevis"]) table tbody td button,
body:has([href*="opartdevis"]) table tbody td input[type="submit"],
body:has([href*="opartdevis"]) .table tbody td a,
body:has([href*="opartdevis"]) .table tbody td button {
    background: #fe9234 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 8px 16px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: background 0.3s ease !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    box-shadow: none !important;
    margin: 5px !important;
}

body:has([href*="opartdevis"]) table tbody td a:hover,
body:has([href*="opartdevis"]) table tbody td button:hover,
body:has([href*="opartdevis"]) table tbody td input[type="submit"]:hover,
body:has([href*="opartdevis"]) .table tbody td a:hover,
body:has([href*="opartdevis"]) .table tbody td button:hover {
    background: #e67e22 !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Styles pour le texte "Expiré" et autres statuts */
body:has([href*="opartdevis"]) .expire,
body:has([href*="opartdevis"]) .expired,
body:has([href*="opartdevis"]) [class*="expire"],
body:has([href*="opartdevis"]) [class*="expired"] {
    display: inline-block !important;
    padding: 4px 10px !important;
    background: #dc3545 !important;
    color: white !important;
    border-radius: 12px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    margin-bottom: 10px !important;
}

/* Améliorer l'apparence générale du texte dans les cellules */
body:has([href*="opartdevis"]) table tbody td {
    line-height: 1.6 !important;
}

/* Espacement entre les boutons dans une cellule */
body:has([href*="opartdevis"]) table tbody td:last-child {
    white-space: normal !important;
}

body:has([href*="opartdevis"]) table tbody td:last-child > * {
    margin: 5px !important;
    display: inline-block !important;
}

/* Masquer les boutons "RETOUR À MON COMPTE" et "HOME" sur la page de création de devis */
body:has([href*="createquotation"]) a[href*="my-account"],
body:has([href*="createquotation"]) a[href*="index.php"]:not([href*="createquotation"]),
body:has([href*="createquotation"]) a[href="/"],
body:has([href*="createquotation"]) button[onclick*="my-account"],
body:has([href*="createquotation"]) button[onclick*="index.php"],
body:has([href*="createquotation"]) .btn[href*="my-account"],
body:has([href*="createquotation"]) .btn[href*="index.php"]:not([href*="createquotation"]) {
    display: none !important;
}

/* Ajuster l'espacement entre les boutons sur la page de confirmation du devis */
.quotation-confirmation-retour {
    margin-bottom: 5px !important;
    margin-top: 10px !important;
    display: block !important;
}

.quotation-confirmation-accueil {
    margin-top: 5px !important;
    margin-bottom: 10px !important;
    display: block !important;
}

.quotation-confirmation-retour-li {
    margin-bottom: 5px !important;
    padding-bottom: 0 !important;
}

.quotation-confirmation-accueil-li {
    margin-top: 5px !important;
    padding-top: 0 !important;
}

/* Styles pour les tableaux de la page de détails de commande - Texte noir sur fond gris */
body:has([href*="order-detail"]) table thead th,
body:has([href*="order-detail"]) .table thead th,
body:has([href*="order-detail"]) .thead-default th,
#order-products thead th,
#order-history table thead th {
    color: #000000 !important;
}

/* --------------------------------------------------------------------------
   Affichage TTC (anti "TTC TTC")
   - Ne pas mettre "TTC" dans le HTML des prix (sinon doublon au refresh AJAX)
   - On l'ajoute visuellement via CSS, donc jamais de duplication
   -------------------------------------------------------------------------- */
.product-pricing-tile .current-price-value::after,
.product-prices .current-price [itemprop="price"]::after {
    content: " TTC";
    font: inherit;
    color: inherit;
}

/* ===== PAGE ADRESSES - MISE EN PAGE AMÉLIORÉE ===== */
/* Conteneur principal de la page des adresses */
.addresses-page {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Liste des adresses */
.addresses-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px 30px -15px;
}

.addresses-list > div {
    padding: 0 15px;
    margin-bottom: 30px;
}

/* Carte d'adresse */
.address {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 25px;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease;
}

.address:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Corps de l'adresse */
.address-body {
    flex: 1;
    margin-bottom: 20px;
}

.address-body h4 {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0 0 15px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #fe9234;
}

.address-body address {
    font-style: normal;
    line-height: 1.8;
    color: #555;
    margin: 0;
}

/* Footer de chaque adresse avec actions */
.address-footer {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid #e9ecef;
}

.address-actions {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.address-action-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fe9234 !important;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    padding: 8px 0;
    transition: color 0.3s ease;
    white-space: nowrap;
}

.address-action-link:hover {
    color: #e67e22 !important;
    text-decoration: none;
}

.address-action-link .material-icons {
    font-size: 18px;
    vertical-align: middle;
}

/* Footer principal avec liens de navigation */
.addresses-footer-main {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    justify-content: flex-start;
    margin-top: 40px;
    padding: 30px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    border-top: 2px solid #e9ecef;
}

.address-create-link,
.address-back-link,
.address-home-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fe9234 !important;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    padding: 10px 15px;
    transition: color 0.3s ease;
    white-space: nowrap;
}

.address-create-link:hover,
.address-back-link:hover,
.address-home-link:hover {
    color: #e67e22 !important;
    text-decoration: none;
}

.address-create-link .material-icons,
.address-back-link .material-icons,
.address-home-link .material-icons {
    font-size: 20px;
    vertical-align: middle;
}

/* Responsive pour mobile */
@media (max-width: 768px) {
    .addresses-page {
        padding: 15px;
    }
    
    .addresses-list {
        margin: 0 -10px 20px -10px;
    }
    
    .addresses-list > div {
        padding: 0 10px;
        margin-bottom: 20px;
        width: 100%;
        justify-content: flex-start;
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .address {
        padding: 20px;
    }
    
    .address-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        padding: 20px;
    }
    
    .addresses-footer-main {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        padding: 20px;
    }
    
    .address-create-link,
    .address-back-link,
    .address-home-link {
        width: 100%;
        justify-content: flex-start;
        white-space: nowrap;
}
}
