/**
 * WooCommerce pages — Möna Sleepwear
 * Cart, checkout, shop, my account, product pages.
 */

:root {
	--mona-crema: #f9f4f2;
	--mona-blush: #e8c4c4;
	--mona-nude: #c4b5a8;
	--mona-text: #5c4b43;
	--mona-text-soft: #8a7568;
	--mona-chocolate: #3d2e28;
	--mona-white: #ffffff;
}

/* Page canvas */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.post-type-archive-product,
body.tax-product_cat,
body.single-product {
	background-color: var(--mona-crema);
}

body.woocommerce-cart .rey-siteContainer,
body.woocommerce-checkout .rey-siteContainer,
body.woocommerce-account .rey-siteContainer {
	padding-top: 10px;
}

/* Rey checkout variables */
body.woocommerce-checkout .rey-checkoutPage.--layout-custom {
	--checkout-bg-colors: var(--mona-crema);
	--checkout-bg-colors-secondary: var(--mona-white);
	--checkout-text-colors: var(--mona-text);
	--checkout-border-color: var(--mona-nude);
	--checkout-border-radius: 8px;
	--checkout-box-padding: 24px;
	--checkout-form-distance: 48px;
	--checkout-review-box-padding: 32px;
	--checkout-review-spacing: 28px;
	--checkout-review-border-size: 1px;
	--checkout-review-border-color: var(--mona-nude);
	--checkout-review-bg: var(--mona-white);
	--checkout-review-border-radius: 8px;
}

/* Rey cart variables */
body.woocommerce-cart .rey-cartPage.--layout-custom {
	--cart-table-distance: 48px;
	--cart-table-border-color: var(--mona-nude);
	--cart-table-border-radius: 8px;
	--cart-table-head-bg-color: #f4ece6;
	--cart-table-head-text-color: var(--mona-chocolate);
}

/* Cart table — same boxed look as cart_totals */
body.woocommerce-cart .woocommerce table.shop_table.woocommerce-cart-form__contents {
	border: 1px solid var(--mona-nude) !important;
	border-radius: 8px;
	overflow: hidden;
	background: var(--mona-white) !important;
	border-collapse: separate;
	border-spacing: 0;
}

body.woocommerce-cart .woocommerce table.shop_table.woocommerce-cart-form__contents thead tr th {
	border-bottom: 1px solid var(--mona-nude) !important;
	background: #f4ece6 !important;
	color: var(--mona-chocolate) !important;
	font-weight: 600;
	padding: 16px 20px !important;
}

body.woocommerce-cart .woocommerce table.shop_table.woocommerce-cart-form__contents tbody tr td {
	border-bottom: 1px solid #efe7e2 !important;
	padding: 18px 20px !important;
	color: var(--mona-text);
}

body.woocommerce-cart .woocommerce .cart_totals table.shop_table {
	border: none;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

/* Page intros */
.mona-wc-intro {
	text-align: center;
	margin-bottom: 40px;
}

.mona-wc-intro .mona-wc-intro__title {
	color: var(--mona-chocolate);
	font-size: clamp(2rem, 4vw, 2.75rem);
	line-height: 1.2;
	margin: 0 0 12px;
	font-weight: 400;
}

.mona-wc-intro .mona-wc-intro__subtitle {
	color: var(--mona-text-soft);
	font-size: 1rem;
	margin: 0;
}

/* Tables */
.woocommerce table.shop_table {
	border: 1px solid var(--mona-nude);
	border-radius: 8px;
	overflow: hidden;
	background: var(--mona-white);
	border-collapse: separate;
	border-spacing: 0;
}

.woocommerce table.shop_table th {
	background: #f4ece6;
	color: var(--mona-chocolate);
	font-weight: 600;
	padding: 16px 20px;
	border-bottom: 1px solid var(--mona-nude);
}

.woocommerce table.shop_table td {
	padding: 18px 20px;
	border-top: 1px solid #efe7e2;
	color: var(--mona-text);
}

.woocommerce table.shop_table .product-name a {
	color: var(--mona-chocolate);
	font-weight: 500;
}

.woocommerce table.shop_table .product-name a:hover {
	color: var(--mona-text);
}

/* Cart totals / checkout form boxes */
.woocommerce .cart_totals,
.woocommerce-checkout .rey-checkoutPage-form .woocommerce-billing-fields,
.woocommerce-checkout .rey-checkoutPage-form .woocommerce-shipping-fields,
.woocommerce-checkout .rey-checkoutPage-form .woocommerce-additional-fields,
.woocommerce-checkout #payment {
	background: var(--mona-white);
	border: 1px solid var(--mona-nude);
	border-radius: 8px;
	padding: 28px;
}

/* Checkout steps — spacing between stacked boxes */
body.woocommerce-checkout .rey-checkoutPage-form .rey-formReview {
	margin-bottom: 24px !important;
}

/* Empty Rey shipping wrapper (no methods yet) — hide ghost box */
body.woocommerce-checkout .rey-checkoutPage-form .rey-checkout-shipping:not(:has(.rey-checkoutPage-title)) {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Shipping methods box — only when it has real content */
body.woocommerce-checkout .rey-checkoutPage-form .rey-checkout-shipping:has(.rey-checkoutPage-title) {
	background: var(--mona-white);
	border: 1px solid var(--mona-nude);
	border-radius: 8px;
	padding: 28px;
	margin-bottom: 24px !important;
}

body.woocommerce-checkout .rey-checkoutPage-form .rey-checkout-shipping:has(.rey-checkoutPage-title) .rey-checkoutPage-title {
	margin-top: 0;
	margin-bottom: 16px;
	color: var(--mona-chocolate);
}

body.woocommerce-checkout .rey-checkoutPage-form .rey-checkout-shippingMethods {
	margin-bottom: 0 !important;
	border: none !important;
}

/* Gap between shipping notice/methods and additional info */
body.woocommerce-checkout .rey-checkoutPage-form .__step-main .woocommerce-shipping-fields {
	margin-bottom: 24px !important;
}

body.woocommerce-checkout .rey-checkoutPage-form .__step-main .woocommerce-shipping-fields ~ .woocommerce-additional-fields {
	margin-top: 0 !important;
	margin-bottom: 32px !important;
}

body.woocommerce-checkout .rey-checkoutPage-form .woocommerce-additional-fields h6,
body.woocommerce-checkout .rey-checkoutPage-form .woocommerce-additional-fields h3 {
	margin-top: 0;
	margin-bottom: 16px;
	color: var(--mona-chocolate);
	font-size: 1.1rem;
	text-transform: none;
}

/* Checkout — Tu pedido (order review) */
body.woocommerce-checkout .rey-checkoutPage.--layout-custom .rey-checkoutPage-review {
	background: var(--mona-white) !important;
	border: 1px solid var(--mona-nude) !important;
	border-radius: 8px !important;
	padding: 32px !important;
}

body.woocommerce-checkout .rey-checkoutPage-review #order_review_heading {
	font-size: 1.35rem !important;
	font-weight: 600 !important;
	color: var(--mona-chocolate) !important;
	text-transform: none !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	letter-spacing: 0 !important;
}

body.woocommerce-checkout .rey-checkoutPage-review .woocommerce-checkout-review-order-table {
	margin-top: 0;
	border: none !important;
	border-radius: 0 !important;
	overflow: visible !important;
	background: transparent !important;
}

body.woocommerce-checkout .rey-checkoutPage-review .woocommerce-checkout-review-order-table .cart_item {
	margin-bottom: 20px !important;
	align-items: flex-start !important;
}

body.woocommerce-checkout .rey-checkoutPage-review .woocommerce-checkout-review-order-table .cart_item:last-child {
	padding-bottom: 28px !important;
	margin-bottom: 28px !important;
	border-bottom: 1px solid #efe7e2 !important;
}

body.woocommerce-checkout .rey-checkoutPage-review .woocommerce-checkout-review-order-table .rey-reviewOrder-img {
	width: 72px !important;
	margin-inline-end: 16px !important;
}

body.woocommerce-checkout .rey-checkoutPage-review .woocommerce-checkout-review-order-table .rey-reviewOrder-title {
	line-height: 1.4;
	padding-right: 12px;
}

body.woocommerce-checkout .rey-checkoutPage-review .woocommerce-checkout-review-order-table .cart_item .product-total {
	margin-left: 12px !important;
	padding-top: 4px;
	white-space: nowrap;
}

body.woocommerce-checkout .rey-checkoutPage-review .woocommerce-checkout-review-order-table tfoot tr {
	margin-bottom: 10px !important;
	padding: 10px 0 !important;
}

body.woocommerce-checkout .rey-checkoutPage-review .woocommerce-checkout-review-order-table tfoot tr th,
body.woocommerce-checkout .rey-checkoutPage-review .woocommerce-checkout-review-order-table tfoot tr td {
	padding: 0 4px !important;
}

body.woocommerce-checkout .rey-checkoutPage-review .woocommerce-checkout-review-order-table .order-total {
	padding-top: 20px !important;
	margin-top: 12px !important;
	border-top: 1px solid var(--mona-nude) !important;
	font-size: 1.05rem !important;
}

.woocommerce .cart_totals h2,
.woocommerce-checkout .rey-checkoutPage-form h3,
.woocommerce-checkout #payment h3 {
	color: var(--mona-chocolate);
	font-size: 1.35rem;
	margin-top: 0;
}

/* Form fields */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
	color: var(--mona-text);
	font-weight: 500;
	margin-bottom: 6px;
}

.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea,
.woocommerce-page .input-text {
	padding: 12px 14px;
	border: 1px solid var(--mona-nude);
	border-radius: 4px;
	background: var(--mona-white);
	color: var(--mona-text);
}

.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
	border-color: var(--mona-chocolate);
	outline: none;
	box-shadow: 0 0 0 1px rgba(61, 46, 40, 0.08);
}

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	background: var(--mona-chocolate) !important;
	color: var(--mona-white) !important;
	border: none !important;
	border-radius: 4px !important;
	padding: 14px 28px !important;
	font-weight: 600;
	transition: background 0.2s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #payment #place_order:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--mona-text) !important;
	color: var(--mona-white) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--mona-chocolate) !important;
}

/* Checkout steps */
.rey-checkoutPage .__steps .__step {
	color: var(--mona-text-soft);
}

.rey-checkoutPage .__steps .__step.--active {
	color: var(--mona-chocolate);
}

.rey-checkoutPage .__steps .__step.--done {
	color: var(--mona-text);
}

/* Payment box */
.woocommerce-checkout #payment {
	background: var(--mona-white);
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid #efe7e2;
	padding-bottom: 16px;
}

/* Notices */
.woocommerce-message,
.woocommerce-info {
	background: #f4ece6;
	border-top-color: var(--mona-blush);
	color: var(--mona-text);
}

.woocommerce-error {
	border-top-color: #c46;
}

/* Empty cart */
.rey-emptyCart {
	padding: 48px 24px;
	background: var(--mona-white);
	border: 1px solid var(--mona-nude);
	border-radius: 8px;
}

.rey-emptyCart .rey-emptyCart-content p {
	color: var(--mona-text-soft);
}

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--mona-white);
	border: 1px solid var(--mona-nude);
	border-radius: 8px;
	padding: 12px 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	color: var(--mona-text);
	padding: 12px 20px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: #f4ece6;
	color: var(--mona-chocolate);
}

.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--mona-white);
	border: 1px solid var(--mona-nude);
	border-radius: 8px;
	padding: 28px;
}

/* Shop archive spacing */
.woocommerce ul.products {
	margin-top: 20px;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	color: var(--mona-text-soft);
}

/* Coupon row */
.woocommerce-cart .coupon .input-text {
	min-width: 180px;
}

/* Quantity inputs */
.woocommerce .quantity .qty {
	min-height: 44px;
	border: 1px solid var(--mona-nude);
	border-radius: 4px;
}

@media (max-width: 767px) {
	.woocommerce .cart_totals,
	.woocommerce-checkout #payment,
	.woocommerce-account .woocommerce-MyAccount-content {
		padding: 20px;
	}

	body.woocommerce-checkout .rey-checkoutPage.--layout-custom .rey-checkoutPage-review {
		padding: 24px !important;
	}

	.mona-wc-intro {
		margin-bottom: 28px;
	}
}
