.elementor-shortcode {
    display: flex;
    gap: 48px;
}

@media (max-width: 990px){
    .woocommerce-cart .elementor-shortcode{
        flex-direction: column;
        gap: 24px;
    }
    .woocommerce-cart .elementor-shortcode > *{
        width: 100%;
    }
}

.woocommerce-cart .cart_totals {
    margin-top: 0;
    background: transparent;
    border: 1px solid black;
    padding: 48px;
}

.shop_table tr {
    border: 0;
    border-color: #000000;
}

.cart-page-title {
    text-align: left;
}

/* Cache le doublon : celui juste sous .woocommerce (on garde la version dans .cart-collaterals) */
body.woocommerce-cart .woocommerce > .cart_totals { display: none !important; }
/* on masque le subtotal en mobile (optionnel) */
.woocommerce-cart .cart_item td.product-subtotal{ display:none !important; }
.woocommerce-cart-form__contents .product-subtotal {
    font-weight: 600;
    display: none;
}

.woocommerce-cart .product-name a {
    font-weight: 400;
    color: var(--bt-color-body-text, #212121);
    color: #0B0B16 !important;
    font-family: Playfair;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
}

/* ─────────────────────────────────────────────
   CART — MOBILE LAYOUT (≤ 767px)
   Transforme chaque ligne en "carte" lisible
   ───────────────────────────────────────────── */
@media (max-width: 767px){

    /* cacher l'entête du tableau */
    .woocommerce-cart table.shop_table thead{ display:none; }

    /* chaque ligne = grille 2 colonnes + 1 petite pour le bouton remove */
    .woocommerce-cart table.shop_table.cart tr.cart_item{
        display: grid;
        grid-template-columns: 88px 1fr auto; /* thumb | contenu | remove */
        grid-template-areas:
      "thumb name remove"
      "thumb price qty";
        gap: 10px 12px;
        align-items: center;
        border-bottom: 1px solid #0B0B16;
        padding: 12px 0;
    }

    /* IMPORTANT: on neutralise l'affichage table des cellules pour la grille */
    .woocommerce-cart table.shop_table.cart tr.cart_item > td,
    .woocommerce-cart table.shop_table.cart tr.cart_item > th{
        display: block;
        margin: 0; padding: 0;
        text-align: left;
    }

    /* zones */
    .woocommerce-cart .cart_item td.product-thumbnail{ grid-area: thumb; }
    .woocommerce-cart .cart_item th.product-name,
    .woocommerce-cart .cart_item td.product-name{ grid-area: name; align-self: start; }
    .woocommerce-cart .cart_item td.product-remove{ grid-area: remove; align-self: start; justify-self: end; }
    .woocommerce-cart .cart_item td.product-price{  grid-area: price; display:block !important; align-self: end; }
    .woocommerce-cart .cart_item td.product-quantity{ grid-area: qty; justify-self: end; align-self: end; }

    /* on masque le subtotal en mobile (optionnel) */
    .woocommerce-cart .cart_item td.product-subtotal{ display:none !important; }

    /* vignette */
    .woocommerce-cart .cart_item td.product-thumbnail a,
    .woocommerce-cart .cart_item td.product-thumbnail img{
        display:block; width:88px; height:88px; object-fit:cover;
    }

    /* nom produit + variations */
    .woocommerce-cart .cart_item .product-name a{
        display:block;
        font-family:'Playfair', serif;
        font-size:16px;
        line-height:1.2;
        text-transform:uppercase;
        color:#0B0B16;
        text-decoration:none;
        word-break:break-word;
    }
    .woocommerce-cart .cart_item .product-name .variation{
        margin-top:4px;
        font-size:12px;
        opacity:.75;
    }

    /* bouton remove (le “x”) */
    .woocommerce-cart .cart_item .product-remove .remove{
        display:inline-flex; width:28px; height:28px;
        align-items:center; justify-content:center;
        border:1px solid #0B0B16; border-radius:50%;
        line-height:1; font-size:18px; text-decoration:none; color:#0B0B16;
    }

    /* prix unitaire à gauche de la 2e ligne */
    .woocommerce-cart .cart_item td.product-price{
        font-family:"Bellota Text";
        font-size:14px;
        opacity:.85;
    }

    /* quantité à droite de la 2e ligne — gros boutons tactiles */
    .woocommerce-cart .cart_item td.product-quantity .quantity{
        display:grid;
        grid-auto-flow:column;
        grid-template-columns: 50px 48px 50px; /* - | input | + */
        align-items:center; gap:0;
        border: 0;
        padding-right: 24px;
    }
    .woocommerce-cart-form .quantity .botiga-quantity-plus,
    .woocommerce-cart-form .quantity .botiga-quantity-minus{
        display:inline-flex; align-items:center; justify-content:center;
        width:50px; height:50px;
        font-size:1.2rem; line-height:1; padding:0;
        border:1px solid #0B0B16; box-sizing:border-box; text-decoration:none; color:#0B0B16;
    }
    .woocommerce-cart-form .quantity .input-text.qty{
        width:48px; height:50px; min-height:50px;
        text-align:center; padding:0; margin:0; box-sizing:border-box;
        border-top:1px solid #0B0B16; border-bottom:1px solid #0B0B16; border-left:none; border-right:none;
    }

    /* ligne actions (coupon / update) en pile */
    .woocommerce-cart table.shop_table tr td.actions{
        display:grid; gap:10px; padding-top:16px;
    }
    .woocommerce-cart .cart .actions .coupon{
        gap: 8px;
        display: flex;
        flex-direction: column;
        height: 24px;
    }

    .woocommerce-cart .cart .actions .coupon input.input-text{ width:100%; }
    .woocommerce-cart .cart .actions .button[name="update_cart"]{ width:100%; justify-self:stretch; }

    #coupon_code+.button {
        border-top-left-radius: 0 !important;
        border-bottom-left-radius: 0 !important;
        padding: 13px;
    }
}