/**
 * WooCommerce cart (block + classic) — loaded after WC block styles.
 * High-specificity / !important overrides for front-end block cart.
 */

/* Layout */
body.woocommerce-cart,
body.page-template-default.woocommerce-cart {
	--lh-cart-max-width: 1280px;
	--lh-cart-gutter: clamp(1rem, 3vw, 2.5rem);
	--lh-cart-red: #c22026;
	--lh-cart-red-hover: #a91b20;
}

body.woocommerce-cart .site-main,
.wp-block-woocommerce-cart {
	padding-top: clamp(2rem, 4vw, 4rem);
	padding-bottom: clamp(2.5rem, 5vw, 5rem);
}

body.woocommerce-cart .site-main > .container {
	max-width: var(--lh-cart-max-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--lh-cart-gutter) !important;
	padding-right: var(--lh-cart-gutter) !important;
	box-sizing: border-box !important;
}

body.woocommerce-cart .entry-content,
body.woocommerce-cart .entry-content > .woocommerce {
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Delivery calculation disclaimer — top of cart */
.lighthouse-cart-delivery-notice,
.lighthouse-cart-delivery-notice--calculation {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
	padding: clamp(0.875rem, 2vw, 1.125rem) clamp(1rem, 2.5vw, 1.25rem);
	border: 1px solid #e5e7eb;
	border-left: 4px solid #6cb4ee;
	border-radius: 6px;
	background: #ffffff;
	color: #111111;
	font-family: var(--font-family-primary, 'Roboto', sans-serif);
	font-size: 0.9375rem;
	line-height: 1.55;
}

.lighthouse-cart-delivery-notice--separate-delivery {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
	padding: clamp(0.875rem, 2vw, 1.125rem) clamp(1rem, 2.5vw, 1.25rem);
	border: 1px solid #e5e7eb;
	border-left: 4px solid var(--lh-cart-red, #c22026);
	border-radius: 6px;
	background: #ffffff;
	color: #111111;
	font-family: var(--font-family-primary, 'Roboto', sans-serif);
	font-size: 0.9375rem;
	line-height: 1.55;
}

.lighthouse-cart-delivery-notice__title {
	margin: 0 0 0.5rem;
	color: #111111;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
}

.lighthouse-cart-delivery-notice__text {
	margin: 0;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

/* Block cart — cancel theme alignwide/full-bleed */
body.woocommerce-cart .entry-content > .wp-block-woocommerce-cart,
body.woocommerce-cart .entry-content .wp-block-woocommerce-cart.alignwide,
body.woocommerce-cart .entry-content .wp-block-woocommerce-cart.alignfull,
body.woocommerce-cart .content-wrapper .wp-block-woocommerce-cart.alignwide,
body.woocommerce-cart .content-wrapper .wp-block-woocommerce-cart.alignfull,
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-cart.alignfull {
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100% !important;
	max-width: var(--lh-cart-max-width) !important;
	padding-left: var(--lh-cart-gutter) !important;
	padding-right: var(--lh-cart-gutter) !important;
	box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart,
.wp-block-woocommerce-cart .wc-block-cart {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart__main.container,
body.woocommerce-cart .wc-block-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-cart__main.container,
.wp-block-woocommerce-cart .wc-block-cart__main {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-cart .wc-block-cart__sidebar {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Proceed to checkout — theme red (beats WC packages + global styles) */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button,
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button,
.wp-block-woocommerce-cart a.wc-block-cart__submit-button.wp-element-button,
.wc-block-cart .wc-block-cart__submit-container .wc-block-cart__submit-button,
.wc-block-cart .wc-block-components-button.wc-block-cart__submit-button {
	background: var(--lh-cart-red) !important;
	background-color: var(--lh-cart-red) !important;
	border-color: var(--lh-cart-red) !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:focus,
body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button:focus,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:focus,
.wp-block-woocommerce-cart a.wc-block-cart__submit-button.wp-element-button:hover,
.wc-block-cart .wc-block-cart__submit-button:hover,
.wc-block-cart .wc-block-cart__submit-button:focus {
	background: var(--lh-cart-red-hover) !important;
	background-color: var(--lh-cart-red-hover) !important;
	border-color: var(--lh-cart-red-hover) !important;
	color: #ffffff !important;
}

/* Classic shortcode cart */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
	width: 100% !important;
}

body.woocommerce-cart .checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background: var(--lh-cart-red) !important;
	background-color: var(--lh-cart-red) !important;
	border-color: var(--lh-cart-red) !important;
	color: #ffffff !important;
}

body.woocommerce-cart .checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--lh-cart-red-hover) !important;
	background-color: var(--lh-cart-red-hover) !important;
	border-color: var(--lh-cart-red-hover) !important;
	color: #ffffff !important;
}

@media (min-width: 992px) {
	body.woocommerce-cart .entry-content > .woocommerce:not(.wp-block-woocommerce-cart) {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
		gap: clamp(1.5rem, 3vw, 2.5rem) !important;
		align-items: start !important;
	}

	body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
		grid-column: 1 / -1 !important;
	}

	body.woocommerce-cart .woocommerce > .lighthouse-cart-delivery-notice {
		grid-column: 1 / -1 !important;
	}

	body.woocommerce-cart .woocommerce-cart-form {
		grid-column: 1 !important;
	}

	body.woocommerce-cart .cart-collaterals {
		grid-column: 2 !important;
	}
}

/* Multi-product shipping lines — block cart totals (CSS-only, React-safe) */
body.woocommerce-cart .wc-block-components-totals-shipping .lh-shipping-label {
	font-size: clamp(1rem, 1.25vw, 1.125rem) !important;
	line-height: 1.5 !important;
	white-space: normal;
	word-break: break-word;
}

body.woocommerce-cart .woocommerce-shipping-totals.shipping td label,
body.woocommerce-cart .woocommerce-shipping-totals.shipping th {
	font-size: clamp(1rem, 1.25vw, 1.125rem);
	line-height: 1.5;
}
