:root {
	--lm-navy: #062b63;
	--lm-navy-dark: #031d43;
	--lm-gold: #d9a441;
	--lm-ivory: #fbf7f0;
	--lm-border: #e9dfd2;
	--lm-text: #1f2b3d;
	--lm-muted: #6d7787;
	--lm-white: #ffffff;
	--lm-shadow: 0 18px 40px rgba(3, 29, 67, 0.08);
	--lm-radius: 14px;
}

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
	font-family: "Roboto", Arial, sans-serif;
	color: var(--lm-text);
}

/* =========================
   PAGE TITLE AREA
========================= */

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
	color: var(--lm-navy);
	font-size: clamp(34px, 4vw, 54px);
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 26px;
}

/* =========================
   CART BLOCK
========================= */

.wp-block-woocommerce-cart {
	font-family: "Roboto", Arial, sans-serif;
}

.wp-block-woocommerce-cart .wc-block-cart {
	gap: 28px;
}

.wp-block-woocommerce-cart .wc-block-cart-items,
.wp-block-woocommerce-cart .wc-block-cart__sidebar {
	background: var(--lm-white);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius);
	box-shadow: var(--lm-shadow);
	padding: 22px;
}

.wp-block-woocommerce-cart .wc-block-cart-items__header,
.wp-block-woocommerce-cart .wc-block-components-totals-wrapper {
	border-color: var(--lm-border);
}

.wp-block-woocommerce-cart .wc-block-cart-item__product {
	padding-top: 18px;
	padding-bottom: 18px;
	border-color: var(--lm-border);
}

.wp-block-woocommerce-cart .wc-block-components-product-name {
	color: var(--lm-navy);
	font-weight: 700;
	text-decoration: none;
}

.wp-block-woocommerce-cart .wc-block-components-product-name:hover {
	color: #8c5a08;
	text-decoration: underline;
}

.wp-block-woocommerce-cart .wc-block-components-product-price,
.wp-block-woocommerce-cart .wc-block-formatted-money-amount {
	color: var(--lm-navy);
	font-weight: 700;
}

.wp-block-woocommerce-cart .wc-block-components-product-metadata {
	color: var(--lm-muted);
	font-size: 13px;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
	border: 1px solid var(--lm-border);
	border-radius: 8px;
	overflow: hidden;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector input {
	border: 0 !important;
	color: var(--lm-text);
	font-weight: 700;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector button {
	background: var(--lm-ivory);
	color: var(--lm-navy);
	border: 0;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector button:hover {
	background: var(--lm-navy);
	color: var(--lm-white);
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
	color: #8b2f2f;
	font-weight: 600;
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: #5e1111;
}

.wp-block-woocommerce-cart .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--lm-navy);
	font-weight: 700;
}

.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
	font-size: 28px;
	font-weight: 700;
	color: var(--lm-navy);
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-components-button {
	background: var(--lm-navy);
	color: var(--lm-white);
	border-radius: 10px;
	font-weight: 700;
	border: 1px solid var(--lm-navy);
	min-height: 52px;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-cart .wc-block-components-button:hover {
	background: var(--lm-navy-dark);
	color: var(--lm-white);
	border-color: var(--lm-navy-dark);
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon__form input {
	min-height: 46px;
	border: 1px solid var(--lm-border);
	border-radius: 8px;
}

.wp-block-woocommerce-cart .wc-block-cross-sells {
	margin-top: 28px;
	padding: 22px;
	background: var(--lm-white);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius);
	box-shadow: var(--lm-shadow);
}

.wp-block-woocommerce-cart .wc-block-cross-sells h2 {
	color: var(--lm-navy);
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 18px;
}

/* =========================
   CHECKOUT BLOCK
========================= */

.wp-block-woocommerce-checkout {
	font-family: "Roboto", Arial, sans-serif;
}

.wp-block-woocommerce-checkout .wc-block-checkout {
	gap: 28px;
}

.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
	gap: 22px;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step,
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar-layout {
	background: var(--lm-white);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius);
	box-shadow: var(--lm-shadow);
	padding: 22px;
}

.wp-block-woocommerce-checkout .wc-block-components-title,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar h2,
.wp-block-woocommerce-checkout .wc-block-components-order-summary__title-text {
	color: var(--lm-navy);
	font-weight: 700;
}

.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-text-input select,
.wp-block-woocommerce-checkout .wc-block-components-address-form input,
.wp-block-woocommerce-checkout .wc-block-components-address-form select {
	min-height: 48px;
	border: 1px solid var(--lm-border);
	border-radius: 8px;
	color: var(--lm-text);
	background: var(--lm-white);
}

.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-block-components-text-input select:focus,
.wp-block-woocommerce-checkout .wc-block-components-address-form input:focus,
.wp-block-woocommerce-checkout .wc-block-components-address-form select:focus {
	border-color: var(--lm-navy);
	box-shadow: 0 0 0 3px rgba(6, 43, 99, 0.10);
	outline: 0;
}

.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading,
.wp-block-woocommerce-checkout .wc-block-components-checkbox label {
	color: var(--lm-navy);
	font-weight: 600;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__description {
	color: var(--lm-muted);
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description,
.wp-block-woocommerce-checkout .wc-block-components-product-metadata {
	color: var(--lm-muted);
}

.wp-block-woocommerce-checkout .wc-block-components-product-name {
	color: var(--lm-navy);
	font-weight: 700;
}

.wp-block-woocommerce-checkout .wc-block-formatted-money-amount {
	color: var(--lm-navy);
	font-weight: 700;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout .wc-block-components-button {
	background: var(--lm-navy);
	color: var(--lm-white);
	border: 1px solid var(--lm-navy);
	border-radius: 10px;
	font-weight: 700;
	min-height: 54px;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-button:hover {
	background: var(--lm-navy-dark);
	color: var(--lm-white);
	border-color: var(--lm-navy-dark);
}

.wp-block-woocommerce-checkout .wc-block-components-notice-banner {
	border-radius: 10px;
}

.wp-block-woocommerce-checkout .wc-block-components-notice-banner.is-error {
	background: #fff1f1;
	border-color: #c85757;
	color: #7b2020;
}

/* =========================
   MY ACCOUNT
========================= */

.woocommerce-account .woocommerce {
	display: grid;
	gap: 24px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 100%;
	float: none;
	background: var(--lm-navy);
	border-radius: 14px;
	padding: 10px;
	box-shadow: var(--lm-shadow);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 14px 16px;
	color: rgba(255,255,255,0.82);
	text-decoration: none;
	border-radius: 10px;
	font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	background: var(--lm-white);
	color: var(--lm-navy);
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: 100%;
	float: none;
	padding: 26px;
	background: var(--lm-white);
	border: 1px solid var(--lm-border);
	border-radius: 14px;
	box-shadow: var(--lm-shadow);
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	color: var(--lm-navy);
	font-weight: 700;
}

.woocommerce-account .woocommerce-Address,
.woocommerce-account table.shop_table {
	border: 1px solid var(--lm-border);
	border-radius: 12px;
	overflow: hidden;
}

.woocommerce-account .button,
.woocommerce-account button,
.woocommerce-account input[type="submit"] {
	background: var(--lm-navy);
	color: var(--lm-white);
	border: 1px solid var(--lm-navy);
	border-radius: 8px;
	font-weight: 700;
}

.woocommerce-account .button:hover,
.woocommerce-account button:hover,
.woocommerce-account input[type="submit"]:hover {
	background: var(--lm-navy-dark);
	color: var(--lm-white);
	border-color: var(--lm-navy-dark);
}

.woocommerce-account input.input-text,
.woocommerce-account select,
.woocommerce-account textarea {
	border: 1px solid var(--lm-border);
	border-radius: 8px;
	min-height: 46px;
}

/* =========================
   RESPONSIVE
========================= */

@media (min-width: 992px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: 260px minmax(0, 1fr);
		align-items: start;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		position: sticky;
		top: 120px;
	}
}