/**
 * Cart + Checkout — restyled via CSS against WooCommerce's own markup
 * classes (no template overrides; see inc/woocommerce.php header).
 */

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
	max-width: 80rem;
	margin-inline: auto;
	padding: 2.5rem 1.5rem 5rem;
}

.evelia-shipping-progress {
	border-radius: 1.25rem;
	border: 1px solid hsl(var(--champagne) / 0.5);
	background: hsl(0 0% 100% / 0.5);
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
	font-size: 0.8125rem;
}
.evelia-shipping-progress.is-complete { border-color: hsl(var(--champagne)); background: hsl(var(--nude) / 0.6); }
.evelia-shipping-progress__icon { color: hsl(var(--gold)); margin-inline-end: 0.4rem; }
.evelia-shipping-progress__track { margin-top: 0.6rem; height: 6px; width: 100%; border-radius: 999px; background: hsl(var(--champagne) / 0.3); }
.evelia-shipping-progress__fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, hsl(var(--rose)), hsl(var(--champagne))); transition: width 0.4s; }

.evelia-cart-trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem 1.5rem;
	font-size: 0.75rem;
	color: hsl(var(--muted-foreground));
	margin-bottom: 2rem;
	text-align: center;
}

.evelia-checkout-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	font-size: 0.75rem;
	color: hsl(var(--plum) / 0.85);
	background: hsl(var(--champagne) / 0.18);
	border-radius: 1rem;
	padding: 0.9rem 1.25rem;
	margin-bottom: 1.5rem;
}

table.shop_table {
	width: 100%;
	border-collapse: collapse;
	border: none;
}
table.shop_table thead th { text-align: start; font-size: 0.75rem; color: hsl(var(--muted-foreground)); border-bottom: 1px solid hsl(var(--champagne) / 0.5); padding-bottom: 0.75rem; }
table.shop_table td { border-bottom: 1px solid hsl(var(--champagne) / 0.35); padding: 1rem 0.5rem; vertical-align: middle; }
table.shop_table td.product-thumbnail img { width: 4.5rem; border-radius: 1rem; object-fit: cover; }
table.shop_table td.product-name a { color: hsl(var(--plum)); font-size: 0.9375rem; }
table.shop_table .product-price, table.shop_table .product-subtotal { color: hsl(var(--rose)); }
table.shop_table .quantity input.qty {
	width: 3.5rem;
	text-align: center;
	border: 1px solid hsl(var(--champagne));
	border-radius: 999px;
	padding: 0.4rem;
}
table.shop_table td.product-remove a.remove {
	display: inline-flex;
	height: 1.75rem;
	width: 1.75rem;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	color: hsl(var(--muted-foreground));
	font-size: 1.1rem;
}
table.shop_table td.product-remove a.remove:hover { background: hsl(var(--blush)); color: hsl(var(--destructive)); }
table.shop_table tfoot th, table.shop_table tfoot td { border-bottom: none; }
table.shop_table tr.cart-subtotal, table.shop_table tr.order-total { border-top: 1px solid hsl(var(--champagne) / 0.5); }
table.shop_table tr.order-total .amount { font-family: var(--font-display-family); font-size: 1.5rem; color: hsl(var(--plum)); }

.woocommerce-cart-form__contents { margin-bottom: 2rem; }

.woocommerce-cart .coupon { display: flex; gap: 0.6rem; margin-top: 1rem; }
.woocommerce-cart .coupon input.input-text {
	border: 1px solid hsl(var(--champagne) / 0.6);
	border-radius: 999px;
	padding: 0.6rem 1.1rem;
	font-size: 0.875rem;
}
.woocommerce-cart .coupon button.button, table.shop_table .button {
	border-radius: 999px;
	border: 1px solid hsl(var(--champagne));
	padding: 0.6rem 1.3rem;
	font-size: 0.8125rem;
	color: hsl(var(--plum));
	transition: background 0.2s;
}
.woocommerce-cart .coupon button.button:hover { background: hsl(var(--blush) / 0.6); }

.wc-proceed-to-checkout .checkout-button {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: hsl(var(--rose));
	color: hsl(var(--ivory));
	padding: 1rem;
	font-size: 12px;
	letter-spacing: 0.2em;
	transition: background 0.2s;
}
.wc-proceed-to-checkout .checkout-button:hover { background: hsl(var(--plum)); }

.cart-collaterals .cart_totals {
	border-radius: 1.75rem;
	background: hsl(var(--nude) / 0.55);
	padding: 1.75rem;
}
.cart-collaterals .cart_totals h2 { font-family: var(--font-display-family); font-size: 1.5rem; margin-bottom: 1rem; }

/* ---- Checkout form ---- */

#customer_details .col-1, #customer_details .col-2 { margin-bottom: 1.5rem; }
.woocommerce-billing-fields h3, #order_review_heading, .woocommerce-additional-fields h3 {
	font-family: var(--font-display-family);
	font-size: 1.375rem;
	color: hsl(var(--plum));
	margin-bottom: 1rem;
}
.form-row label { display: block; font-size: 0.75rem; letter-spacing: 0.05em; color: hsl(var(--muted-foreground)); margin-bottom: 0.35rem; }
.form-row .input-text, .form-row select, .form-row textarea {
	width: 100%;
	border: 1px solid hsl(var(--champagne) / 0.6);
	border-radius: 1rem;
	padding: 0.75rem 1rem;
	font-size: 0.875rem;
	background: hsl(var(--ivory));
}
.form-row .input-text:focus, .form-row select:focus, .form-row textarea:focus { outline: none; border-color: hsl(var(--rose)); }
.form-row.woocommerce-invalid .input-text { border-color: hsl(var(--destructive)); }

#order_review { border-radius: 1.75rem; background: hsl(var(--nude) / 0.55); padding: 1.75rem; margin-top: 1rem; }
#order_review table.shop_table td, #order_review table.shop_table th { padding: 0.6rem 0.25rem; }

.wc_payment_methods { list-style: none; padding: 0; margin: 1.25rem 0; display: flex; flex-direction: column; gap: 0.6rem; }
.wc_payment_method { border: 1px solid hsl(var(--champagne) / 0.5); border-radius: 1rem; padding: 0.9rem 1.1rem; }
.wc_payment_method label { font-size: 0.875rem; color: hsl(var(--plum)); }
.payment_box { margin-top: 0.75rem; font-size: 0.8125rem; color: hsl(var(--muted-foreground)); background: hsl(var(--blush) / 0.35); border-radius: 0.75rem; padding: 0.75rem 1rem; }

#place_order {
	display: flex;
	width: 100%;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: linear-gradient(120deg, hsl(348 40% 66%), hsl(345 32% 58%));
	color: hsl(var(--ivory));
	font-size: 13px;
	letter-spacing: 0.14em;
	margin-top: 1.25rem;
}
#place_order:hover { filter: brightness(1.04); }

.woocommerce-checkout-review-order-table tr.order-total td { font-family: var(--font-display-family); font-size: 1.5rem; }

/* ---- Order received / thank you ---- */

.woocommerce-order {
	max-width: 56rem;
	margin: 3rem auto 6rem;
	padding-inline: 1.5rem;
	text-align: center;
}
.woocommerce-order .woocommerce-thankyou-order-received {
	font-family: var(--font-display-family);
	font-size: 1.75rem;
	color: hsl(var(--plum));
}
.woocommerce-order ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem;
	list-style: none;
	padding: 0;
	margin: 2rem 0;
}
.woocommerce-order ul.woocommerce-order-overview li { border-radius: 1rem; background: hsl(var(--blush) / 0.4); padding: 1rem 1.5rem; font-size: 0.8125rem; }
.woocommerce-order ul.woocommerce-order-overview li strong { display: block; font-family: var(--font-display-family); font-size: 1.1rem; margin-top: 0.25rem; }

/* Horizons Lucide trust icon alignment. */
.evelia-cart-trust span, .evelia-checkout-trust span { display: inline-flex; align-items: center; gap: 0.5rem; }
.evelia-cart-trust svg, .evelia-checkout-trust svg { flex: 0 0 auto; color: hsl(var(--gold)); }
