/* WooCommerce cart — JW token overrides only (layout unchanged) */

.jw-cart-page .entry-content {
	padding-top: clamp(1.5rem, 3vw, 2.25rem);
	padding-bottom: clamp(2rem, 4vw, 3rem);
}

/* —— Empty cart —— */
.jw-cart-page .wc-empty-cart-message {
	max-width: min(32rem, 100%);
	margin: clamp(1rem, 3vw, 2rem) auto 0;
	text-align: center;
}

.jw-cart-page .cart-empty.woocommerce-info {
	margin: 0;
	padding: clamp(2rem, 4vw, 2.75rem) clamp(1.25rem, 3vw, 2rem);
	background: var(--jw-color-surface, #f8fafc) !important;
	border: 1px solid var(--jw-color-border, rgba(26, 54, 93, 0.12)) !important;
	border-radius: 8px;
	color: var(--jw-color-heading, #0f172a) !important;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.5;
}

.jw-cart-page .cart-empty.woocommerce-info::before {
	display: none;
}

.jw-cart-page .return-to-shop {
	margin: 1.5rem auto 0;
	text-align: center;
}

.jw-cart-page .return-to-shop .button,
.jw-cart-page .return-to-shop .wc-backward {
	display: inline-block;
	padding: 0.85em 1.75em;
	background-color: var(--jw-color-primary, #1a365d) !important;
	border-color: var(--jw-color-primary, #1a365d) !important;
	color: #fff !important;
	font-weight: 600;
	border-radius: 4px;
	text-decoration: none;
}

.jw-cart-page .return-to-shop .button:hover,
.jw-cart-page .return-to-shop .wc-backward:hover {
	background-color: var(--jw-color-primary-dark, #153e75) !important;
	border-color: var(--jw-color-primary-dark, #153e75) !important;
	color: #fff !important;
}

/* —— Cart table —— */
.jw-cart-page .woocommerce-cart-form .shop_table {
	border-color: var(--jw-color-border, rgba(26, 54, 93, 0.12));
}

.jw-cart-page.woocommerce-cart .woocommerce-cart-form .shop_table thead {
	background-color: var(--jw-color-surface, #f8fafc) !important;
}

.jw-cart-page .woocommerce-cart-form .shop_table thead th {
	color: var(--jw-color-heading, #0f172a);
	font-family: 'Karla', sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	border-color: var(--jw-color-border, rgba(26, 54, 93, 0.12));
}

.jw-cart-page .woocommerce-cart-form .shop_table td {
	font-size: 0.95rem;
}

.jw-cart-page .woocommerce-cart-form .shop_table td,
.jw-cart-page .woocommerce-cart-form .shop_table th {
	border-color: var(--jw-color-border, rgba(26, 54, 93, 0.12));
}

.jw-cart-page .woocommerce-cart-form .product-name a,
.jw-cart-page .woocommerce-cart-form .product-name .ast-product-name > a {
	color: var(--jw-color-primary, #1a365d);
	font-weight: 600;
	text-decoration: none;
}

.jw-cart-page .woocommerce-cart-form .product-name a:hover,
.jw-cart-page .woocommerce-cart-form .product-name a:focus,
.jw-cart-page .woocommerce-cart-form .product-name .ast-product-name > a:hover,
.jw-cart-page .woocommerce-cart-form .product-name .ast-product-name > a:focus {
	color: var(--jw-color-primary-dark, #153e75);
	text-decoration: underline;
}

.jw-cart-page .woocommerce-cart-form .product-remove a {
	color: var(--jw-color-muted, #475569);
	border-color: var(--jw-color-border, rgba(26, 54, 93, 0.2));
}

.jw-cart-page .woocommerce-cart-form .product-remove a:hover,
.jw-cart-page .woocommerce-cart-form .product-remove a:focus {
	color: var(--jw-color-heading, #0f172a);
}

.jw-cart-page .woocommerce-cart-form .quantity .qty {
	border-color: var(--jw-color-border, rgba(26, 54, 93, 0.2));
	border-radius: 6px;
}

.jw-cart-page .woocommerce-cart-form .quantity .qty:focus {
	border-color: var(--jw-color-primary-mid, #2c5282);
	outline: 2px solid rgba(44, 82, 130, 0.2);
	outline-offset: 0;
}

/* —— Totals sidebar —— */
.jw-cart-page.woocommerce-cart .cart-collaterals .cart_totals {
	border-color: var(--jw-color-border, rgba(26, 54, 93, 0.12));
}

.jw-cart-page.woocommerce-cart .cart-collaterals .cart_totals > h2 {
	background-color: var(--jw-color-surface, #f8fafc) !important;
	color: var(--jw-color-heading, #0f172a) !important;
	border-bottom: 1px solid var(--jw-color-border, rgba(26, 54, 93, 0.12)) !important;
	font-family: 'Rubik', sans-serif;
	font-size: 1.15rem !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
}

.jw-cart-page.woocommerce-cart .cart_totals,
.jw-cart-page.woocommerce-cart .woocommerce-cart-form .shop_table {
	font-family: 'Karla', sans-serif;
	font-size: 1rem;
}

.jw-cart-page .cart_totals .shop_table th,
.jw-cart-page .cart_totals .shop_table td {
	border-color: var(--jw-color-border, rgba(26, 54, 93, 0.12));
	font-size: 0.95rem;
	font-weight: 400;
}

.jw-cart-page .cart_totals .shop_table th {
	font-weight: 600;
}

.jw-cart-page .cart_totals .order-total th,
.jw-cart-page .cart_totals .order-total td {
	color: var(--jw-color-heading, #0f172a);
	font-weight: 700;
}

.jw-cart-page .coupon .input-text {
	border-color: var(--jw-color-border, rgba(26, 54, 93, 0.2));
	border-radius: 6px;
}

.jw-cart-page .coupon .input-text:focus {
	border-color: var(--jw-color-primary-mid, #2c5282);
	outline: 2px solid rgba(44, 82, 130, 0.2);
	outline-offset: 0;
}

/* Proceed to checkout — beat Astra/WooCommerce a.checkout-button rules */
.jw-cart-page.woocommerce-cart .wc-proceed-to-checkout {
	padding: 0.75rem 0 0 !important;
}

.jw-cart-page.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.jw-cart-page.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
	display: block !important;
	width: 100% !important;
	padding: 0.65em 1em !important;
	font-family: 'Rubik', sans-serif !important;
	font-size: 0.95rem !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
	margin-bottom: 0 !important;
	background-color: var(--jw-color-primary, #1a365d) !important;
	border-color: var(--jw-color-primary, #1a365d) !important;
	color: #fff !important;
	border-radius: 4px;
}

.jw-cart-page.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.jw-cart-page.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
	background-color: var(--jw-color-primary-dark, #153e75) !important;
	border-color: var(--jw-color-primary-dark, #153e75) !important;
	color: #fff !important;
}

.jw-cart-page button[name="update_cart"],
.jw-cart-page .coupon .button {
	background: transparent !important;
	color: var(--jw-color-primary, #1a365d) !important;
	border: 1px solid var(--jw-color-primary-mid, #2c5282) !important;
	font-weight: 600;
	border-radius: 6px;
}

.jw-cart-page button[name="update_cart"]:hover,
.jw-cart-page .coupon .button:hover {
	background: var(--jw-color-surface, #f8fafc) !important;
	color: var(--jw-color-primary-dark, #153e75) !important;
	border-color: var(--jw-color-primary-dark, #153e75) !important;
}

/* Cross-sells / linked products — colours only */
.jw-cart-page .cross-sells {
	border-color: var(--jw-color-border, rgba(26, 54, 93, 0.12));
}

.jw-cart-page .ast-cart-non-sticky .cross-sells > h2,
.jw-cart-page .cross-sells > h2 {
	background-color: var(--jw-color-surface, #f8fafc) !important;
	border-bottom-color: var(--jw-color-border, rgba(26, 54, 93, 0.12));
	color: var(--jw-color-heading, #0f172a);
	font-family: 'Rubik', sans-serif;
	font-size: 1.15rem !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
}

.jw-cart-page .cross-sells ul.products .ast-article-single {
	border-bottom-color: var(--jw-color-border, rgba(26, 54, 93, 0.12));
}

.jw-cart-page .cross-sells ul.products .ast-article-single .woocommerce-loop-product__title,
.jw-cart-page .cross-sells ul.products .ast-article-single .woocommerce-loop-product__title a {
	color: var(--jw-color-primary, #1a365d);
	font-weight: 600;
	text-decoration: none;
}

.jw-cart-page .cross-sells ul.products .ast-article-single .woocommerce-loop-product__title a:hover,
.jw-cart-page .cross-sells ul.products .ast-article-single .woocommerce-loop-product__title a:focus {
	color: var(--jw-color-primary-dark, #153e75);
	text-decoration: underline;
}

.jw-cart-page .cross-sells ul.products .ast-article-single .astra-shop-summary-wrap .price,
.jw-cart-page .cross-sells ul.products .ast-article-single .astra-shop-summary-wrap .price .woocommerce-Price-amount {
	color: var(--jw-color-heading, #0f172a);
	font-weight: 600;
}

.jw-cart-page .cross-sells ul.products .ast-article-single .astra-shop-summary-wrap > .button,
.jw-cart-page .cross-sells ul.products .ast-article-single .astra-shop-summary-wrap .button {
	background-color: var(--jw-color-primary, #1a365d) !important;
	border-color: var(--jw-color-primary, #1a365d) !important;
	color: #fff !important;
	font-weight: 600;
	border-radius: 4px;
}

.jw-cart-page .cross-sells ul.products .ast-article-single .astra-shop-summary-wrap > .button:hover,
.jw-cart-page .cross-sells ul.products .ast-article-single .astra-shop-summary-wrap .button:hover {
	background-color: var(--jw-color-primary-dark, #153e75) !important;
	border-color: var(--jw-color-primary-dark, #153e75) !important;
	color: #fff !important;
}

.jw-cart-page .jw-shipping-exclusion-notice a {
	color: var(--jw-color-primary, #1a365d);
	font-weight: 600;
}
