/* =========================================================
   NULUYAFIT - CART PREMIUM 2026
   Cart Layout Fashion-2 / WoodMart Cart Builder
   Scope strict : page panier uniquement
   ========================================================= */

.woocommerce-cart .elementor-1443 {
    --nuluya-cart-bg: #FAFAFA;
    --nuluya-cart-field-bg: #FFFFFF;
    --nuluya-cart-border: #111111;
    --nuluya-cart-soft-border: rgba(17, 17, 17, 0.26);
    --nuluya-cart-strong-border: rgba(17, 17, 17, 0.36);
    --nuluya-cart-muted: rgba(17, 17, 17, 0.56);
    --nuluya-cart-radius: 18px;
    --nuluya-cart-field-radius: 12px;
}

/* =========================================================
   1. GRANDS CADRES PANIER
   ========================================================= */

.woocommerce-cart .elementor-1443 .elementor-element-15352db,
.woocommerce-cart .elementor-1443 .elementor-element-631037a9 {
    background: var(--nuluya-cart-bg) !important;
    border: 1.5px solid var(--nuluya-cart-border) !important;
    border-radius: var(--nuluya-cart-radius) !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.035) !important;
}

/* =========================================================
   2. TITRES DES BLOCS
   ========================================================= */

.woocommerce-cart .elementor-1443 .woodmart-title-container,
.woocommerce-cart .elementor-1443 .cart-totals-inner > h2 {
    color: #111111 !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    margin-bottom: 26px !important;
    padding-bottom: 18px !important;
    border-bottom: 1.5px solid var(--nuluya-cart-strong-border) !important;
}

/* =========================================================
   3. RESET PROPRE DES TABLEAUX PANIER / TOTAL
   Important : aucune bordure sur th/td pour éviter les doublons mobile
   ========================================================= */

.woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart,
.woocommerce-cart .elementor-1443 .cart_totals table.shop_table {
    background: transparent !important;
    border: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart thead,
.woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart tbody,
.woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart tr,
.woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart th,
.woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart td,
.woocommerce-cart .elementor-1443 .cart_totals table.shop_table tbody,
.woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr,
.woocommerce-cart .elementor-1443 .cart_totals table.shop_table th,
.woocommerce-cart .elementor-1443 .cart_totals table.shop_table td {
    border: none !important;
    box-shadow: none !important;
}

/* =========================================================
   4. SÉPARATEURS PROPRES DES SECTIONS
   Utilise background-image au lieu de border sur les cellules
   pour éviter les lignes doublées en mobile
   ========================================================= */

/* Ligne sous l'en-tête Produit / Prix / Quantité / Sous-total */
.woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart thead tr {
    background-image: linear-gradient(var(--nuluya-cart-strong-border), var(--nuluya-cart-strong-border)) !important;
    background-repeat: no-repeat !important;
    background-position: left bottom !important;
    background-size: 100% 1.5px !important;
}

/* Ligne sous chaque produit */
.woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item {
    background-image: linear-gradient(var(--nuluya-cart-soft-border), var(--nuluya-cart-soft-border)) !important;
    background-repeat: no-repeat !important;
    background-position: left bottom !important;
    background-size: 100% 1.5px !important;
}

/* Ligne entre Sous-total et Expédition */
.woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.cart-subtotal {
    background-image: linear-gradient(var(--nuluya-cart-soft-border), var(--nuluya-cart-soft-border)) !important;
    background-repeat: no-repeat !important;
    background-position: left bottom !important;
    background-size: 100% 1.5px !important;
}

/* Pas de ligne parasite dans Expédition */
.woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping {
    background-image: none !important;
}

/* Ligne forte avant Total */
.woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.order-total {
    background-image: linear-gradient(#111111, #111111) !important;
    background-repeat: no-repeat !important;
    background-position: left top !important;
    background-size: 100% 1.75px !important;
}

/* =========================================================
   5. TABLEAU PRODUIT
   ========================================================= */

.woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart thead th {
    color: #111111 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    padding: 18px 14px !important;
    background: transparent !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td {
    background: transparent !important;
    padding: 26px 14px !important;
    vertical-align: middle !important;
}

/* Image produit */
.woocommerce-cart .elementor-1443 .woocommerce-cart-form .product-thumbnail img {
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06) !important;
}

/* Nom produit */
.woocommerce-cart .elementor-1443 .woocommerce-cart-form .product-name a {
    color: #111111 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form .product-name a:hover {
    color: #000000 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* Variation produit */
.woocommerce-cart .elementor-1443 .woocommerce-cart-form .variation {
    margin-top: 8px !important;
    color: var(--nuluya-cart-muted) !important;
    font-size: 13px !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form .variation p {
    margin: 0 !important;
}

/* Prix et sous-total */
.woocommerce-cart .elementor-1443 .woocommerce-cart-form .product-price,
.woocommerce-cart .elementor-1443 .woocommerce-cart-form .product-subtotal {
    color: #111111 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

/* Important : on ne style pas .product-remove a.remove
   pour garder la croix native WoodMart/WooCommerce */

/* =========================================================
   6. QUANTITÉ PANIER
   ========================================================= */

.woocommerce-cart .elementor-1443 .woocommerce-cart-form div.quantity {
    border: 1.5px solid #111111 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    height: 42px !important;
    min-height: 42px !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form div.quantity input.qty {
    height: 42px !important;
    min-height: 42px !important;
    line-height: 42px !important;
    border: none !important;
    background: #ffffff !important;
    color: #111111 !important;
    font-weight: 600 !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form div.quantity .minus,
.woocommerce-cart .elementor-1443 .woocommerce-cart-form div.quantity .plus {
    height: 42px !important;
    min-height: 42px !important;
    line-height: 42px !important;
    background: #ffffff !important;
    color: #111111 !important;
    border: none !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form div.quantity .minus:hover,
.woocommerce-cart .elementor-1443 .woocommerce-cart-form div.quantity .plus:hover {
    background: #111111 !important;
    color: #ffffff !important;
}

/* =========================================================
   7. CODE PROMO
   ========================================================= */

.woocommerce-cart .elementor-1443 .woocommerce-cart-form tr.wd-cart-action-row {
    background-image: none !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form tr.wd-cart-action-row td.actions {
    padding: 30px 0 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form .coupon.wd-coupon-form {
    display: flex !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
}

/* Champ coupon */
.woocommerce-cart .elementor-1443 .woocommerce-cart-form #coupon_code {
    background: #ffffff !important;
    border: 2px solid #111111 !important;
    border-radius: 12px !important;
    color: #111111 !important;
    min-height: 52px !important;
    padding: 14px 17px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form #coupon_code::placeholder {
    color: rgba(17, 17, 17, 0.48) !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form #coupon_code:focus {
    outline: none !important;
    border-color: #000000 !important;
    box-shadow: 0 0 0 4px rgba(17, 17, 17, 0.08) !important;
}

/* Bouton coupon */
.woocommerce-cart .elementor-1443 .woocommerce-cart-form .coupon.wd-coupon-form button[name="apply_coupon"] {
    background: #111111 !important;
    color: #ffffff !important;
    border: 2px solid #111111 !important;
    border-radius: 12px !important;
    min-height: 52px !important;
    padding: 14px 26px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.10) !important;
    transition: all 0.18s ease !important;
}

.woocommerce-cart .elementor-1443 .woocommerce-cart-form .coupon.wd-coupon-form button[name="apply_coupon"]:hover {
    background: #ffffff !important;
    color: #111111 !important;
    border-color: #111111 !important;
}

/* =========================================================
   8. TOTAL PANIER
   ========================================================= */

.woocommerce-cart .elementor-1443 .cart_totals,
.woocommerce-cart .elementor-1443 .cart-totals-inner {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.woocommerce-cart .elementor-1443 .cart_totals table.shop_table {
    background: transparent !important;
    border: none !important;
    margin-bottom: 28px !important;
}

.woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr th,
.woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr td {
    background: transparent !important;
    padding: 20px 0 !important;
    color: #111111 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    vertical-align: top !important;
    border: none !important;
    box-shadow: none !important;
}

.woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.order-total th,
.woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.order-total td {
    padding-top: 24px !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Texte livraison */
.woocommerce-cart .elementor-1443 .cart_totals .woocommerce-shipping-destination {
    color: rgba(17, 17, 17, 0.58) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    margin-top: 8px !important;
    border: none !important;
    box-shadow: none !important;
}

.woocommerce-cart .elementor-1443 .cart_totals .woocommerce-shipping-methods,
.woocommerce-cart .elementor-1443 .cart_totals .woocommerce-shipping-methods li,
.woocommerce-cart .elementor-1443 .cart_totals .woocommerce-shipping-methods label,
.woocommerce-cart .elementor-1443 .cart_totals .shipping-calculator-button,
.woocommerce-cart .elementor-1443 .cart_totals .shipping-calculator-form {
    border: none !important;
    box-shadow: none !important;
}

/* =========================================================
   9. BOUTON VALIDATION COMMANDE
   ========================================================= */

.woocommerce-cart .elementor-1443 .wc-proceed-to-checkout .checkout-button {
    width: 100% !important;
    min-height: 56px !important;
    border-radius: 12px !important;
    background: #111111 !important;
    color: #ffffff !important;
    border: 2px solid #111111 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12) !important;
    transition: all 0.18s ease !important;
}

.woocommerce-cart .elementor-1443 .wc-proceed-to-checkout .checkout-button:hover {
    background: #ffffff !important;
    color: #111111 !important;
    border-color: #111111 !important;
}

/* =========================================================
   10. INFO BOXES SOUS PANIER
   ========================================================= */

.woocommerce-cart .elementor-1443 .elementor-element-aaf0a4c,
.woocommerce-cart .elementor-1443 .elementor-element-142bbd5,
.woocommerce-cart .elementor-1443 .elementor-element-eb0d47f {
    background: var(--nuluya-cart-bg) !important;
    border: 1px solid rgba(17, 17, 17, 0.14) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.025) !important;
}

/* =========================================================
   11. RESPONSIVE MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .woocommerce-cart .elementor-1443 .elementor-element-15352db,
    .woocommerce-cart .elementor-1443 .elementor-element-631037a9 {
        padding: 24px 18px !important;
        border-radius: 14px !important;
    }

    .woocommerce-cart .elementor-1443 .woodmart-title-container,
    .woocommerce-cart .elementor-1443 .cart-totals-inner > h2 {
        font-size: 20px !important;
        margin-bottom: 22px !important;
    }

    /* En mobile, WoodMart masque souvent le thead : on le garde caché */
    .woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart thead {
        display: none !important;
    }

    /* Nettoyage complet des bordures cellulaires en mobile */
    .woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart,
    .woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart tbody,
    .woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart tr,
    .woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart th,
    .woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart td,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tbody,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table th,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table td {
        border: none !important;
        box-shadow: none !important;
    }

    /* Produit : une seule séparation sous le produit complet */
    .woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item {
        background-image: linear-gradient(var(--nuluya-cart-soft-border), var(--nuluya-cart-soft-border)) !important;
        background-repeat: no-repeat !important;
        background-position: left bottom !important;
        background-size: 100% 1.5px !important;
    }

    .woocommerce-cart .elementor-1443 .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item td {
        padding: 16px 0 !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* Coupon en colonne */
    .woocommerce-cart .elementor-1443 .woocommerce-cart-form .coupon.wd-coupon-form {
        flex-direction: column !important;
    }

    .woocommerce-cart .elementor-1443 .woocommerce-cart-form .coupon.wd-coupon-form button[name="apply_coupon"],
    .woocommerce-cart .elementor-1443 .woocommerce-cart-form #coupon_code {
        width: 100% !important;
    }

    /* Total mobile : chaque ligne devient une section propre */
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.cart-subtotal,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.order-total {
        display: block !important;
        position: relative !important;
        padding: 18px 0 !important;
        border: none !important;
        box-shadow: none !important;
    }

    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.cart-subtotal th,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.cart-subtotal td,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping th,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping td,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.order-total th,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.order-total td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
        text-align: left !important;
    }

    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.cart-subtotal td,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping td,
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.order-total td {
        margin-top: 8px !important;
    }

    /* Supprime les labels responsive WooCommerce qui peuvent créer un doublon visuel */
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table_responsive tr td::before {
        display: none !important;
        content: none !important;
    }

    /* Séparateur sous Sous-total */
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.cart-subtotal {
        background-image: linear-gradient(var(--nuluya-cart-soft-border), var(--nuluya-cart-soft-border)) !important;
        background-repeat: no-repeat !important;
        background-position: left bottom !important;
        background-size: 100% 1.5px !important;
    }

    /* Expédition : pas de ligne interne, seulement la ligne forte avant Total */
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.woocommerce-shipping-totals.shipping {
        background-image: none !important;
    }

    /* Total : ligne forte unique au-dessus */
    .woocommerce-cart .elementor-1443 .cart_totals table.shop_table tr.order-total {
        background-image: linear-gradient(#111111, #111111) !important;
        background-repeat: no-repeat !important;
        background-position: left top !important;
        background-size: 100% 1.75px !important;
    }

    .woocommerce-cart .elementor-1443 .cart_totals .woocommerce-shipping-methods,
    .woocommerce-cart .elementor-1443 .cart_totals .woocommerce-shipping-methods li,
    .woocommerce-cart .elementor-1443 .cart_totals .woocommerce-shipping-methods label,
    .woocommerce-cart .elementor-1443 .cart_totals .woocommerce-shipping-destination,
    .woocommerce-cart .elementor-1443 .cart_totals .shipping-calculator-button,
    .woocommerce-cart .elementor-1443 .cart_totals .shipping-calculator-form {
        border: none !important;
        box-shadow: none !important;
    }
}