/* ==========================================================================
   CART MAIN — Layout, page root, breakout sections
   @package Macedon_Ranges
   ========================================================================== */

@import 'cart-table.css';
@import 'cart-sidebar.css';
@import 'cart-responsive.css';
@import 'checkout-progress.css';
@import 'cart-empty.css';

/* --------------------------------------------------------------------------
   PAGE ROOT
   -------------------------------------------------------------------------- */
body.woocommerce-cart {
	background: var(--color-bg-secondary, #F8F9FA);
}

body.woocommerce-cart #main.site-main,
body.woocommerce-cart #main.site-main .content-area,
body.woocommerce-cart #main.site-main article.page {
	padding: 0;
	margin: 0;
}

body.woocommerce-cart #main.site-main .container {
	max-width: 1410px;
	margin: 0 auto;
	padding: 0 var(--container-padding);
	padding-bottom: var(--space-6);
}

/* --------------------------------------------------------------------------
   BREADCRUMB
   -------------------------------------------------------------------------- */
body.woocommerce-cart .woocommerce-breadcrumb,
body.woocommerce-cart nav.woocommerce-breadcrumb {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	margin-top: var(--space-4, 1rem) !important;
	margin-bottom: var(--space-6, 1.5rem) !important;
	text-align: left !important;
}

/* --------------------------------------------------------------------------
   PAGE HEADER
   -------------------------------------------------------------------------- */
body.woocommerce-cart #main.site-main .entry-header {
	text-align: center;
	margin-top: 0;
	margin-bottom: 1.5rem;
	padding: 0.5rem 0 0;
	background: transparent;
}

body.woocommerce-cart #main.site-main .entry-header .entry-title,
body.woocommerce-cart #main.site-main article .entry-title {
	font-family: var(--font-heading);
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--color-text-dark, #212529);
	letter-spacing: -0.3px;
	margin-bottom: var(--space-6);
}

/* --------------------------------------------------------------------------
   TWO-COLUMN GRID
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
	body.woocommerce-cart #main.site-main .entry-content .woocommerce {
		display: grid;
		grid-template-columns: 1fr 380px;
		gap: 1.5rem;
		align-items: start;
	}

	body.woocommerce-cart #main.site-main .entry-content .woocommerce > form.woocommerce-cart-form {
		grid-column: 1;
	}

	body.woocommerce-cart #main.site-main .entry-content .woocommerce > .cart-collaterals {
		grid-column: 2;
	}
}

/* --------------------------------------------------------------------------
   CART FORM CARD
   -------------------------------------------------------------------------- */
body.woocommerce-cart #main.site-main form.woocommerce-cart-form {
	background: var(--color-white, #fff);
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 0;
	width: 100%;
	border: 1px solid #E5E5E5;
}

/* --------------------------------------------------------------------------
   EMPTY CART BREAKOUT
   -------------------------------------------------------------------------- */
body.woocommerce-cart .cart-empty-wrapper {
	width: 71% !important;
	max-width: 1000px !important;
	margin: 0 auto 2rem !important;
}

@media (max-width: 1023px) {
	body.woocommerce-cart .cart-empty-wrapper { width: 88% !important; }
}

@media (max-width: 767px) {
	body.woocommerce-cart .cart-empty-wrapper { width: 95% !important; }
}

@media (max-width: 480px) {
	body.woocommerce-cart .cart-empty-wrapper { width: 98% !important; }
}

/* --------------------------------------------------------------------------
   SUGGESTED PRODUCTS — FULL-WIDTH BREAKOUT
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
	body.woocommerce-cart #main.site-main .entry-content .woocommerce .cart-suggested-products-wrapper {
		grid-column: 1 / -1 !important;
		position: relative !important;
		width: 100vw !important;
		left: 50% !important;
		right: 50% !important;
		margin-left: -50vw !important;
		margin-right: -50vw !important;
		margin-top: 4rem !important;
		padding-top: 3rem !important;
	}
}

@media (max-width: 1023px) {
	body.woocommerce-cart .cart-suggested-products-wrapper {
		position: relative !important;
		width: 100vw !important;
		left: 50% !important;
		right: 50% !important;
		margin-left: -50vw !important;
		margin-right: -50vw !important;
		margin-top: 3rem !important;
		padding-top: 2.5rem !important;
	}
}

/* Divider rule above section */
body.woocommerce-cart .cart-suggested-products-wrapper::before {
	content: '';
	display: block;
	height: 1px;
	background: #E5E7EB;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 1350px;
}

@media (max-width: 767px) {
	body.woocommerce-cart .cart-suggested-products-wrapper::before {
		max-width: calc(100% - 2rem);
	}
}

/* Inner container */
body.woocommerce-cart .cart-suggested-products-wrapper .cart-suggested-products {
	width: 100% !important;
	max-width: 1350px !important;
	margin: 0 auto !important;
	padding: 0 1.5rem !important;
	box-sizing: border-box !important;
}

body.woocommerce-cart .cart-suggested-products ul.products {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.woocommerce-cart .cart-suggested-products ul.products li.product {
	width: 100% !important;
	max-width: 100% !important;
}

body.woocommerce-cart .cart-suggested-products__header,
body.woocommerce-cart .cart-suggested-products__title,
body.woocommerce-cart .cart-suggested-products__subtitle {
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.woocommerce-cart .cart-suggested-products__header {
	margin-bottom: 2.5rem !important;
}

@media (max-width: 767px) {
	body.woocommerce-cart .cart-suggested-products-wrapper .cart-suggested-products {
		padding: 0 1rem !important;
	}

	body.woocommerce-cart .cart-suggested-products__header {
		margin-bottom: 2rem !important;
	}
}

/* --------------------------------------------------------------------------
   CHECKOUT PROGRESS (loaded on cart page too)
   -------------------------------------------------------------------------- */
body.woocommerce-checkout .woocommerce-checkout-progress {
	width: 100%;
	margin: 0 auto 2rem;
	padding: 2rem 0 0;
	text-align: center;
	position: relative;
	z-index: 1;
}

body.woocommerce-checkout .checkout-steps {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   NOTICE SUPPRESSION (handled via JS notifications instead)
   -------------------------------------------------------------------------- */
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message {
	display: none !important;
}

body.woocommerce-cart .coupon input[type="text"].error {
	border-color: #ddd;
}

body.woocommerce-cart .coupon input[type="text"]:invalid {
	border-color: #e74c3c;
}

/* --------------------------------------------------------------------------
   BREADCRUMB — MOBILE
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	body.woocommerce-cart .woocommerce-breadcrumb {
		margin-top: var(--space-3, 0.75rem) !important;
		margin-bottom: var(--space-4, 1rem) !important;
	}
}