/* ═══ GV · carrello a due colonne (riferimento: dolcisogni) ═══ */
.gv.gv-woo--cart .woocommerce {
    display: grid !important; grid-template-columns: minmax(0, 1fr) 390px; gap: 28px; align-items: start;
}
.gv.gv-woo--cart .woocommerce > .woocommerce-notices-wrapper, .gv.gv-woo--cart .woocommerce > .woocommerce-message,
.gv.gv-woo--cart .woocommerce > .woocommerce-info, .gv.gv-woo--cart .woocommerce > .woocommerce-error,
.gv.gv-woo--cart .woocommerce > .cart-empty, .gv.gv-woo--cart .woocommerce > .return-to-shop { grid-column: 1 / -1; }
.gv.gv-woo--cart .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }

/* riquadri */
.gv.gv-woo--cart .woocommerce-cart-form, .gv.gv-woo--cart .cart-collaterals .cart_totals {
    background: #fff; border: 1px solid var(--gv-line) !important; border-radius: 18px !important; padding: 30px 28px !important;
    box-shadow: 0 18px 40px -30px rgba(92, 17, 28, .35) !important; margin: 0 !important;
}
.gv.gv-woo--cart .woocommerce-cart-form::before {
    content: "✦  Riepilogo carrello"; display: block; font-family: var(--gv-serif); font-size: 28px; font-weight: 500; color: var(--gv-ink);
    margin: 0 0 18px; line-height: 1.2;
}
.gv.gv-woo--cart .cart-collaterals { display: block !important; width: auto !important; position: sticky; top: 110px; }
.gv.gv-woo--cart .cart-collaterals .cart_totals { width: 100% !important; max-width: none; float: none !important; }
.gv.gv-woo--cart .cart-collaterals .cart_totals::before { display: none !important; }
.gv.gv-woo--cart .cart-collaterals .cart_totals h2 { font-size: 28px !important; margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; }
.gv.gv-woo--cart .cart-collaterals .cart_totals h2::before { content: "✦  "; color: var(--gv-gold); }

/* tabella prodotti: niente cornice, intestazioni leggere, righe a fascia crema */
.gv.gv-woo--cart table.shop_table.cart { border: 0 !important; border-radius: 0 !important; background: transparent !important; border-collapse: separate !important; border-spacing: 0 10px !important; margin: -10px 0 0 !important; }
.gv.gv-woo--cart table.shop_table.cart thead th { background: transparent !important; padding: 6px 14px !important; font-size: 11px !important; color: var(--gv-ink-2) !important; }
.gv.gv-woo--cart table.shop_table.cart tr.cart_item td { background: var(--gv-cream) !important; border: 0 !important; padding: 16px 14px !important; }
.gv.gv-woo--cart table.shop_table.cart tr.cart_item td:first-child { border-radius: 14px 0 0 14px; }
.gv.gv-woo--cart table.shop_table.cart tr.cart_item td:last-child { border-radius: 0 14px 14px 0; }
.gv.gv-woo--cart table.shop_table.cart td.product-thumbnail img { width: 76px !important; height: 76px; object-fit: cover; border-radius: 12px !important; background: #fff; border: 1px solid var(--gv-line); }
.gv.gv-woo--cart table.shop_table.cart td.product-name a { font-size: 19px !important; line-height: 1.3; }
.gv.gv-woo--cart table.shop_table.cart td.product-price .amount { color: var(--gv-ink-2); font-weight: 500; }
.gv.gv-woo--cart table.shop_table.cart td.product-subtotal .amount { font-family: var(--gv-serif); font-size: 21px; color: var(--gv-bx); font-weight: 500; }
.gv.gv-woo--cart table.shop_table.cart .quantity input.qty {
    width: 64px !important; height: 44px !important; min-height: 44px; border-radius: 999px !important; text-align: center; background: #fff !important; font-weight: 600;
}
.gv.gv-woo--cart table.shop_table.cart a.remove { background: #fff !important; }
/* riga codice / aggiorna */
.gv.gv-woo--cart table.shop_table.cart td.actions { background: transparent !important; border: 0 !important; padding: 8px 0 0 !important; }
.gv.gv-woo--cart table.shop_table.cart td.actions .coupon input#coupon_code { border-radius: 999px !important; width: 190px !important; min-height: 44px !important; }
.gv.gv-woo--cart table.shop_table.cart td.actions { padding: 6px 0 0 !important; }
.gv.gv-woo--cart table.shop_table.cart td.actions .coupon { gap: 8px !important; margin: 0 !important; }
.gv.gv-woo--cart table.shop_table.cart td.actions .coupon .button, .gv.gv-woo--cart table.shop_table.cart td.actions > .button {
    padding: 13px 18px !important; letter-spacing: .1em !important; font-size: 12px !important; margin: 0 !important;
}
.gv.gv-woo--cart table.shop_table.cart td.actions > .button { margin-left: 12px !important; }
.gv.gv-woo--cart .cart-collaterals { margin: 0 !important; }
.gv.gv-woo--cart .woocommerce-cart-form { padding-bottom: 18px !important; }
.gv.gv-woo--cart table.shop_table.cart { margin-bottom: -10px !important; }
@media (max-width: 767px) {
    .gv.gv-woo--cart table.shop_table.cart td.actions .coupon { display: flex !important; flex-direction: column; float: none !important; width: 100%; }
    .gv.gv-woo--cart table.shop_table.cart td.actions .coupon .button, .gv.gv-woo--cart table.shop_table.cart td.actions > .button {
        width: 100% !important; float: none !important; margin: 0 !important; white-space: nowrap; box-sizing: border-box !important;
        align-self: stretch; position: static !important; left: auto !important; transform: none !important;
    }
    .gv.gv-woo--cart table.shop_table.cart td.actions .coupon input#coupon_code { box-sizing: border-box !important; margin: 0 !important; }
    .gv.gv-woo--cart table.shop_table.cart td.actions > .button { margin-top: 10px !important; }
}

/* totali: righe semplici con separatori tratteggiati */
.gv.gv-woo--cart .cart_totals table.shop_table { border: 0 !important; background: transparent !important; }
.gv.gv-woo--cart .cart_totals table.shop_table th, .gv.gv-woo--cart .cart_totals table.shop_table td {
    background: transparent !important; border: 0 !important; border-bottom: 1px dashed var(--gv-sand-2) !important; padding: 16px 0 !important; vertical-align: top;
}
.gv.gv-woo--cart .cart_totals table.shop_table th { width: 34%; font-family: var(--gv-sans) !important; font-size: 14px !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 600 !important; color: var(--gv-ink) !important; }
.gv.gv-woo--cart .cart_totals table.shop_table tr.order-total th, .gv.gv-woo--cart .cart_totals table.shop_table tr.order-total td { border-bottom: 0 !important; vertical-align: middle; }
.gv.gv-woo--cart .cart_totals .order-total .amount { font-size: 34px !important; }
.gv.gv-woo--cart .cart_totals ul#shipping_method { margin: 0; padding: 0; }
.gv.gv-woo--cart .cart_totals ul#shipping_method li { margin: 0 0 6px; font-size: 14.5px; }
.gv.gv-woo--cart .cart_totals ul#shipping_method input[type="radio"] { accent-color: var(--gv-bx); }
.gv.gv-woo--cart .cart_totals .woocommerce-shipping-destination, .gv.gv-woo--cart .cart_totals .shipping-calculator-button { font-size: 13.5px; }
.gv.gv-woo--cart .cart_totals .shipping-calculator-button { color: var(--gv-bx) !important; font-weight: 600; }
.gv.gv-woo--cart .wc-proceed-to-checkout { padding: 18px 0 0 !important; }
.gv.gv-woo--cart .wc-proceed-to-checkout .checkout-button { width: 100%; display: block; text-align: center; font-size: 14px !important; padding: 18px 24px !important; }

@media (max-width: 1024px) {
    .gv.gv-woo--cart .woocommerce { grid-template-columns: minmax(0, 1fr); }
    .gv.gv-woo--cart .cart-collaterals { position: static; }
}
@media (max-width: 767px) {
    .gv.gv-woo--cart .woocommerce-cart-form, .gv.gv-woo--cart .cart-collaterals .cart_totals { padding: 22px 16px !important; border-radius: 14px !important; }
    .gv.gv-woo--cart .woocommerce-cart-form::before { font-size: 24px; }
    .gv.gv-woo--cart table.shop_table.cart { border-spacing: 0 !important; margin: 0 !important; }
    .gv.gv-woo--cart table.shop_table.cart tr.cart_item { display: block; background: var(--gv-cream); border-radius: 14px; margin-bottom: 12px; padding: 8px 0; position: relative; }
    .gv.gv-woo--cart table.shop_table.cart tr.cart_item td { background: transparent !important; border-radius: 0 !important; padding: 8px 14px !important; }
    .gv.gv-woo--cart table.shop_table.cart td.actions .coupon input#coupon_code { width: 100% !important; }
}
