/* ==========================================================================
   Sri Herbals — WooCommerce pages (Cart / Checkout / Account / Thank you)
   ========================================================================== */

body.woocommerce-page,
body.woocommerce,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.woocommerce-order-received {
	font-family: var(--sri-sans, "Manrope", sans-serif) !important;
	color: #1d2721;
	background: #faf8f2 !important;
}

/* Kill Hello Elementor / WC float leftovers */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after,
.woocommerce-cart .woocommerce::before,
.woocommerce-cart .woocommerce::after {
	content: none !important;
	display: none !important;
}

.woocommerce-page #content > .woocommerce,
.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-checkout .entry-content > .woocommerce,
.woocommerce-account .entry-content > .woocommerce,
.woocommerce-page .woocommerce {
	width: min(980px, calc(100% - 2rem)) !important;
	max-width: 980px !important;
	margin: 0 auto !important;
	padding: 1.5rem 0 3.5rem !important;
	float: none !important;
	box-sizing: border-box !important;
}

.woocommerce-page .entry-header,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-account .entry-header,
.woocommerce-order-received .entry-header,
.woocommerce-page .page-header,
.woocommerce-cart .page-header,
.woocommerce-checkout .page-header,
.woocommerce-account .page-header,
.woocommerce-order-received .page-header {
	width: min(980px, calc(100% - 2rem));
	margin: 1.5rem auto 0.75rem;
	padding: 0;
	text-align: center !important;
}
.woocommerce-page .entry-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title,
.woocommerce-order-received .entry-title,
.woocommerce-page .page-header .entry-title,
.woocommerce h1.page-title,
.woocommerce-page h1.entry-title {
	font-family: var(--sri-serif, "Cormorant Garamond", serif) !important;
	font-size: clamp(1.9rem, 3.5vw, 2.6rem) !important;
	color: #123b2a !important;
	font-weight: 700 !important;
	margin: 0 auto 0.35rem !important;
	text-align: center !important;
	width: 100%;
}

.woocommerce a {
	color: #315c45;
}
.woocommerce a:hover {
	color: #123b2a;
}

/* ---------- Buttons ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .cart .button,
.woocommerce .checkout-button,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce .woocommerce-Button {
	background: #123b2a !important;
	color: #fff !important;
	border-radius: 999px !important;
	border: 1px solid #b89555 !important;
	font-weight: 700 !important;
	padding: 0.9rem 1.45rem !important;
	line-height: 1.35 !important;
	text-shadow: none !important;
	box-shadow: none !important;
	height: auto !important;
	min-height: 48px;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.checkout-button:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover {
	background: #315c45 !important;
	color: #fff !important;
}
.woocommerce-cart .wc-proceed-to-checkout {
	padding: 0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	color: #fff !important;
	font-size: 1rem !important;
}

/* ---------- Shop ---------- */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
	margin: 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product,
.woocommerce ul.products li.sri-product-card {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	padding: 0 !important;
	background: #fff;
	border: 1px solid rgba(18, 59, 42, 0.08);
	border-radius: 16px;
	text-align: center;
	box-sizing: border-box;
	overflow: hidden;
	box-shadow: 0 8px 22px rgba(18, 59, 42, 0.05);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	display: flex !important;
	flex-direction: column;
}
.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.sri-product-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(18, 59, 42, 0.09);
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	text-decoration: none !important;
	color: inherit;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	aspect-ratio: 1 / 1;
	object-fit: contain !important;
	object-position: center !important;
	margin: 0 auto !important;
	padding: 0.9rem;
	box-sizing: border-box;
	background: #f3f6f1;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0.65rem 0.85rem 0.25rem !important;
	padding: 0 !important;
	font-family: var(--sri-serif, "Cormorant Garamond", serif) !important;
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: #123b2a !important;
}
.woocommerce ul.products li.product .price {
	margin: 0.15rem 0.85rem 0.75rem !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	color: #123b2a !important;
}
.woocommerce ul.products li.product .price del {
	opacity: 0.45;
	font-weight: 600;
	margin-right: 0.35rem;
}
.woocommerce ul.products li.product .price .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
}
.woocommerce ul.products li.product .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: calc(100% - 1.7rem) !important;
	max-width: calc(100% - 1.7rem) !important;
	min-height: 42px;
	margin: 0 0.85rem 1rem !important;
	padding: 0.55rem 0.85rem !important;
	border-radius: 999px !important;
	background: #123b2a !important;
	color: #fff !important;
	border: 1px solid #b89555 !important;
	font-weight: 700 !important;
	font-size: 0.84rem !important;
	text-decoration: none !important;
	float: none !important;
}
.woocommerce ul.products li.product .button:hover {
	background: #315c45 !important;
	color: #fff !important;
}
.woocommerce ul.products li.product .onsale {
	top: 0.75rem !important;
	left: 0.75rem !important;
	right: auto !important;
	border-radius: 999px !important;
	background: #b89555 !important;
	color: #123b2a !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	min-height: 0 !important;
	padding: 0.35rem 0.65rem !important;
	z-index: 2;
}

/* ---------- Cart ---------- */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: 1px solid rgba(18, 59, 42, 0.1) !important;
	border-radius: 18px !important;
	overflow: hidden;
	background: #fff !important;
	width: 100% !important;
	margin: 0 0 1.25rem !important;
	box-sizing: border-box !important;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	border-color: rgba(18, 59, 42, 0.08) !important;
	padding: 1rem !important;
	vertical-align: middle !important;
	background: transparent !important;
}
.woocommerce-cart table.shop_table a {
	color: #123b2a !important;
	font-weight: 700;
	text-decoration: none;
}
.woocommerce-cart .product-remove a {
	color: #4a1930 !important;
}
.woocommerce-cart .quantity .qty {
	border: 1px solid rgba(18, 59, 42, 0.18);
	border-radius: 10px;
	padding: 0.45rem 0.5rem;
	width: 4.2rem;
	text-align: center;
}

.woocommerce-cart .cart-collaterals {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100% !important;
	float: none !important;
	background: #fff !important;
	border: 1px solid rgba(18, 59, 42, 0.1) !important;
	border-radius: 18px !important;
	padding: 1.35rem 1.35rem 1.45rem !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}
.woocommerce-cart .cart_totals h2 {
	font-family: var(--sri-serif, "Cormorant Garamond", serif) !important;
	color: #123b2a !important;
	font-size: 1.45rem !important;
	margin: 0 0 1rem !important;
}
.woocommerce-cart .cart_totals table {
	border: 0 !important;
	background: transparent !important;
	margin: 0 0 1rem !important;
}
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
	border-color: rgba(18, 59, 42, 0.08) !important;
	padding: 0.75rem 0 !important;
	background: transparent !important;
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	font-size: 1.08rem !important;
	color: #123b2a !important;
	font-weight: 700 !important;
}

/* ---------- Checkout — side-by-side billing + order ---------- */
.woocommerce-checkout form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr) !important;
	gap: 1.5rem 1.75rem !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}
.woocommerce-checkout form.checkout::before,
.woocommerce-checkout form.checkout::after {
	display: none !important;
	content: none !important;
}
.woocommerce-checkout #customer_details {
	grid-column: 1 !important;
	grid-row: 1 / span 4 !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
.woocommerce-checkout #order_review_heading {
	grid-column: 2 !important;
	grid-row: 1 !important;
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}
.woocommerce-checkout #order_review {
	grid-column: 2 !important;
	grid-row: 2 !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	position: sticky;
	top: 1rem;
}
.woocommerce-checkout .col2-set {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.15rem !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	width: 100% !important;
	float: none !important;
	max-width: none !important;
	padding: 0 !important;
}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	background: #fff;
	border: 1px solid rgba(18, 59, 42, 0.1);
	border-radius: 18px;
	padding: 1.35rem 1.4rem;
	box-sizing: border-box;
	box-shadow: 0 10px 28px rgba(18, 59, 42, 0.05);
}
.woocommerce-checkout #order_review_heading {
	font-family: var(--sri-serif, "Cormorant Garamond", serif);
	font-size: 1.45rem;
	font-weight: 700;
	color: #123b2a;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom: 0;
	padding-bottom: 0.65rem;
	margin-bottom: 0 !important;
}
.woocommerce-checkout #order_review {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	padding-top: 0.5rem;
}
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	margin: 0 0 1rem !important;
	font-family: var(--sri-serif, "Cormorant Garamond", serif) !important;
	font-size: 1.35rem !important;
	color: #123b2a !important;
	font-weight: 700 !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem 1rem;
}
.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row-wide.address-field {
	grid-column: 1 / -1;
}
.woocommerce-checkout .form-row {
	margin: 0 0 0.15rem !important;
	padding: 0 !important;
	width: 100% !important;
	float: none !important;
}
.woocommerce-checkout .form-row label {
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	color: #315c45 !important;
	margin-bottom: 0.35rem !important;
}
.woocommerce-checkout #order_review table.shop_table {
	border: 0 !important;
	margin: 0 0 1rem !important;
	background: transparent !important;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	border-color: rgba(18, 59, 42, 0.08) !important;
	padding: 0.75rem 0 !important;
	background: transparent !important;
}
.woocommerce-checkout #order_review table.shop_table .order-total th,
.woocommerce-checkout #order_review table.shop_table .order-total td {
	font-size: 1.1rem !important;
	font-weight: 800 !important;
	color: #123b2a !important;
}
.woocommerce-checkout .woocommerce-checkout-payment {
	background: #f7f4ec !important;
	border-radius: 14px !important;
	padding: 1rem !important;
	border: 1px solid rgba(18, 59, 42, 0.08) !important;
	margin-top: 0.5rem !important;
}
.woocommerce-checkout #place_order {
	width: 100% !important;
	min-height: 52px !important;
	margin-top: 0.85rem !important;
	border-radius: 999px !important;
	background: #123b2a !important;
	border: 1px solid #b89555 !important;
	color: #fff !important;
	font-weight: 800 !important;
	font-size: 1rem !important;
}
.woocommerce-checkout #place_order:hover {
	background: #315c45 !important;
}

/* ---------- Forms ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .input-text {
	border: 1px solid rgba(18, 59, 42, 0.18) !important;
	border-radius: 10px !important;
	padding: 0.75rem 0.9rem !important;
	background: #fff !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: #315c45 !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(49, 92, 69, 0.12) !important;
}

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce {
	display: grid !important;
	grid-template-columns: 250px minmax(0, 1fr) !important;
	gap: 1.25rem !important;
	align-items: start !important;
	float: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #fff !important;
	border-radius: 18px !important;
	padding: 0.85rem !important;
	border: 1px solid rgba(18, 59, 42, 0.1) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: grid !important;
	gap: 0.35rem !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block !important;
	padding: 0.85rem 0.95rem !important;
	border-radius: 12px !important;
	color: #315c45 !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	background: transparent !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: #123b2a !important;
	color: #fff !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
	background: #fff !important;
	border: 1px solid rgba(18, 59, 42, 0.1) !important;
	border-radius: 18px !important;
	padding: 1.5rem !important;
	min-width: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content a {
	color: #315c45 !important;
	font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-content a:hover {
	color: #123b2a !important;
}
.woocommerce-account .woocommerce-MyAccount-content p {
	line-height: 1.7;
	color: #4a554e;
}

/* Login / Register / Lost password */
.woocommerce-account:not(.logged-in) .woocommerce,
body.woocommerce-lost-password .woocommerce {
	display: block !important;
	max-width: 480px !important;
	margin: 0 auto !important;
	padding-top: 2rem !important;
}
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password {
	max-width: 480px;
	margin: 0 auto;
	padding: 1.85rem 1.5rem !important;
	background: #fff !important;
	border-radius: 20px !important;
	border: 1px solid rgba(18, 59, 42, 0.1) !important;
	box-shadow: 0 12px 32px rgba(18, 59, 42, 0.06);
	box-sizing: border-box;
}
.woocommerce-account:not(.logged-in) .entry-title,
.woocommerce-lost-password .entry-title {
	text-align: center;
}

/* ---------- Thank you ---------- */
.woocommerce-order-received .woocommerce,
.woocommerce-checkout.woocommerce-order-received .woocommerce {
	max-width: 720px !important;
}
.woocommerce-order {
	max-width: 680px;
	margin: 0.5rem auto 0;
	text-align: center;
	background: #fff !important;
	border: 1px solid rgba(18, 59, 42, 0.1) !important;
	border-radius: 22px !important;
	padding: 2rem 1.5rem !important;
	box-sizing: border-box;
}
.woocommerce-order .woocommerce-notice,
.woocommerce-order .woocommerce-thankyou-order-received {
	font-family: var(--sri-serif, "Cormorant Garamond", serif) !important;
	font-size: clamp(1.45rem, 3vw, 2rem) !important;
	color: #123b2a !important;
	margin: 0 0 1rem !important;
	background: transparent !important;
	border: 0 !important;
}
.woocommerce-order ul.order_details {
	display: grid !important;
	gap: 0.65rem !important;
	text-align: left !important;
	list-style: none !important;
	margin: 1.25rem 0 !important;
	padding: 1.1rem !important;
	background: #faf8f2 !important;
	border-radius: 14px !important;
	border: 1px solid rgba(18, 59, 42, 0.06);
}
.woocommerce-order ul.order_details li {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0.35rem 0 !important;
	border: 0 !important;
	font-size: 0.95rem;
}
.woocommerce-order .woocommerce-customer-details,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-order-details__title {
	text-align: left;
	margin-top: 1.25rem;
}
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title {
	font-family: var(--sri-serif, "Cormorant Garamond", serif);
	color: #123b2a;
}

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
	.woocommerce ul.products { grid-template-columns: 1fr 1fr; }
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
	}
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review {
		grid-column: 1 !important;
		grid-row: auto !important;
		position: static !important;
	}
	.woocommerce-checkout #order_review_heading {
		border-radius: 18px 18px 0 0 !important;
		margin-top: 0.25rem !important;
	}
	.woocommerce-checkout #order_review {
		border-radius: 0 0 18px 18px !important;
	}
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
		grid-template-columns: 1fr;
	}
	.woocommerce-checkout .col2-set {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 768px) {
	.woocommerce-page #content > .woocommerce,
	.woocommerce-cart .entry-content > .woocommerce,
	.woocommerce-checkout .entry-content > .woocommerce,
	.woocommerce-account .entry-content > .woocommerce,
	.woocommerce-page .woocommerce {
		width: min(100%, calc(100% - 1.5rem)) !important;
		padding: 1rem 0 3rem !important;
	}
	.woocommerce-page .entry-header,
	.woocommerce-cart .entry-header,
	.woocommerce-checkout .entry-header,
	.woocommerce-account .entry-header,
	.woocommerce-order-received .entry-header,
	.woocommerce-page .page-header,
	.woocommerce-cart .page-header,
	.woocommerce-checkout .page-header,
	.woocommerce-account .page-header {
		width: min(100%, calc(100% - 1.5rem));
		margin-top: 1.1rem;
		text-align: center !important;
	}

	/* Cart rows as cards */
	.woocommerce-cart table.shop_table_responsive,
	.woocommerce-cart table.shop_table_responsive tbody {
		display: block !important;
		width: 100% !important;
		border: 0 !important;
		background: transparent !important;
	}
	.woocommerce-cart table.shop_table_responsive thead {
		display: none !important;
	}
	.woocommerce-cart table.shop_table_responsive tr {
		display: block !important;
		width: 100% !important;
		background: #fff !important;
		border: 1px solid rgba(18, 59, 42, 0.1) !important;
		border-radius: 16px !important;
		padding: 1rem !important;
		margin: 0 0 0.85rem !important;
		box-sizing: border-box !important;
	}
	.woocommerce-cart table.shop_table_responsive tr td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		text-align: left !important;
		padding: 0.4rem 0 !important;
		border: 0 !important;
		box-sizing: border-box !important;
	}
	.woocommerce-cart table.shop_table_responsive tr td::before {
		display: inline-block !important;
		font-weight: 700;
		color: #315c45;
		margin-right: 0.45rem;
		content: attr(data-title) ": ";
	}
	.woocommerce-cart table.shop_table_responsive tr td.product-name::before,
	.woocommerce-cart table.shop_table_responsive tr td.product-remove::before {
		display: none !important;
	}
	.woocommerce-cart table.shop_table_responsive .product-thumbnail {
		display: none !important;
	}
	.woocommerce-cart table.shop_table_responsive .actions {
		padding-top: 0.75rem !important;
	}
	.woocommerce-cart table.shop_table_responsive .coupon {
		float: none !important;
		width: 100% !important;
		padding-bottom: 0.75rem;
	}
	.woocommerce-cart table.shop_table_responsive .coupon input {
		width: 100% !important;
		margin-bottom: 0.5rem;
	}

	.woocommerce-cart .cart-collaterals,
	.woocommerce-cart .cart_totals {
		width: 100% !important;
		float: none !important;
		padding: 1.15rem !important;
		box-sizing: border-box !important;
	}
	.woocommerce-cart .cart_totals table,
	.woocommerce-cart .cart_totals tbody,
	.woocommerce-cart .cart_totals tr {
		display: block !important;
		width: 100% !important;
	}
	.woocommerce-cart .cart_totals th,
	.woocommerce-cart .cart_totals td {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		width: 100% !important;
		text-align: left !important;
		padding: 0.65rem 0 !important;
		box-sizing: border-box !important;
		overflow: visible !important;
		white-space: normal !important;
	}
	.woocommerce-cart .cart_totals .order-total {
		border-top: 1px solid rgba(18, 59, 42, 0.1);
		margin-top: 0.25rem;
		padding-top: 0.25rem;
	}
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		white-space: normal !important;
	}

	/* My Account stack */
	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr !important;
		display: grid !important;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		width: 100% !important;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr 1fr !important;
	}
}

@media (max-width: 560px) {
	.woocommerce ul.products { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr !important;
	}
	.woocommerce-order {
		padding: 1.5rem 1.1rem !important;
	}
}

/* ---------- Woo Blocks fallback (if re-enabled) ---------- */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	width: min(980px, calc(100% - 1.5rem)) !important;
	max-width: 980px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}
.wc-block-cart,
.wc-block-checkout {
	box-sizing: border-box !important;
}
.wc-block-components-sidebar-layout {
	display: grid !important;
	grid-template-columns: 1.2fr 0.8fr !important;
	gap: 1.25rem !important;
	align-items: start !important;
}
.wc-block-cart .wc-block-cart-items,
.wc-block-components-sidebar {
	background: #fff;
	border: 1px solid rgba(18, 59, 42, 0.1);
	border-radius: 18px;
	padding: 1rem;
	box-sizing: border-box !important;
}
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: #123b2a !important;
	color: #fff !important;
	border-radius: 999px !important;
	border: 1px solid #b89555 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.wc-block-components-totals-item,
.wc-block-components-product-name {
	color: #123b2a !important;
}
@media (max-width: 768px) {
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-checkout {
		width: min(100%, calc(100% - 1.5rem)) !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.wc-block-components-sidebar-layout {
		grid-template-columns: 1fr !important;
	}
	.wc-block-components-totals-wrapper,
	.wc-block-cart__totals-title,
	.wc-block-components-totals-item__label,
	.wc-block-components-totals-footer-item {
		overflow: visible !important;
		white-space: normal !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}


/* Empty cart + notices */
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	background: #fff !important;
	border: 1px solid rgba(18, 59, 42, 0.1) !important;
	border-top: 3px solid #b89555 !important;
	border-radius: 16px !important;
	padding: 1.15rem 1.25rem !important;
	color: #1d2721 !important;
}
.woocommerce .return-to-shop { margin-top: 1rem; }

/* Override Elementor pink links on WC pages */
body.woocommerce-page a,
body.woocommerce a { text-decoration: none; }
body.woocommerce-account .woocommerce-MyAccount-content a { color: #315c45 !important; }
body.woocommerce-account .woocommerce-MyAccount-content a.button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button,
body.woocommerce-account .woocommerce-MyAccount-content .button { color: #fff !important; }

/* Stop mobile left-edge clipping */
body.woocommerce-page #content,
body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-account #content,
body.woocommerce-page main {
	overflow-x: clip;
	max-width: 100vw;
}
body.woocommerce-page .page-content,
body.woocommerce-cart .page-content,
body.woocommerce-account .page-content {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Extra-strong My Account layout override (after Woo layout.css) */
body.woocommerce-account .woocommerce {
	display: grid !important;
	grid-template-columns: 250px minmax(0, 1fr) !important;
	gap: 1.25rem !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	clear: none !important;
}
body.woocommerce-account:not(.logged-in) .woocommerce {
	display: block !important;
	max-width: 480px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
body.woocommerce-account:not(.logged-in) .entry-title,
body.woocommerce-account:not(.logged-in) h2,
body.woocommerce-account .u-column1 h2,
body.woocommerce-account .u-column2 h2 {
	text-align: center !important;
	font-family: var(--sri-serif, "Cormorant Garamond", serif) !important;
	color: #123b2a !important;
}
body.woocommerce-account .col2-set {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1rem !important;
	max-width: 480px;
	margin: 0 auto;
}
body.woocommerce-account .col2-set .col-1,
body.woocommerce-account .col2-set .col-2 {
	width: 100% !important;
	float: none !important;
}
@media (max-width: 768px) {
	body.woocommerce-account .woocommerce {
		grid-template-columns: 1fr !important;
	}
}

/* Cart actions row polish */
.woocommerce-cart table.cart td.actions {
	padding: 1rem !important;
}
.woocommerce-cart table.cart td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	float: none !important;
	padding-bottom: 0.75rem;
}
.woocommerce-cart table.cart td.actions .coupon .input-text {
	min-width: 180px;
	flex: 1;
}
.woocommerce-cart table.cart td.actions .button {
	float: none !important;
}
.woocommerce-cart .cart-collaterals {
	display: grid;
	grid-template-columns: 1fr;
	max-width: 420px;
	margin-left: auto !important;
}

/* Page titles centered (Cart / Checkout / My Account / Thank you) */
body.woocommerce-cart .page-header,
body.woocommerce-checkout .page-header,
body.woocommerce-account .page-header,
body.woocommerce-order-received .page-header,
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-account .entry-header,
body.woocommerce-order-received .entry-header {
	text-align: center !important;
}
body.woocommerce-cart h1.entry-title,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-account h1.entry-title,
body.woocommerce-order-received h1.entry-title,
body.woocommerce-cart .page-header .entry-title,
body.woocommerce-checkout .page-header .entry-title,
body.woocommerce-account .page-header .entry-title,
body.woocommerce-order-received .page-header .entry-title {
	text-align: center !important;
	display: block;
	width: 100%;
}
