/* ==========================================================================
   Shopimy : mise en page du panier (chargé uniquement sur /panier/).
   ========================================================================== */

/* ---------- Grille générale ---------- */
.woocommerce-cart .sh-page__head h1 { margin-bottom: .4em; }
@media (min-width: 960px) {
	.woocommerce-cart .sh-page--shop .woocommerce:has(.woocommerce-cart-form) { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 0 36px; align-items: start; }
	.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1; }
	.woocommerce-cart .woocommerce-cart-form { grid-column: 1; }
	.woocommerce-cart .cart-collaterals { grid-column: 2; grid-row: 1 / span 4; position: sticky; top: calc(var(--header-h) + 24px); }
}
.woocommerce-cart .cart-collaterals, .woocommerce-cart .cart-collaterals .cart_totals { float: none !important; width: 100% !important; }
.woocommerce-cart .cart-collaterals .cross-sells { display: none; }

/* ---------- Articles ---------- */
.woocommerce-cart table.shop_table.cart { display: block; margin: 0 0 16px !important; }
.woocommerce-cart table.cart thead { display: none; }
.woocommerce-cart table.cart tbody { display: block; }
.woocommerce-cart table.cart tr.cart_item {
	display: grid; align-items: center; gap: 4px 18px; padding: 20px;
	grid-template-columns: 88px minmax(0, 1fr) auto auto 36px;
	grid-template-areas: "thumb name qty sub remove" "thumb price qty sub remove";
}
.woocommerce-cart table.cart tr.cart_item + tr.cart_item { border-top: 1px solid var(--border); }
.woocommerce-cart table.cart td { display: block; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; }
.woocommerce-cart table.cart td::before { display: none !important; }
.woocommerce-cart table.cart td.product-thumbnail { grid-area: thumb; }
.woocommerce-cart table.cart td.product-thumbnail img { width: 88px !important; height: 88px; object-fit: cover; border-radius: 14px; }
.woocommerce-cart table.cart td.product-name { grid-area: name; align-self: end; }
.woocommerce-cart table.cart td.product-name a { color: var(--fg); font: 600 1.0625rem/1.3 var(--font-head); text-decoration: none; }
.woocommerce-cart table.cart td.product-name a:hover { color: var(--primary); }
.woocommerce-cart table.cart td.product-price { grid-area: price; align-self: start; color: var(--fg-soft); font-size: .875rem; }
.woocommerce-cart table.cart td.product-price::after { content: " l'unité"; }
.woocommerce-cart table.cart td.product-quantity { grid-area: qty; }
.woocommerce-cart table.cart td.product-subtotal { grid-area: sub; font-weight: 600; font-size: 1.0625rem; min-width: 84px; text-align: right !important; }
.woocommerce-cart table.cart td.product-remove { grid-area: remove; justify-self: end; }
.woocommerce-cart table.cart a.remove { display: inline-flex !important; align-items: center; justify-content: center; width: 36px !important; height: 36px !important; border-radius: 999px; font-size: 1.375rem !important; font-weight: 400 !important; line-height: 1 !important; }
.woocommerce-cart .quantity .qty { width: 76px; min-height: 44px; font-weight: 600; }

/* Ligne d'actions : code promo + bouton de mise à jour (masqué quand le JS est actif) */
.woocommerce-cart table.cart tr:last-child { display: block; }
.woocommerce-cart table.cart td.actions { display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 20px !important; border-top: 1px solid var(--border) !important; }
.woocommerce-cart td.actions .coupon { display: flex; flex: 1 1 100%; gap: 8px; float: none !important; }
.woocommerce-cart td.actions .coupon.is-collapsed { display: none; }
.woocommerce-cart td.actions .coupon .input-text { flex: 1; width: auto !important; min-width: 0; min-height: 46px; padding: 0 16px !important; border: 1px solid var(--border) !important; border-radius: 999px !important; background: var(--bg) !important; font-size: .9375rem; }
.woocommerce-cart td.actions .coupon .button { min-height: 46px !important; padding: 10px 20px !important; font-size: .9375rem !important; white-space: nowrap; }
.sh-coupon-toggle { padding: 4px 0; border: 0; background: none; color: var(--primary); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
html:not(.no-js) .sh-cart-auto [name="update_cart"] { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; }
.woocommerce-cart td.actions > .button[name="update_cart"] { margin-left: auto; }

/* Suggestion offre duo */
.sh-cart-duo { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; padding: 16px 20px; border: 1.5px dashed var(--primary); border-radius: var(--radius-sm); background: var(--card); }
.sh-cart-duo p { margin: 0; display: flex; flex-direction: column; gap: 2px; }
.sh-cart-duo span { font-size: .875rem; color: var(--fg-soft); }
.sh-cart-duo .sh-btn { flex: none; }

/* ---------- Récapitulatif ---------- */
.woocommerce-cart .cart_totals { padding: 24px !important; }
.woocommerce-cart .cart_totals h2 { font-size: 1.375rem; margin-bottom: 12px; }
.woocommerce-cart .cart_totals table.shop_table { display: block; border-radius: 0 !important; margin: 0 0 20px !important; }
.woocommerce-cart .cart_totals table tbody { display: block; }
.woocommerce-cart .cart_totals table tr { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; border-top: 1px solid var(--border); }
.woocommerce-cart .cart_totals table tr:first-child { border-top: 0; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td { padding: 0 !important; border: 0 !important; background: none !important; font-weight: 400; }
.woocommerce-cart .cart_totals table td { text-align: right !important; }
.woocommerce-cart .cart_totals table td::before { display: none !important; }
.woocommerce-cart .cart_totals tr.cart-discount td { color: var(--ok); font-weight: 600; }
.woocommerce-cart .cart_totals tr.cart-discount th { font-size: .9375rem; }
.woocommerce-cart .cart_totals #shipping_method { list-style: none; margin: 0 !important; padding: 0 !important; }
.woocommerce-cart .cart_totals #shipping_method li { margin: 0 !important; }
.woocommerce-cart .cart_totals #shipping_method label { color: var(--ok); font-weight: 600; }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination { display: none; }
.woocommerce-cart .cart_totals tr.order-total { padding-top: 16px; border-top: 1.5px solid var(--fg); }
.woocommerce-cart .cart_totals tr.order-total th { font: 600 1.125rem/1.2 var(--font-head); }
.woocommerce-cart .cart_totals tr.order-total td strong { font: 600 1.5rem/1.1 var(--font-head); }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display: flex !important; width: 100%; min-height: 56px; margin: 0 0 12px !important; font-size: 1.0625rem !important; }
.woocommerce-cart .wc-proceed-to-checkout .ppc-button-wrapper { margin-top: 4px; }
.woocommerce-cart .sh-checkout-trust { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); }
.sh-cart-back { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; font-size: .9375rem; font-weight: 500; text-decoration: none; }

/* ---------- Mobile ---------- */
@media (max-width: 699px) {
	.woocommerce-cart table.cart tr.cart_item {
		padding: 16px; gap: 2px 14px;
		grid-template-columns: 76px minmax(0, 1fr) 36px;
		grid-template-areas: "thumb name remove" "thumb price remove" "thumb qty sub";
	}
	.woocommerce-cart table.cart td.product-thumbnail { align-self: start; }
	.woocommerce-cart table.cart td.product-thumbnail img { width: 76px !important; height: 76px; }
	.woocommerce-cart table.cart td.product-name a { font-size: 1rem; }
	.woocommerce-cart table.cart td.product-quantity { margin-top: 8px; }
	.woocommerce-cart table.cart td.product-subtotal { align-self: end; margin-top: 8px; grid-column: 3 / 4; justify-self: end; min-width: 0; white-space: nowrap; }
	.woocommerce-cart table.cart tr.cart_item { grid-template-areas: "thumb name remove" "thumb price remove" "thumb qty qty"; }
	.woocommerce-cart table.cart td.product-subtotal { grid-area: qty; justify-self: end; }
	.woocommerce-cart td.actions { padding: 14px 16px !important; }
	.woocommerce-cart td.actions .coupon .button { padding: 10px 16px !important; }
	.sh-cart-duo { flex-direction: column; align-items: stretch; text-align: left; }
	.woocommerce-cart .cart_totals { padding: 20px !important; }
}

.woocommerce-cart .cart_totals table th { flex: 1 1 auto; }
.woocommerce-cart .cart_totals table td { flex: 0 1 auto; max-width: 62%; }
.woocommerce-cart .cart_totals tr.cart-discount td, .woocommerce-cart .cart_totals tr.cart-subtotal td { white-space: nowrap; }
