/*
Theme Name: TMM
Template: hello-elementor
Author: N Digital
Version: 1.0.5
Updated:



/* ========= AFFICHAGE PAGE PRODUIT ===== */
.bundled_product_images.images,
.bundled_product_images.images,
.bundle_form .bundled_product figure.bundled_product_image,
.bundle_form .bundled_product .bundled_product_image,
.bundled_item_unavailable,
.bundle_form .bundled_product .stock,
.bundle_form .bundled_product .bundled_product_availability,
.bundle_form .bundled_product .price,
.bundle_form .bundled_products::before,
.bundle_form .bundled_products::after { 
    display: none !important; 
}
/*cache la dispo de la caisse en bois*/
.cart.unavailable_item[data-bundled_item_id="78487"] {
    display: none;
}

/* Structure du tableau en div */
.nd-bundle-table {
    width: 100%;
    border: 1px solid #eee;
    border-radius: 4px;
    overflow: hidden;
}

.nd-table-header .nd-col {
    padding: 12px 16px;
    font-size: 16px;
}

/* Corps du tableau */
.nd-table-body {
    background: white;
}
div.bundled_product_summary .details {
    float: unset !important;
    width: 100% !important;
}

.bundled_product_summary {
    padding-bottom: 0 !important;
	margin-bottom: 0!important;
}
/* Lignes du tableau */
.nd-table-row {
    display: flex;
    border-bottom: 1px solid #eee;
    align-items: center;
}

.nd-table-row:last-child {
    border-bottom: none;
}

/* Colonnes */
.nd-col {
    padding: 10px 16px;
}
.nd-col-product {
    flex: 1;
    min-width: 0; /* Pour permettre le text-overflow */
}
.nd-col-price {
    width: 120px;
    text-align: right;
    font-weight: 600;
}
.nd-col.nd-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    font-size: 25px;
}
.nd-title .eicon {
    line-height: 1;
    color: var(--e-global-color-b3bb6aa, #28a745);
    flex-shrink: 0;
}
.nd-title .nd-name {
    line-height: 1.3;
}

.nd-included {
    color: var(--e-global-color-b3bb6aa, #28a745);
    font-style: italic;
}

/* Responsive */
@media (max-width: 640px) {
    .nd-table-header {
        display: none; /* Masquer l'en-tête sur mobile */
    }
    
    .nd-table-row {
        flex-direction: column;
        align-items: stretch;
        padding: 12px 0;
    }
    
    .nd-col {
        padding: 4px 16px;
        width: 100% !important;
    }
    
    .nd-col-price {
        text-align: left;
        padding-left: 46px; /* Aligner avec le texte du produit */
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .nd-title .eicon {
        font-size: 18px;
    }
    
    .nd-title .nd-name {
        font-size: 14px;
    }
}


/* ===== BOUTON AJOUT AU PANIER - STYLE DE BASE ===== */

/* Cibler tous les boutons d'ajout au panier WooCommerce */
.woocommerce a.button.add_to_cart_button,
.woocommerce button.button.add_to_cart_button,
.woocommerce a.single_add_to_cart_button,
.woocommerce button.single_add_to_cart_button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background-color: #FF1515E3 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 18px 35px !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
    text-decoration: none !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}


/* ===== DISPOSITION HORIZONTALE : QUANTITÉ + BOUTON ===== */

/* Transformer le formulaire en conteneur flexible horizontal */
.woocommerce div.product form.cart,
.woocommerce .product form.cart {
    /* Flexbox pour aligner les éléments horizontalement */
    display: flex !important;
    
    /* Aligner les éléments sur la même ligne */
    flex-direction: row !important;
    
    /* Aligner verticalement au centre */
    align-items: center !important;
    
    /* Espace entre les éléments */
    gap: 15px !important;
    
    /* Permettre le retour à la ligne sur très petit écran */
    flex-wrap: wrap !important;
}

/* Conteneur de la quantité */
.woocommerce div.product form.cart .quantity,
.woocommerce .product form.cart .quantity {
    /* Largeur fixe pour le sélecteur de quantité */
    width: 120px !important;
    
    /* Retirer les marges par défaut */
    margin: 0 !important;
    
    /* Ne pas grandir ni rétrécir */
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
}

/* Le bouton dans le formulaire prend l'espace restant */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce .product form.cart .single_add_to_cart_button {
    /* Prendre tout l'espace restant */
    flex-grow: 1 !important;
    
    /* Largeur automatique (remplir l'espace) au lieu de 100% */
    width: auto !important;
    
    /* Retirer la marge */
    margin: 0 !important;
}


/* ===== STYLE DU CHAMP DE QUANTITÉ ===== */

/* Style du champ de quantité (input number) */
.woocommerce div.product form.cart .quantity .qty,
.woocommerce div.product form.cart .quantity input[type="number"],
.woocommerce .product form.cart .quantity .qty,
.woocommerce .product form.cart .quantity input[type="number"] {
    /* Largeur complète du conteneur */
    width: 100% !important;
    
    /* Hauteur pour correspondre au bouton (padding 18px x 2 + font-size) */
    height: 54px !important;
    
    /* Espacement intérieur */
    padding: 10px 15px !important;
    
    /* Bordure subtile */
    border: 2px solid #E0E0E0 !important;
    
    /* Coins arrondis pour correspondre au bouton */
    border-radius: 4px !important;
    
    /* Taille de police */
    font-size: 16px !important;
    
    /* Centrer le texte */
    text-align: center !important;
    
    /* Couleur de fond */
    background-color: #FFFFFF !important;
    
    /* Transition douce */
    transition: border-color 0.3s ease !important;
    
    /* S'assurer du box-sizing */
    box-sizing: border-box !important;
}

/* Au focus (quand on clique dans le champ) */
.woocommerce div.product form.cart .quantity .qty:focus,
.woocommerce div.product form.cart .quantity input[type="number"]:focus {
    /* Bordure rouge pour correspondre au bouton */
    border-color: #FF1515E3 !important;
    
    /* Retirer l'outline par défaut du navigateur */
    outline: none !important;
    
    /* Légère ombre pour effet visuel */
    box-shadow: 0 0 0 3px rgba(255, 21, 21, 0.1) !important;
}

/* Masquer le label "Quantité" pour gagner de l'espace */
.woocommerce div.product form.cart .quantity label,
.woocommerce .product form.cart .quantity label {
    display: none !important;
}


/* ===== EFFET AU SURVOL (HOVER) ===== */

/* Assombrir légèrement au survol pour feedback visuel */
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce button.button.add_to_cart_button:hover,
.woocommerce a.single_add_to_cart_button:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    /* Version plus foncée du rouge au survol */
    background-color: #CC0000 !important;
    
    /* Garder le texte blanc */
    color: #FFFFFF !important;
    
    /* Légère élévation visuelle (ombre) */
    box-shadow: 0 4px 8px rgba(255, 21, 21, 0.3) !important;
    
    /* Légère transformation pour effet dynamique */
    transform: translateY(-2px) !important;
}


/* ===== EFFET AU CLIC (ACTIVE) ===== */

/* Feedback visuel quand on clique sur le bouton */
.woocommerce a.button.add_to_cart_button:active,
.woocommerce button.button.add_to_cart_button:active,
.woocommerce a.single_add_to_cart_button:active,
.woocommerce button.single_add_to_cart_button:active,
.woocommerce #respond input#submit.alt:active,
.woocommerce a.button.alt:active,
.woocommerce button.button.alt:active,
.woocommerce input.button.alt:active {
    /* Enfoncer légèrement le bouton */
    transform: translateY(0px) !important;
    
    /* Réduire l'ombre */
    box-shadow: 0 2px 4px rgba(255, 21, 21, 0.2) !important;
}


/* ===== ÉTAT DÉSACTIVÉ ===== */

/* Style pour les boutons désactivés (rupture de stock, etc.) */
.woocommerce a.button.add_to_cart_button:disabled,
.woocommerce button.button.add_to_cart_button:disabled,
.woocommerce a.single_add_to_cart_button:disabled,
.woocommerce button.single_add_to_cart_button:disabled,
.woocommerce a.button.add_to_cart_button.disabled,
.woocommerce button.button.add_to_cart_button.disabled {
    /* Grisé pour indiquer qu'il n'est pas cliquable */
    background-color: #CCCCCC !important;
    
    /* Texte gris foncé */
    color: #666666 !important;
    
    /* Curseur par défaut (pas de pointeur) */
    cursor: not-allowed !important;
    
    /* Pas d'effet au survol */
    transform: none !important;
    box-shadow: none !important;
    
    /* Réduire l'opacité */
    opacity: 0.6 !important;
}


/* ===== BOUTON "VOIR LE PANIER" (après ajout) ===== */

/* Style pour le bouton qui apparaît après ajout au panier */
.woocommerce a.added_to_cart {
    /* Couleur de fond légèrement différente (optionnel) */
    background-color: #28a745 !important; /* Vert pour "succès" */
    
    /* Texte blanc */
    color: #FFFFFF !important;
    
    /* Bordure arrondie */
    border-radius: 4px !important;
    
    /* Espacement */
    padding: 8px 16px !important;
    margin-top: 10px !important;
    
    /* Style de texte */
    text-decoration: none !important;
    font-weight: 600 !important;
    
    /* Affichage */
    display: inline-block !important;
    
    /* Transition */
    transition: all 0.3s ease !important;
}

.woocommerce a.added_to_cart:hover {
    background-color: #218838 !important;
    box-shadow: 0 4px 8px rgba(40, 167, 69, 0.3) !important;
}


/* ===== ADAPTATIONS RESPONSIVES ===== */

/* Sur mobile (écrans < 768px) */
@media screen and (max-width: 768px) {
    .woocommerce a.button.add_to_cart_button,
    .woocommerce button.button.add_to_cart_button,
    .woocommerce a.single_add_to_cart_button,
    .woocommerce button.single_add_to_cart_button {
        /* Déjà à 100% de largeur sur desktop, on garde */
        width: 100% !important;
        
        /* MODIFICATION : Padding légèrement réduit sur mobile mais toujours généreux */
        padding: 16px 24px !important;
        
        /* MODIFICATION : Taille de police légèrement réduite sur mobile */
        font-size: 16px !important;
    }
    
    /* Sur mobile, garder l'affichage horizontal mais ajusté */
    .woocommerce div.product form.cart,
    .woocommerce .product form.cart {
        /* Garder le flex mais permettre le wrap */
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    
    /* Quantité légèrement plus petite sur mobile */
    .woocommerce div.product form.cart .quantity,
    .woocommerce .product form.cart .quantity {
        width: 100px !important;
    }
    
    /* Champ de quantité adapté pour mobile */
    .woocommerce div.product form.cart .quantity .qty,
    .woocommerce div.product form.cart .quantity input[type="number"] {
        height: 50px !important;
        font-size: 14px !important;
        padding: 8px 10px !important;
    }
}

/* Sur très petits écrans (< 480px), passer en vertical */
@media screen and (max-width: 480px) {
    .woocommerce div.product form.cart,
    .woocommerce .product form.cart {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    
    .woocommerce div.product form.cart .quantity,
    .woocommerce .product form.cart .quantity {
        width: 100% !important;
        margin-bottom: 10px !important;
    }
    
    .woocommerce div.product form.cart .single_add_to_cart_button {
        width: 100% !important;
    }
}


/* ===== CORRECTIONS POUR CERTAINS THÈMES ===== */

/* Forcer le style même si le thème a des règles spécifiques */
.woocommerce .product .add_to_cart_button,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button {
    background-color: #FF1515E3 !important;
    color: #FFFFFF !important;
}

/* Au survol pour ces sélecteurs spécifiques */
.woocommerce .product .add_to_cart_button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce div.product form.cart .button:hover {
    background-color: #CC0000 !important;
    color: #FFFFFF !important;
}


/* ===== ICÔNE PANIER (si présente) ===== */

/* Styliser l'icône du panier si elle existe dans le bouton */
.woocommerce button.button.add_to_cart_button::before,
.woocommerce a.button.add_to_cart_button::before {
    color: #FFFFFF !important;
}


/* ===== PRODUITS VARIABLES (avec variations) ===== */

/* Les variations restent au-dessus, seuls quantité + bouton sont côte à côte */
.woocommerce div.product form.cart .variations {
    width: 100% !important;
    margin-bottom: 20px !important;
}

.woocommerce div.product form.cart .variations td {
    display: block !important;
    width: 100% !important;
}

/* Conteneur pour les variations */
.woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
}

.woocommerce-variation-add-to-cart .quantity {
    width: 120px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

.woocommerce-variation-add-to-cart .single_add_to_cart_button {
    flex-grow: 1 !important;
    width: auto !important;
}


.woocommerce div.product form.cart .quantity .minus,
.woocommerce div.product form.cart .quantity .plus {
    width: 35px !important;
    height: 35px !important;
    text-align: center !important;
    line-height: 35px !important;
    background-color: #F5F5F5 !important;
    border: 1px solid #E0E0E0 !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.woocommerce div.product form.cart .quantity .minus:hover,
.woocommerce div.product form.cart .quantity .plus:hover {
    background-color: #FF1515E3 !important;
    color: #FFFFFF !important;
    border-color: #FF1515E3 !important;
}

.woocommerce div.product p.stock {
    font-size: 1.5em;
}