/* WooCommerce Custom Styles for Auralaya */

/* Prevent WooCommerce default styles from breaking Header and Footer logos */
body.woocommerce header img,
body.woocommerce-page header img,
body.woocommerce-checkout header img,
body.woocommerce-cart header img,
header a img {
	height: 2rem !important;
	width: auto !important;
	max-width: none !important;
	object-fit: contain !important;
}

@media (min-width: 768px) {
	body.woocommerce header img,
	body.woocommerce-page header img,
	body.woocommerce-checkout header img,
	body.woocommerce-cart header img,
	header a img {
		height: 2.5rem !important;
	}
}

body.woocommerce footer img,
body.woocommerce-page footer img,
body.woocommerce-checkout footer img,
body.woocommerce-cart footer img,
footer a img,
footer img {
	height: 3rem !important;
	width: auto !important;
	max-width: none !important;
}

.auralaya-wc-ordering form {
	margin: 0;
}

.auralaya-wc-ordering select {
	appearance: none;
	-webkit-appearance: none;
	background-color: transparent;
	border: 1px solid rgba(107, 142, 119, 0.2);
	/* lavender/20 */
	color: var(--color-amethyst);
	padding: 0.5rem 2.5rem 0.5rem 1rem;
	border-radius: 9999px;
	/* rounded-full */
	font-family: var(--font-sans);
	font-size: 0.875rem;
	/* text-sm */
	outline: none;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23d4af37'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 1rem;
	transition: all 0.3s ease;
}

.auralaya-wc-ordering select:hover {
	border-color: var(--color-gold);
}

.auralaya-wc-ordering select:focus {
	border-color: var(--color-gold);
	box-shadow: 0 0 0 1px var(--color-gold);
}

/* Dark ATC Area Styles */
.auralaya-single-atc-dark {
	color: var(--color-white);
}

.auralaya-single-atc-dark .price {
	color: var(--color-gold);
	font-size: 1.5rem;
	margin-bottom: 1rem;
	font-family: var(--font-serif);
}

.auralaya-single-atc-dark .price del {
	color: rgba(255, 255, 255, 0.4);
	font-size: 1rem;
	margin-right: 0.5rem;
}

.auralaya-single-atc-dark .price ins {
	text-decoration: none;
}

/* Form layout */
.auralaya-single-atc-dark form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	align-items: center;
}

/* Single product variations */
.auralaya-single-atc-dark .variations {
	width: 100%;
	margin-bottom: 1rem;
}

.auralaya-single-atc-dark .variations tr {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	margin-bottom: 1rem;
}

.auralaya-single-atc-dark .variations td.label {
	padding: 0;
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.7);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.auralaya-single-atc-dark .variations td.value {
	padding: 0;
}

.auralaya-single-atc-dark .variations select {
	width: 100%;
	padding: 0.625rem 1rem;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 0.75rem;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: #fff;
	outline: none;
	cursor: pointer;
	transition: border-color 0.2s;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='rgba(255,255,255,0.5)'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 9l6 6 6-6'%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 1rem;
}

.auralaya-single-atc-dark .variations select:focus {
	border-color: var(--color-gold);
}

.auralaya-single-atc-dark .variations select option {
	color: var(--color-amethyst);
	background: #fff;
}

.auralaya-single-atc-dark .reset_variations {
	font-family: var(--font-sans);
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.5);
	text-decoration: underline;
	margin-top: 0.375rem;
	display: inline-block;
	transition: color 0.2s;
}

.auralaya-single-atc-dark .reset_variations:hover {
	color: var(--color-gold);
}

/* Quantity wrapper */
.auralaya-single-atc-dark .quantity {
	display: flex;
	align-items: center;
}

.auralaya-single-atc-dark .quantity .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.auralaya-single-atc-dark .quantity input.qty {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: #fff;
	padding: 0.75rem 0.5rem;
	border-radius: 0.75rem;
	width: 64px;
	text-align: center;
	font-family: var(--font-sans);
	font-size: 0.9375rem;
	font-weight: 500;
	outline: none;
	transition: border-color 0.2s;
	-moz-appearance: textfield;
}

.auralaya-single-atc-dark .quantity input.qty::-webkit-inner-spin-button,
.auralaya-single-atc-dark .quantity input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.auralaya-single-atc-dark .quantity input.qty:focus {
	border-color: var(--color-gold);
}

/* Add to cart button */
.auralaya-single-atc-dark button.button,
.auralaya-single-atc-dark button.single_add_to_cart_button {
	background: var(--color-gold);
	color: var(--color-amethyst);
	padding: 0.875rem 2.5rem;
	border-radius: 9999px;
	font-family: var(--font-sans);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-weight: 700;
	transition: background 0.3s ease, color 0.3s ease, transform 0.2s;
	border: none;
	cursor: pointer;
	line-height: 1.4;
	white-space: nowrap;
}

.auralaya-single-atc-dark button.button:hover,
.auralaya-single-atc-dark button.single_add_to_cart_button:hover {
	background: var(--color-cream);
	color: var(--color-amethyst);
	transform: translateY(-1px);
}

.auralaya-single-atc-dark button.button:active,
.auralaya-single-atc-dark button.single_add_to_cart_button:active {
	transform: translateY(0);
}

.auralaya-single-atc-dark button.button:disabled,
.auralaya-single-atc-dark button.single_add_to_cart_button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

/* Product meta */
.auralaya-single-atc-dark .product_meta {
	margin-top: 2rem;
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.7);
	text-align: center;
}

.auralaya-single-atc-dark .product_meta a {
	color: var(--color-gold);
	transition: color 0.2s;
}

.auralaya-single-atc-dark .product_meta a:hover {
	color: var(--color-cream);
}

/* Stock status */
.auralaya-single-atc-dark .stock {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: 1rem;
}

.auralaya-single-atc-dark .stock.in-stock {
	color: #6ee7b7;
}

/* WooCommerce variation price */
.auralaya-single-atc-dark .woocommerce-variation-price {
	margin-bottom: 0.75rem;
}

.auralaya-single-atc-dark .woocommerce-variation-availability {
	margin-bottom: 0.75rem;
}

/* ATC wrapper on mobile */
@media (max-width: 480px) {
	.auralaya-single-atc-dark form.cart {
		flex-direction: column;
	}

	.auralaya-single-atc-dark button.button,
	.auralaya-single-atc-dark button.single_add_to_cart_button {
		width: 100%;
	}
}

.auralaya-wc-page .auralaya-single-atc-dark .auralaya-add-to-cart-wrapper button.button {
	border: 2px solid var(--color-gold)
}

.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=number],
.wc-block-components-form .wc-block-components-text-input input[type=password],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=url],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=number],
.wc-block-components-text-input input[type=password],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=url],
.wc-blocks-components-select .wc-blocks-components-select__select {
	border: 1px solid #e5e5e5;
}

/* ==========================================================
   Store Notices (Success, Error, Info messages)
   ========================================================== */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	padding: 1rem 1.5rem;
	margin-bottom: 2rem;
	border-radius: 1rem;
	background-color: var(--color-white);
	color: var(--color-amethyst);
	font-family: var(--font-sans);
	font-size: 0.875rem;
	border: 1px solid rgba(107, 142, 119, 0.2);
	display: flex;
	align-items: center;
	gap: 1rem;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
	list-style: none;
}

.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-size: contain;
	background-repeat: no-repeat;
	flex-shrink: 0;
}

.woocommerce-message {
	border-left: 4px solid var(--color-gold);
}

.woocommerce-error {
	border-left: 4px solid #ef4444;
	/* red-500 */
}

.woocommerce-info {
	border-left: 4px solid var(--color-amethyst);
}

.woocommerce-message a.button {
	margin-left: auto;
	background-color: var(--color-gold);
	color: var(--color-amethyst);
	padding: 0.5rem 1rem;
	border-radius: 9999px;
	font-size: 0.75rem;
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-decoration: none;
	transition: background-color 0.3s;
}

.woocommerce-message a.button:hover {
	background-color: var(--color-amethyst);
	color: var(--color-cream);
}

/* ==========================================================
   Global Form Elements
   ========================================================== */
.auralaya-wc-page input[type="text"],
.auralaya-wc-page input[type="email"],
.auralaya-wc-page input[type="tel"],
.auralaya-wc-page input[type="password"],
.auralaya-wc-page textarea,
.auralaya-wc-page select {
	width: 100%;
	padding: 0.75rem 1rem;
	border-radius: 0.75rem;
	border: 1px solid rgba(107, 142, 119, 0.2);
	background-color: var(--color-white);
	color: var(--color-amethyst);
	font-family: var(--font-sans);
	outline: none;
	transition: all 0.3s ease;
}

.auralaya-wc-page input:focus,
.auralaya-wc-page textarea:focus,
.auralaya-wc-page select:focus {
	border-color: var(--color-gold);
	box-shadow: 0 0 0 1px var(--color-gold);
}

.auralaya-wc-page label {
	display: block;
	margin-bottom: 0.5rem;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--color-amethyst);
}

/* Global Buttons */
.auralaya-wc-page button.button,
.auralaya-wc-page a.button,
.auralaya-wc-page input.button {
	display: inline-block;
	background-color: var(--color-amethyst);
	color: var(--color-cream);
	padding: 0.875rem 2rem;
	border-radius: 9999px;
	font-family: var(--font-sans);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-weight: 700;
	transition: all 0.3s ease;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
}

.auralaya-wc-page button.button:hover,
.auralaya-wc-page a.button:hover,
.auralaya-wc-page input.button:hover {
	background-color: var(--color-gold);
	color: var(--color-amethyst);
}

/* ==========================================================
   Cart Page
   ========================================================== */
.woocommerce-cart .woocommerce {
	max-width: 1200px;
	margin: 0 auto;
	padding: 4rem 2rem;
}

table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 2rem;
	background: var(--color-white);
	border-radius: 1.5rem;
	overflow: hidden;
	border: 1px solid rgba(107, 142, 119, 0.1);
}

table.shop_table th {
	padding: 1.5rem 1rem;
	text-align: left;
	font-family: var(--font-sans);
	font-weight: 600;
	color: var(--color-amethyst);
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	background: rgba(107, 142, 119, 0.05);
	border-bottom: 1px solid rgba(107, 142, 119, 0.1);
}

table.shop_table td {
	padding: 1.5rem 1rem;
	border-bottom: 1px solid rgba(107, 142, 119, 0.1);
	vertical-align: middle;
}

table.shop_table td.product-name a {
	color: var(--color-amethyst);
	font-family: var(--font-serif);
	font-size: 1.25rem;
	text-decoration: none;
}

table.shop_table td.product-name a:hover {
	color: var(--color-gold);
}

table.shop_table td.product-remove a {
	color: #ef4444;
	font-size: 1.5rem;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(239, 68, 68, 0.1);
	transition: all 0.3s;
}

table.shop_table td.product-remove a:hover {
	background: #ef4444;
	color: white;
}

table.shop_table td.product-thumbnail img {
	width: 80px;
	height: auto;
	border-radius: 0.5rem;
}

.woocommerce-cart .actions {
	padding: 1.5rem !important;
	background: rgba(107, 142, 119, 0.02);
}

.woocommerce-cart .actions .coupon {
	display: flex;
	gap: 1rem;
	align-items: center;
}

.woocommerce-cart .actions .coupon input {
	width: auto;
	min-width: 200px;
}

.cart-collaterals {
	display: flex;
	justify-content: flex-end;
	margin-top: 2rem;
}

.cart_totals {
	width: 100%;
	max-width: 400px;
	background: var(--color-white);
	padding: 2rem;
	border-radius: 1.5rem;
	border: 1px solid rgba(107, 142, 119, 0.1);
}

.cart_totals h2 {
	font-family: var(--font-serif);
	font-size: 1.5rem;
	color: var(--color-amethyst);
	margin-bottom: 1.5rem;
	border-bottom: 1px solid rgba(107, 142, 119, 0.1);
	padding-bottom: 1rem;
}

.cart_totals table {
	width: 100%;
	margin-bottom: 2rem;
}

.cart_totals table th,
.cart_totals table td {
	padding: 1rem 0;
	border-bottom: 1px solid rgba(107, 142, 119, 0.1);
}

.cart_totals table th {
	text-align: left;
	font-family: var(--font-sans);
	font-weight: 500;
}

.cart_totals table td {
	text-align: right;
	font-family: var(--font-sans);
}

.wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	text-align: center;
	background-color: var(--color-gold);
	color: var(--color-amethyst);
}

.wc-proceed-to-checkout a.checkout-button:hover {
	background-color: var(--color-amethyst);
	color: var(--color-cream);
}

/* ==========================================================
   Checkout Page
   ========================================================== */
.woocommerce-checkout .woocommerce {
	max-width: 1200px;
	margin: 0 auto;
	padding: 4rem 2rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}

@media (min-width: 1024px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: 1.5fr 1fr;
		gap: 4rem;
	}
}

.woocommerce-checkout h3 {
	font-family: var(--font-serif);
	font-size: 2rem;
	color: var(--color-amethyst);
	margin-bottom: 1.5rem;
	border-bottom: 1px solid rgba(107, 142, 119, 0.1);
	padding-bottom: 1rem;
}

#order_review_heading {
	margin-top: 0;
}

#order_review {
	background: var(--color-white);
	padding: 2rem;
	border-radius: 1.5rem;
	border: 1px solid rgba(107, 142, 119, 0.1);
}

table.woocommerce-checkout-review-order-table {
	width: 100%;
	margin-bottom: 2rem;
}

table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td {
	padding: 1rem 0;
	border-bottom: 1px solid rgba(107, 142, 119, 0.1);
}

#payment {
	background: rgba(107, 142, 119, 0.05);
	border-radius: 1rem;
	padding: 1.5rem;
}

#payment ul.payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem 0;
}

#payment ul.payment_methods li {
	margin-bottom: 1rem;
}

#payment ul.payment_methods li input[type="radio"] {
	margin-right: 0.5rem;
}

#payment div.payment_box {
	background: var(--color-white);
	padding: 1rem;
	border-radius: 0.5rem;
	margin-top: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-amethyst);
	border: 1px solid rgba(107, 142, 119, 0.1);
}

/* ==========================================================
   My Account Page
   ========================================================== */
.woocommerce-account .woocommerce {
	max-width: 1200px;
	margin: 0 auto;
	padding: 4rem 2rem;
}

@media (min-width: 768px) {
	.woocommerce-account .woocommerce {
		display: grid;
		grid-template-columns: 250px 1fr;
		gap: 3rem;
	}
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	background: var(--color-white);
	border-radius: 1rem;
	overflow: hidden;
	border: 1px solid rgba(107, 142, 119, 0.1);
}

.woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid rgba(107, 142, 119, 0.1);
}

.woocommerce-MyAccount-navigation li:last-child {
	border-bottom: none;
}

.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 1rem 1.5rem;
	color: var(--color-amethyst);
	font-family: var(--font-sans);
	text-decoration: none;
	transition: all 0.3s;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
	background: var(--color-gold);
	color: var(--color-amethyst);
	font-weight: 600;
}

.woocommerce-MyAccount-content {
	background: var(--color-white);
	padding: 2rem;
	border-radius: 1.5rem;
	border: 1px solid rgba(107, 142, 119, 0.1);
}

/* ==========================================================
   Empty Cart State
   ========================================================== */
.cart-empty.woocommerce-info {
	background: transparent;
	border: none;
	box-shadow: none;
	text-align: center;
	font-size: 1.25rem;
	color: var(--color-amethyst);
	padding: 3rem 1rem;
	display: block;
	margin-bottom: 1rem;
}

.cart-empty.woocommerce-info::before {
	display: none;
}

.return-to-shop {
	text-align: center;
	margin-bottom: 4rem;
}

.return-to-shop a.button.wc-backward {
	background-color: var(--color-gold);
	color: var(--color-amethyst);
	padding: 1rem 3rem;
	border-radius: 9999px;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-weight: 700;
	transition: all 0.3s ease;
	border: none;
}

.return-to-shop a.button.wc-backward:hover {
	background-color: var(--color-amethyst);
	color: var(--color-white);
}

/* ==========================================================
   Cross-Sells / Up-Sells on Cart
   ========================================================== */
.cart-collaterals .cross-sells {
	width: 100%;
	margin-top: 4rem;
}

.cart-collaterals .cross-sells h2 {
	font-family: var(--font-serif);
	font-size: 2rem;
	color: var(--color-amethyst);
	margin-bottom: 2rem;
	text-align: center;
}

.woocommerce .cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 2rem;
}

.woocommerce .cross-sells ul.products li.product {
	width: 100%;
	margin: 0;
	background: rgba(255, 255, 255, 0.4);
	backdrop-filter: blur(4px);
	border: 1px solid rgba(107, 142, 119, 0.1);
	border-radius: 2.5rem;
	padding: 1.5rem;
	text-align: center;
	transition: all 0.3s ease;
}

.woocommerce .cross-sells ul.products li.product:hover {
	border-color: rgba(212, 175, 55, 0.3);
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.woocommerce .cross-sells ul.products li.product img {
	border-radius: 1rem;
	margin-bottom: 1.5rem;
}

.woocommerce .cross-sells ul.products li.product h2.woocommerce-loop-product__title {
	font-family: var(--font-serif);
	font-size: 1.25rem;
	color: var(--color-amethyst);
	margin-bottom: 0.5rem;
}

.woocommerce .cross-sells ul.products li.product .price {
	font-family: var(--font-serif);
	color: var(--color-gold);
	font-weight: 600;
	margin-bottom: 1rem;
	display: block;
}

/* ==========================================================
   Mini Cart Slide-out Panel
   ========================================================== */
.auralaya-mini-cart-content {
	flex: 1 1 0%;
	overflow-y: auto;
	padding: 1.5rem;
}

.woocommerce-mini-cart {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-mini-cart__empty-message {
	text-align: center;
	color: var(--color-amethyst);
	padding: 2rem 0;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(107, 142, 119, 0.2);
}

.woocommerce-mini-cart .woocommerce-mini-cart-item img {
	width: 60px;
	height: 60px;
	object-fit: cover;
	border-radius: 0.5rem;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item a {
	color: var(--color-amethyst);
	font-family: var(--font-serif);
	text-decoration: none;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item .quantity {
	display: block;
	font-size: 0.875rem;
	color: var(--color-gold);
	margin-top: 0.25rem;
}

.woocommerce-mini-cart__total {
	border-top: 1px solid rgba(107, 142, 119, 0.2);
	padding-top: 1.5rem;
	margin-top: 1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--font-serif);
	font-size: 1.25rem;
	color: var(--color-amethyst);
}

.woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.woocommerce-mini-cart__buttons a.button {
	text-align: center;
	width: 100%;
	border-radius: 9999px;
	padding: 1rem;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 600;
	transition: all 0.3s ease;
}

.woocommerce-mini-cart__buttons a.button.checkout {
	background-color: var(--color-gold);
	color: var(--color-amethyst);
}

.woocommerce-mini-cart__buttons a.button.checkout:hover {
	background-color: var(--color-amethyst);
	color: var(--color-white);
}

/* ==========================================================
   Cart Block (WooCommerce Blocks Cart page)
   ========================================================== */
.wc-block-cart .wc-block-components-main {
	padding: 0;
}

.wc-block-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-totals-block {
	background: #fff;
	border-radius: 1.5rem;
	border: 1px solid rgba(107, 142, 119, 0.1);
	padding: 1.5rem;
}

.wc-block-cart .wc-block-cart-items {
	border: 1px solid rgba(107, 142, 119, 0.1);
	border-radius: 1.5rem;
	overflow: hidden;
	background: #fff;
}

.wc-block-cart .wc-block-cart-items thead th {
	background: rgba(107, 142, 119, 0.05);
	padding: 1.25rem 1rem;
	font-family: var(--font-sans);
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-amethyst);
	border-bottom: 1px solid rgba(107, 142, 119, 0.1);
}

.wc-block-cart .wc-block-cart-items tbody tr {
	border-bottom: 1px solid rgba(107, 142, 119, 0.07);
}

.wc-block-cart .wc-block-cart-items tbody tr:last-child {
	border-bottom: none;
}

.wc-block-cart .wc-block-cart-items tbody td {
	padding: 1.25rem 1rem;
	vertical-align: top;
}

.wc-block-cart .wc-block-cart-item__image a {
	display: block;
}

.wc-block-cart .wc-block-cart-item__image img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 0.75rem;
}

.wc-block-cart .wc-block-components-product-name {
	font-family: var(--font-serif);
	font-size: 1.125rem;
	color: var(--color-amethyst);
	text-decoration: none;
	transition: color 0.2s;
}

.wc-block-cart .wc-block-components-product-name:hover {
	color: var(--color-gold);
}

.wc-block-cart .wc-block-cart-item__prices {
	margin-top: 0.25rem;
}

.wc-block-cart .wc-block-cart-item__prices .price {
	font-family: var(--font-sans);
	font-size: 0.9375rem;
}

.wc-block-cart .wc-block-components-product-price__regular {
	color: rgba(26, 47, 35, 0.35);
	font-size: 0.8125rem;
}

.wc-block-cart .wc-block-components-product-price__value {
	color: var(--color-amethyst);
	font-weight: 600;
}

.wc-block-cart .wc-block-components-product-price__value.is-discounted {
	color: #b8962e;
}

.wc-block-cart .wc-block-components-product-metadata__description p {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	color: rgba(26, 47, 35, 0.5);
	line-height: 1.5;
	margin: 0.375rem 0;
}

.wc-block-cart .wc-block-cart-item__quantity {
	margin-top: 0.75rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.wc-block-cart .wc-block-components-quantity-selector {
	display: inline-flex;
	align-items: center;
	border: 1px solid rgba(107, 142, 119, 0.2);
	border-radius: 999px;
	overflow: hidden;
	background: transparent;
}

.wc-block-cart .wc-block-components-quantity-selector input {
	width: 3rem;
	text-align: center;
	border: none;
	padding: 0.5rem 0;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-amethyst);
	background: transparent;
	-moz-appearance: textfield;
}

.wc-block-cart .wc-block-components-quantity-selector input::-webkit-outer-spin-button,
.wc-block-cart .wc-block-components-quantity-selector input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.wc-block-cart .wc-block-components-quantity-selector button {
	width: 2.25rem;
	height: 2.25rem;
	border: none;
	background: transparent;
	color: var(--color-amethyst);
	font-size: 1rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, color 0.2s;
	border-radius: 0;
	padding: 0;
}

.wc-block-cart .wc-block-components-quantity-selector button:hover {
	background: rgba(212, 175, 55, 0.1);
	color: var(--color-gold);
}

.wc-block-cart .wc-block-cart-item__remove-link {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0.375rem;
	color: rgba(26, 47, 35, 0.2);
	transition: color 0.2s, background 0.2s;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.wc-block-cart .wc-block-cart-item__remove-link:hover {
	color: #b8962e;
	background: rgba(212, 175, 55, 0.08);
}

.wc-block-cart .wc-block-cart-item__remove-link svg {
	width: 18px;
	height: 18px;
}

.wc-block-cart .wc-block-cart-item__total .price {
	font-family: var(--font-serif);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--color-amethyst);
}

.wc-block-cart .wc-block-components-sale-badge {
	display: inline-block;
	background: rgba(212, 175, 55, 0.1);
	color: #b8962e;
	font-family: var(--font-sans);
	font-size: 0.6875rem;
	font-weight: 600;
	padding: 0.25rem 0.625rem;
	border-radius: 999px;
	margin-top: 0.375rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.wc-block-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

/* Cart Sidebar */
.wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
	padding: 0;
	border: none;
	margin-top: 1.25rem;
}

.wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper:first-child {
	margin-top: 0;
}

.wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
	padding: 0.75rem 0;
	border-bottom: 1px solid rgba(107, 142, 119, 0.08);
}

.wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-item:last-child {
	border-bottom: none;
}

.wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-item__label {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--color-amethyst);
	font-weight: 500;
}

.wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value {
	font-family: var(--font-serif);
	font-size: 1rem;
	color: var(--color-amethyst);
	font-weight: 600;
}

.wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.25rem;
	color: var(--color-gold);
}

/* Cart totals heading */
.wc-block-cart .wc-block-cart__sidebar .wc-block-cart__totals-title {
	font-family: var(--font-serif);
	font-size: 1.375rem;
	color: var(--color-amethyst);
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(107, 142, 119, 0.1);
	margin-bottom: 0;
}

/* Coupon toggle */
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	color: var(--color-amethyst);
	padding: 0.75rem 0;
	border: none;
	background: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	transition: color 0.2s;
}

.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
	color: var(--color-gold);
}

.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-panel__button svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-panel__content {
	padding: 0.75rem 0 1rem;
}

.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-totals-coupon__form {
	display: flex;
	gap: 0.5rem;
}

.wc-block-cart .wc-block-components-totals-coupon input {
	flex: 1;
	padding: 0.625rem 1rem;
	border: 1px solid rgba(107, 142, 119, 0.2);
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	color: var(--color-amethyst);
	background: #fff;
	outline: none;
	transition: border-color 0.2s;
}

.wc-block-cart .wc-block-components-totals-coupon input:focus {
	border-color: var(--color-gold);
}

.wc-block-cart .wc-block-components-totals-coupon button.wp-element-button {
	padding: 0.625rem 1.25rem;
	border: none;
	border-radius: 999px;
	background: var(--color-amethyst);
	color: var(--color-cream);
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition: background 0.25s, color 0.25s;
}

.wc-block-cart .wc-block-components-totals-coupon button.wp-element-button:hover {
	background: var(--color-gold);
	color: var(--color-amethyst);
}

/* Shipping */
.wc-block-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__label {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--color-amethyst);
}

.wc-block-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__value strong {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-lavender);
}

/* Proceed to Checkout button */
.wc-block-cart .wc-block-cart__submit {
	margin-top: 1.25rem;
}

.wc-block-cart .wc-block-cart__submit .wc-block-cart__submit-container {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.wc-block-cart .wc-block-cart__submit a.wc-block-cart__submit-button {
	width: 100%;
	padding: 1rem 2rem;
	background: var(--color-gold);
	color: var(--color-amethyst);
	border: none;
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	cursor: pointer;
	text-decoration: none;
	display: block;
	text-align: center;
	transition: background 0.25s, color 0.25s, transform 0.2s;
}

.wc-block-cart .wc-block-cart__submit a.wc-block-cart__submit-button:hover {
	background: var(--color-amethyst);
	color: var(--color-cream);
	transform: translateY(-1px);
}

/* Express payment */
.wc-block-cart .wc-block-components-express-payment {
	margin-top: 1.25rem;
}

.wc-block-cart .wc-block-components-express-payment__content ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.wc-block-cart .wc-block-components-express-payment-continue-rule {
	text-align: center;
	font-family: var(--font-sans);
	font-size: 0.75rem;
	color: rgba(26, 47, 35, 0.35);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 1rem 0 0;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.wc-block-cart .wc-block-components-express-payment-continue-rule::before,
.wc-block-cart .wc-block-components-express-payment-continue-rule::after {
	content: '';
	flex: 1;
	height: 1px;
	background: rgba(107, 142, 119, 0.15);
}

/* Cross-sells (Product Collection) */
.wp-block-woocommerce-product-collection {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(107, 142, 119, 0.1);
}

.wp-block-woocommerce-product-collection h2 {
	font-family: var(--font-serif);
	font-size: 1.5rem;
	color: var(--color-amethyst);
	margin-bottom: 1.5rem;
}

.wp-block-woocommerce-product-collection .wc-block-product-template__responsive {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.5rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.wp-block-woocommerce-product-collection .wc-block-product {
	background: #fff;
	border: 1px solid rgba(107, 142, 119, 0.08);
	border-radius: 1.5rem;
	padding: 1.25rem;
	text-align: center;
	transition: border-color 0.25s, box-shadow 0.25s;
}

.wp-block-woocommerce-product-collection .wc-block-product:hover {
	border-color: rgba(212, 175, 55, 0.25);
	box-shadow: 0 8px 20px rgba(26, 47, 35, 0.06);
}

.wp-block-woocommerce-product-collection .wc-block-product h2 {
	font-family: var(--font-serif);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.3;
	margin: 0;
}

.wp-block-woocommerce-product-collection .wc-block-product h2 a {
	color: var(--color-amethyst);
	text-decoration: none;
	transition: color 0.2s;
}

.wp-block-woocommerce-product-collection .wc-block-product h2 a:hover {
	color: var(--color-gold);
}

/* Cart wrapper spacing */
.woocommerce-cart .wp-block-woocommerce-cart {
	max-width: 1280px;
	margin: 0 auto;
	padding: 2rem 1.5rem 4rem;
}

@media (min-width: 768px) {
	.woocommerce-cart .wp-block-woocommerce-cart {
		padding: 3rem 2rem 5rem;
	}
}

/* Sidebar layout gap */
.wc-block-cart .wc-block-components-sidebar-layout {
	gap: 2rem;
}

@media (min-width: 768px) {
	.wc-block-cart .wc-block-components-sidebar-layout {
		gap: 3rem;
	}
}

/* Coupon applied state */
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
	padding: 0.625rem 1.25rem;
	border: 1px solid rgba(212, 175, 55, 0.3);
	border-radius: 999px;
	background: transparent;
	color: #b8962e;
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover {
	background: rgba(212, 175, 55, 0.08);
	color: var(--color-gold);
}

/* Mobile responsive: stack main/sidebar */
@media (max-width: 767px) {
	.wc-block-cart .wc-block-components-sidebar-layout {
		flex-direction: column;
	}

	.wc-block-cart .wc-block-cart-items thead {
		display: none;
	}

	.wc-block-cart .wc-block-cart-items tbody td {
		padding: 1rem;
	}

	.wc-block-cart .wc-block-cart-item__image img {
		width: 64px;
		height: 64px;
	}

	.wc-block-cart .wc-block-components-product-name {
		font-size: 1rem;
	}
}

/* Remove default block button styles that conflict */
.wc-block-cart .wp-element-button,
.wc-block-cart .wp-block-button__link {
	text-decoration: none;
}

/* ======================================================
   CHECKOUT PAGE (WooCommerce Block)
   ====================================================== */

/* Page wrapper */
.woocommerce-checkout .wp-block-woocommerce-checkout {
	max-width: 1280px;
	margin: 0 auto;
	padding: 2rem 1.5rem 4rem;
}

@media (min-width: 768px) {
	.woocommerce-checkout .wp-block-woocommerce-checkout {
		padding: 3rem 2rem 5rem;
	}
}

.wc-block-checkout .wc-block-components-sidebar-layout {
	gap: 2rem;
	flex-wrap: nowrap;
}

@media (min-width: 768px) {
	.wc-block-checkout .wc-block-components-sidebar-layout {
		gap: 3rem;
	}
}

/* Main column (form) */
.wc-block-checkout__main> :first-child {
	margin-top: 0;
}

/* ======================================================
   EXPRESS CHECKOUT (Disabled for Card Only Checkout)
   ====================================================== */

.wc-block-checkout .wc-block-components-express-payment,
.wc-block-components-express-payment,
.wc-block-checkout__express-payment {
	display: none !important;
}

/* Card Brand Icons (Visa, Mastercard, AMEX, Discover) */
.wc-stripe-card-icons img,
.stripe-visa-icon,
.stripe-mastercard-icon,
.stripe-amex-icon,
.stripe-discover-icon {
	height: 1.35rem !important;
	width: auto !important;
	max-width: 2.5rem !important;
	display: inline-block !important;
	vertical-align: middle !important;
	border-radius: 3px !important;
}

.wc-block-checkout .wc-block-components-express-payment__title-container {
	margin-bottom: 0.75rem;
}

.wc-block-checkout .wc-block-components-express-payment__title {
	font-family: var(--font-serif);
	font-size: 1.15rem;
	font-weight: 500;
	color: var(--color-amethyst);
}

.wc-block-checkout .wc-block-components-express-payment__content {
	padding: 1.25rem;
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
	transform: translateY(1.5rem);
}

.wc-block-checkout .wc-block-components-express-payment__content ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.wc-block-checkout .wc-block-components-express-payment-continue-rule {
	text-align: center;
	font-family: var(--font-sans);
	font-size: 0.75rem;
	color: rgba(26, 47, 35, 0.35);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 1.25rem 0 1rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.wc-block-checkout .wc-block-components-express-payment-continue-rule::before,
.wc-block-checkout .wc-block-components-express-payment-continue-rule::after {
	content: '';
	flex: 1;
	height: 1px;
	background: rgba(107, 142, 119, 0.15);
}

/* ======================================================
   CHECKOUT STEPS (cards)
   ====================================================== */

.wc-block-checkout .wc-block-components-checkout-step {
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
	padding: 1.5rem 1.75rem;
	margin-bottom: 1.25rem;
}

.wc-block-checkout .wc-block-components-checkout-step:hover {
	border-color: rgba(212, 175, 55, 0.15);
}

/* Step heading */
.wc-block-checkout .wc-block-components-checkout-step__heading {
	margin-bottom: 0;
}

.wc-block-checkout .wc-block-components-checkout-step__title {
	font-family: var(--font-serif);
	font-size: 1.15rem;
	font-weight: 500;
	color: var(--color-amethyst);
}

/* Step content inner spacing */
.wc-block-checkout .wc-block-components-checkout-step__content {
	padding-top: 0.25rem;
}

/* Extra spacing for shipping options / payment method steps */
.wc-block-checkout .wc-block-checkout__shipping-option.wc-block-components-checkout-step,
.wc-block-checkout .wc-block-checkout__payment-method.wc-block-components-checkout-step {
	padding: 1.75rem 1.75rem;
}

.wc-block-checkout .wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__package {
	margin-top: 0.5rem;
}

/* Step description */
.wc-block-checkout .wc-block-components-checkout-step__description {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	color: rgba(26, 47, 35, 0.55);
	margin-top: 0.25rem;
}

/* Guest checkout notice */
.wc-block-checkout__guest-checkout-notice {
	font-family: var(--font-sans);
	font-size: 0.75rem;
	color: rgba(26, 47, 35, 0.5);
	font-style: italic;
	margin-top: 0.5rem;
}

/* ======================================================
   FORM FIELDS (text inputs, selects)
   ====================================================== */

.wc-block-checkout .wc-block-components-text-input,
.wc-block-checkout .wc-block-components-combobox,
.wc-block-checkout .wc-block-components-select {
	margin-bottom: 0.75rem;
	position: relative;
}

.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-combobox input,
.wc-block-checkout .wc-block-components-select select {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #f5f5f5;
	border-radius: 0.75rem;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--color-amethyst);
	background: #fff;
	outline: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-combobox input:focus,
.wc-block-checkout .wc-block-components-select select:focus {
	border-color: var(--color-gold);
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
}

/* Floating labels — let WC handle positioning, just style text */
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-combobox label {
	font-family: var(--font-sans);
	font-size: 0.65rem;
	font-weight: 600;
	color: var(--color-lavender);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Error state */
.wc-block-checkout .wc-block-components-text-input.has-error input {
	border-color: #dc2626;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.08);
}

.wc-block-checkout .wc-block-components-validation-error {
	font-family: var(--font-sans);
	font-size: 0.75rem;
	color: #dc2626;
	margin-top: 0.25rem;
}

/* ======================================================
   ADDRESS CARD (saved address with Edit button)
   ====================================================== */

.wc-block-checkout .wc-block-components-address-card {
	background: rgba(107, 142, 119, 0.04);
	border: 1px solid #f5f5f5;
	border-radius: 0.75rem;
	padding: 0.75rem 1rem;
	margin-bottom: 1rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.wc-block-checkout .wc-block-components-address-card address {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--color-amethyst);
	font-style: normal;
	line-height: 1.5;
}

.wc-block-checkout .wc-block-components-address-card__edit {
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-lavender);
	cursor: pointer;
	text-decoration: underline;
	transition: color 0.2s;
	background: none;
	border: none;
	padding: 0;
}

.wc-block-checkout .wc-block-components-address-card__edit:hover {
	color: var(--color-gold);
}

/* ======================================================
   CHECKBOX (custom WooCommerce hidden input + SVG)
   ====================================================== */

.wc-block-checkout .wc-block-components-checkbox {
	margin: 0.75rem 0;
}

.wc-block-checkout .wc-block-components-checkbox label {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--color-amethyst);
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.wc-block-components-checkbox .wc-block-components-checkbox__mark {
	margin-left: 1px;
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	border: 2px solid #e5e5e5;
	box-shadow: none;
	margin-bottom: 0;
}



.wc-block-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	border: 2px solid #f5f5f5;
	border-radius: 4px;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.wc-block-checkout .wc-block-components-checkbox input[type="checkbox"]:checked+.wc-block-components-checkbox__mark {
	background: var(--color-gold);
	border-color: var(--color-gold);
}

/* ======================================================
   RADIO BUTTONS (shipping options, payment methods)
   ====================================================== */

.wc-block-checkout .wc-block-components-radio-control__option {
	padding: 0.875rem 1.125rem 0.875rem 3rem;
	border: 1px solid #f5f5f5;
	border-radius: 0.75rem;
	margin-bottom: 0.75rem;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
	position: relative;
}

.wc-block-checkout .wc-block-components-radio-control__option:hover {
	border-color: rgba(212, 175, 55, 0.25);
}

.wc-block-checkout .wc-block-components-radio-control__option input[type="radio"] {
	accent-color: var(--color-gold);
	margin-top: 0;
}

/* Radio control label group */
.wc-block-checkout .wc-block-components-radio-control__label-group {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-amethyst);
}

.wc-block-checkout .wc-block-components-radio-control__secondary-label {
	font-size: 0.8125rem;
	font-weight: 400;
	color: var(--color-lavender);
	margin-left: 0.5rem;
}

/* Payment accordion content area */
.wc-block-checkout .wc-block-components-radio-control-accordion-content {
	padding: 0.75rem 0.25rem 0;
}

.wc-block-checkout .wc-block-components-radio-control-accordion-content .StripeElement {
	margin-top: 0.75rem;
	overflow: visible;
}

.wc-block-checkout .wc-block-components-radio-control-accordion-content .__PrivateStripeElement {
	margin: -4px 0 !important;
	padding: 4px 0 !important;
	box-sizing: content-box;
}

.wc-block-checkout .wc-block-components-radio-control-accordion-content p.content {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	color: rgba(26, 47, 35, 0.55);
	margin-bottom: 0.75rem;
}

.wc-block-checkout .wc-block-components-radio-control-accordion-content .wcstripe-payment-element.StripeElement {
	padding: 0;
	margin-top: 0.75rem;
	overflow: visible;
}

/* ======================================================
   PAYMENT METHODS
   ====================================================== */

.wc-block-checkout .wc-block-components-payment-methods {
	margin-top: 0.5rem;
}

/* Stripe test mode badge */
.wc-stripe-test-mode-badge {
	display: inline-block;
	font-family: var(--font-sans);
	font-size: 0.625rem;
	font-weight: 700;
	color: var(--color-amethyst);
	background: rgba(212, 175, 55, 0.15);
	padding: 0.125rem 0.5rem;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-left: 0.375rem;
	vertical-align: middle;
}

/* Stripe copy test number button */
.wc-stripe-copy-test-number {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-lavender);
	background: none;
	border: none;
	cursor: pointer;
	text-decoration: underline;
	padding: 0;
	transition: color 0.2s;
}

.wc-stripe-copy-test-number:hover {
	color: var(--color-gold);
}

/* Stripe payment instruction area */
.wc-block-checkout #wc-stripe-payment-method-instructions-card {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	color: rgba(26, 47, 35, 0.55);
	margin-bottom: 0.75rem;
}

/* Payment method icon */
.wc-block-checkout .wc-block-components-payment-methods .wc-block-components-payment-method-icon {
	width: 40px;
	height: auto;
	border-radius: 4px;
}

/* Payment method labels */
.wc-block-checkout .wc-block-components-payment-methods .wc-block-components-payment-method-label {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-amethyst);
}

/* ======================================================
   ORDER NOTES
   ====================================================== */

.wc-block-checkout .wc-block-components-checkout-order-note {
	margin-top: 0.75rem;
}

.wc-block-checkout .wc-block-components-checkout-order-note .wc-block-components-panel__button {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--color-lavender);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	transition: color 0.2s;
}

.wc-block-checkout .wc-block-components-checkout-order-note .wc-block-components-panel__button:hover {
	color: var(--color-gold);
}

.wc-block-checkout .wc-block-components-checkout-order-note textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid rgba(107, 142, 119, 0.2);
	border-radius: 0.75rem;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--color-amethyst);
	background: #fff;
	outline: none;
	resize: vertical;
	min-height: 80px;
	transition: border-color 0.2s;
}

.wc-block-checkout .wc-block-components-checkout-order-note textarea:focus {
	border-color: var(--color-gold);
}

/* ======================================================
   PLACE ORDER BUTTON
   ====================================================== */

.wc-block-checkout .wc-block-checkout__actions {
	margin-top: 1.5rem;
}

.wc-block-checkout .wc-block-checkout__actions .wc-block-components-checkout-place-order-button {
	width: 100%;
	padding: 1rem 2rem;
	background: var(--color-gold);
	color: var(--color-amethyst);
	border: none;
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	cursor: pointer;
	transition: background 0.25s, color 0.25s, transform 0.2s;
}

.wc-block-checkout .wc-block-checkout__actions .wc-block-components-checkout-place-order-button:hover {
	background: var(--color-amethyst);
	color: var(--color-cream);
	transform: translateY(-1px);
}

/* Loading state */
.wc-block-checkout .wc-block-checkout__actions .wc-block-components-checkout-place-order-button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

/* ======================================================
   TERMS & CONDITIONS
   ====================================================== */

.wc-block-checkout .wc-block-checkout__terms {
	margin: 1rem 0;
	padding-top: 0.75rem;
}

.wc-block-checkout .wc-block-checkout__terms .wc-block-components-checkbox__label,
.wc-block-checkout .wc-block-checkout__terms span {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	color: rgba(26, 47, 35, 0.6);
}

.wc-block-checkout .wc-block-checkout__terms a {
	color: var(--color-lavender);
	text-decoration: underline;
	transition: color 0.2s;
}

.wc-block-checkout .wc-block-checkout__terms a:hover {
	color: var(--color-gold);
}

/* ======================================================
   SIDEBAR — ORDER SUMMARY
   ====================================================== */

.wc-block-checkout .wc-block-checkout__sidebar {
	background: #fff;
	border: 1px solid rgba(107, 142, 119, 0.08);
	border-radius: 1.5rem;
	padding: 1.5rem;
}

.wc-block-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	background: none;
	border: none;
	padding: 0;
}

/* Order summary title row */
.wc-block-checkout .wc-block-components-checkout-order-summary__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: nowrap;
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgba(107, 142, 119, 0.08);
}

.wc-block-checkout .wc-block-components-checkout-order-summary__title-text {
	font-family: var(--font-serif);
	font-size: 1.15rem;
	font-weight: 500;
	color: var(--color-amethyst);
	flex: 1;
	margin: 0;
}

.wc-block-checkout .wc-block-components-checkout-order-summary__title-price {
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-amethyst);
}

.wc-block-checkout .wc-block-components-checkout-order-summary__title-icon {
	color: rgba(26, 47, 35, 0.25);
	display: flex;
	align-items: center;
}

/* Order summary items */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item {
	padding: 0.75rem 0;
	border-bottom: 1px solid rgba(107, 142, 119, 0.06);
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item:last-child {
	border-bottom: none;
}

/* Item image container (holds thumbnail + quantity overlay) */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image {
	position: relative;
	flex-shrink: 0;
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 0.75rem;
	display: block;
}

/* Quantity pill overlaid on thumbnail */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
	position: absolute;
	top: -6px;
	right: -6px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	font-family: var(--font-sans);
	font-size: 0.6875rem;
	font-weight: 600;
	color: #fff;
	background: var(--color-lavender);
	border-radius: 999px;
	padding: 0 6px;
	line-height: 1;
	z-index: 1;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

/* Item name */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-family: var(--font-serif);
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--color-amethyst);
	text-decoration: none;
	line-height: 1.3;
	margin: 0;
}

/* Item metadata */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-metadata {
	font-family: var(--font-sans);
	font-size: 0.75rem;
	color: rgba(26, 47, 35, 0.5);
	margin-top: 0.125rem;
}

/* Sale badge on item */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-sale-badge {
	display: inline-block;
	font-family: var(--font-sans);
	font-size: 0.625rem;
	font-weight: 600;
	color: var(--color-lavender);
	background: rgba(107, 142, 119, 0.1);
	padding: 0.125rem 0.5rem;
	border-radius: 999px;
	margin-top: 0.25rem;
}

/* Item total price column */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-amethyst);
	margin-left: auto;
	text-align: right;
	white-space: nowrap;
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price .wc-block-components-product-price__value {
	font-weight: 600;
	color: var(--color-amethyst);
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price .wc-block-components-product-price__regular {
	font-weight: 400;
	color: rgba(26, 47, 35, 0.4);
	text-decoration: line-through;
	font-size: 0.75rem;
}

/* ======================================================
   SIDEBAR — TOTALS
   ====================================================== */

/* Coupon and totals panel buttons */
.wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--color-lavender);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	transition: color 0.2s;
	margin: 0;
}

.wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
	color: var(--color-gold);
}

/* Subtotal, shipping, fees row */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-totals-item {
	padding: 0.5rem 0;
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-totals-item .wc-block-components-totals-item__label {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--color-amethyst);
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-totals-item .wc-block-components-totals-item__value {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-amethyst);
}

/* Free shipping label in sidebar */
.wc-block-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__label {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	color: var(--color-amethyst);
}

.wc-block-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__value strong {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-lavender);
}

.wc-block-components-shipping-rates-control__package .wc-block-components-radio-control .wc-block-components-radio-control__option-layout {
	padding-top: 2px;
}

.wc-block-checkout .wc-block-components-radio-control-accordion-content {
	padding: 0 2rem 2rem;
}

/* Totals separator */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-totals-wrapper {
	border-top: 1px solid rgba(107, 142, 119, 0.08);
	padding-top: 0.75rem;
	margin-top: 0.75rem;
}

/* Footer total (the big one) */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-totals-footer-item {
	padding: 0.75rem 0 0;
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--font-sans);
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--color-amethyst);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--font-sans);
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--color-amethyst);
}

/* ======================================================
   COUPON IN SIDEBAR
   ====================================================== */

.wc-block-checkout .wc-block-components-totals-coupon {
	padding: 0.75rem 0;
}

.wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__content {
	padding: 0.75rem 0 0.5rem;
}

.wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-totals-coupon__form {
	display: flex;
	gap: 0.5rem;
}

.wc-block-checkout .wc-block-components-totals-coupon input {
	flex: 1;
	padding: 0.625rem 1rem;
	border: 1px solid rgba(107, 142, 119, 0.2);
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	color: var(--color-amethyst);
	background: #fff;
	outline: none;
	transition: border-color 0.2s;
}

.wc-block-checkout .wc-block-components-totals-coupon input:focus {
	border-color: var(--color-gold);
}

.wc-block-checkout .wc-block-components-totals-coupon button.wp-element-button {
	padding: 0.625rem 1.25rem;
	border: none;
	border-radius: 999px;
	background: var(--color-amethyst);
	color: var(--color-cream);
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition: background 0.25s, color 0.25s;
}

.wc-block-checkout .wc-block-components-totals-coupon button.wp-element-button:hover {
	background: var(--color-gold);
	color: var(--color-amethyst);
}

/* Coupon applied state */
.wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
	padding: 0.625rem 1.25rem;
	border: 1px solid rgba(212, 175, 55, 0.3);
	border-radius: 999px;
	background: transparent;
	color: #b8962e;
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

.wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover {
	background: rgba(212, 175, 55, 0.08);
	color: var(--color-gold);
}

/* ======================================================
   MOBILE RESPONSIVE
   ====================================================== */

@media (max-width: 767px) {
	.wc-block-checkout .wc-block-components-sidebar-layout {
		flex-direction: column;
	}

	.wc-block-checkout .wc-block-components-checkout-step {
		padding: 1.25rem;
	}

	.wc-block-checkout .wc-block-checkout__sidebar {
		margin-top: 0;
	}

	.woocommerce-message::before,
	.woocommerce-error::before,
	.woocommerce-info::before {
		display: none;
	}

	.woocommerce-message,
	.woocommerce-error,
	.woocommerce-info {
		padding: 1rem;
	}
}

/* ======================================================
   CHECKOUT — SELECT DROPDOWN FLOATING LABEL
   ====================================================== */

.wc-block-checkout .wc-blocks-components-select__container {
	position: relative;
}

.wc-block-checkout .wc-blocks-components-select__label {
	font-family: var(--font-sans);
	font-size: 0.65rem;
	font-weight: 600;
	color: var(--color-lavender);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	position: absolute;
	top: 0.5rem;
	left: 1rem;
	z-index: 1;
	pointer-events: none;
	transition: all 0.2s;
}

.wc-block-checkout .wc-blocks-components-select select {
	padding-top: 1.25rem;
	padding-bottom: 0.5rem;
}

.wc-block-checkout .wc-blocks-components-select__expand {
	position: absolute;
	right: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	fill: var(--color-lavender);
	pointer-events: none;
}

/* ======================================================
   CHECKOUT — ADDRESS LINE 2 TOGGLE / HIDDEN INPUT
   ====================================================== */

.wc-block-checkout .wc-block-components-address-form__address_2-toggle {
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--color-lavender);
	cursor: pointer;
	display: inline-block;
	margin: 0.25rem 0 0.75rem;
	transition: color 0.2s;
}

.wc-block-checkout .wc-block-components-address-form__address_2-toggle:hover {
	color: var(--color-gold);
}

.wc-block-checkout .wc-block-components-address-form__address_2-hidden-input {
	display: none;
}

/* ======================================================
   CHECKOUT — RADIO OPTION CHECKED HIGHLIGHT
   ====================================================== */

.wc-block-checkout .wc-block-components-radio-control__option--checked-option-highlighted {
	border-color: var(--color-gold);
	background: rgba(212, 175, 55, 0.04);
}

/* ======================================================
   CHECKOUT — ITEM PRICES & TOTAL-SALE-BADGE WRAPPER
   ====================================================== */

.wc-block-checkout .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.25rem;
}

.wc-block-checkout .wc-block-cart-item__prices {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
}

.wc-block-checkout .wc-block-components-order-summary-item__individual-prices {
	font-size: 0.75rem;
	color: rgba(26, 47, 35, 0.5);
}

/* ======================================================
   CHECKOUT — ADD NOTE CHECKBOX
   ====================================================== */

.wc-block-checkout .wc-block-checkout__add-note .wc-block-components-checkbox {
	margin: 0;
}

.wc-block-checkout .wc-block-checkout__add-note .wc-block-components-checkbox label {
	font-size: 0.8125rem;
	color: var(--color-lavender);
}

/* ======================================================
   CHECKOUT — ORDER SUMMARY CONTENT
   ====================================================== */

.wc-block-checkout .wc-block-components-checkout-order-summary__content {
	margin-top: 0;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
	margin: 0;
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-name {
	padding-bottom: 8px;
}

.wc-block-checkout .wc-block-components-order-summary-item__description .wc-block-cart-item__prices {
	padding-top: 6px;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata {
	display: none;
}

.wc-block-checkout .wc-block-components-totals-coupon {
	padding: 0;
}

.wp-block-woocommerce-checkout-order-summary-totals-block {
	padding-top: 16px;
}

.wc-block-components-sidebar .wc-block-components-totals-item {
	padding: 0;
}

/* ======================================================
   CHECKOUT — LOADING SKELETONS
   ====================================================== */

.wc-block-checkout .wc-block-components-skeleton__element {
	border-radius: 0.375rem;
	background: rgba(107, 142, 119, 0.06);
}

.wc-block-checkout .wc-block-components-skeleton--checkout-payment-container {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

/* ======================================================
   CHECKOUT — EXPRESS BUTTON SKELETONS
   ====================================================== */

.wc-block-checkout .wc-block-components-express-payment__event-buttons li {
	list-style: none;
}

/* ======================================================
   CHECKOUT — SIDEBAR TOTALS WRAPPER SEPARATORS
   ====================================================== */

.wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper:first-of-type {
	border-top: none;
	margin-top: 0;
	padding-top: 0;
}

/* ======================================================
   CHECKOUT — CHECKBOX CHECKED FILL
   ====================================================== */

.wc-block-checkout .wc-block-components-checkbox input[type="checkbox"]:checked+.wc-block-components-checkbox__mark path {
	fill: #fff;
}

/* ======================================================
   CHECKOUT — ITEM DESCRIPTION PRICE LINE
   ====================================================== */

.wc-block-checkout .wc-block-components-order-summary-item__description .wc-block-cart-item__prices {
	margin-top: 0.125rem;
}

/* ======================================================
   ORDER RECEIVED / THANK YOU — CLASSIC TEMPLATE
   ====================================================== */

.woocommerce-order {
	max-width: 720px;
	margin: 0 auto;
	padding: 2rem 0;
}

.woocommerce-order p.woocommerce-thankyou-order-received {
	font-family: var(--font-serif);
	font-size: 1.5rem;
	color: var(--color-amethyst);
	text-align: center;
	margin-bottom: 2rem;
	padding: 2rem;
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
}

.woocommerce-order ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	list-style: none;
	padding: 1.5rem;
	margin: 0 0 2rem;
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
}

.woocommerce-order ul.woocommerce-order-overview li {
	flex: 1 1 auto;
	min-width: 140px;
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	color: var(--color-lavender);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.woocommerce-order ul.woocommerce-order-overview li strong {
	display: block;
	font-size: 1rem;
	color: var(--color-amethyst);
	margin-top: 0.25rem;
	text-transform: none;
	letter-spacing: 0;
}

.woocommerce-order .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.woocommerce-order .woocommerce-column--shipping-address,
.woocommerce-order .woocommerce-column--billing-address {
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
	padding: 1.5rem;
}

.woocommerce-order .woocommerce-column--shipping-address h3,
.woocommerce-order .woocommerce-column--billing-address h3 {
	font-family: var(--font-serif);
	font-size: 1rem;
	color: var(--color-amethyst);
	margin: 0 0 0.75rem;
}

.woocommerce-order .woocommerce-column--shipping-address address,
.woocommerce-order .woocommerce-column--billing-address address {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-style: normal;
	color: var(--color-lavender);
	line-height: 1.6;
}

.woocommerce-order .woocommerce-customer-details--phone,
.woocommerce-order .woocommerce-customer-details--email {
	margin-top: 0.5rem;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--color-lavender);
}

.woocommerce-order-details {
	margin-top: 2rem;
}

.woocommerce-order .woocommerce-order-details {
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
	padding: 1.5rem;
	margin-bottom: 2rem;
}

.woocommerce-order .woocommerce-order-details h2 {
	font-family: var(--font-serif);
	font-size: 1.25rem;
	color: var(--color-amethyst);
	margin: 0 0 1rem;
}

.woocommerce-order .woocommerce-order-details table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--font-sans);
}

.woocommerce-order .woocommerce-order-details table.shop_table th,
.woocommerce-order .woocommerce-order-details table.shop_table td {
	padding: 0.75rem 0;
	border-bottom: 1px solid #f5f5f5;
	text-align: left;
	font-size: 0.875rem;
	color: var(--color-amethyst);
}

.woocommerce-order .woocommerce-order-details table.shop_table th {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.75rem;
	color: var(--color-lavender);
}

.woocommerce-order .woocommerce-order-details table.shop_table tfoot tr:last-child td,
.woocommerce-order .woocommerce-order-details table.shop_table tfoot tr:last-child th {
	border-bottom: none;
}

.woocommerce-order .woocommerce-order-details table.shop_table tfoot td {
	font-weight: 600;
}

.woocommerce-order .woocommerce-order-details .woocommerce-table__product-name a {
	color: var(--color-amethyst);
	text-decoration: none;
	transition: color 0.2s;
}

.woocommerce-order .woocommerce-order-details .woocommerce-table__product-name a:hover {
	color: var(--color-gold);
}

.woocommerce-order .woocommerce-order-details .wc-item-meta {
	list-style: none;
	padding: 0;
	margin: 0.25rem 0 0;
	font-size: 0.8125rem;
	color: var(--color-lavender);
}

.woocommerce-order .woocommerce-order-details .woocommerce-table__product-total {
	text-align: right;
}

/* Failed order */
.woocommerce-order p.woocommerce-thankyou-order-failed {
	font-family: var(--font-sans);
	font-size: 1rem;
	color: #c0392b;
	text-align: center;
	margin-bottom: 1rem;
}

.woocommerce-order .woocommerce-thankyou-order-failed-actions {
	text-align: center;
	margin-bottom: 2rem;
}

.woocommerce-order .woocommerce-thankyou-order-failed-actions a.button {
	display: inline-block;
	padding: 0.75rem 2rem;
	background: var(--color-gold);
	color: var(--color-amethyst);
	border: none;
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	text-decoration: none;
	transition: background 0.25s, color 0.25s;
}

.woocommerce-order .woocommerce-thankyou-order-failed-actions a.button:hover {
	background: var(--color-amethyst);
	color: var(--color-cream);
}

/* ======================================================
   ORDER RECEIVED — BLOCK-BASED ORDER CONFIRMATION
   ====================================================== */

body.woocommerce-order-received .wp-block-woocommerce-checkout {
	display: none;
}

body.woocommerce-order-received .woocommerce {
	max-width: 800px;
	margin: 0 auto;
	padding: 2rem 1.5rem 4rem;
}

/* Status */
.wc-block-order-confirmation-status {
	text-align: center;
	margin-bottom: 0;
	padding: 3rem 2rem;
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
}

.wc-block-order-confirmation-status .wc-block-order-confirmation-status__icon {
	display: flex;
	justify-content: center;
	margin-bottom: 1rem;
}

.wc-block-order-confirmation-status .wc-block-order-confirmation-status__icon svg {
	width: 48px;
	height: 48px;
	fill: var(--color-sage);
}

.wc-block-order-confirmation-status .wc-block-order-confirmation-status__title {
	font-family: var(--font-serif);
	font-size: 1.75rem;
	color: var(--color-amethyst);
	margin: 0 0 0.5rem;
	line-height: 1.2;
}

.wc-block-order-confirmation-status .wc-block-order-confirmation-status__description {
	font-family: var(--font-sans);
	font-size: 0.9375rem;
	color: var(--color-lavender);
	margin: 0;
}

.wc-block-order-confirmation-status .wc-block-order-confirmation-status__actions {
	margin-top: 1.5rem;
	display: flex;
	justify-content: center;
	gap: 1rem;
}

.wc-block-order-confirmation-status .wc-block-order-confirmation-status__actions a {
	display: inline-block;
	padding: 0.75rem 2rem;
	background: var(--color-gold);
	color: var(--color-amethyst);
	border: none;
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	text-decoration: none;
	transition: background 0.25s, color 0.25s;
}

.wc-block-order-confirmation-status .wc-block-order-confirmation-status__actions a:hover {
	background: var(--color-amethyst);
	color: var(--color-cream);
}

/* Summary */
.wc-block-order-confirmation-summary {
	margin: 1.5rem 0;
	padding: 1.5rem;
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
}

.wc-block-order-confirmation-summary ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.wc-block-order-confirmation-summary ul li {
	flex: 1 1 auto;
	min-width: 130px;
	font-family: var(--font-sans);
}

.wc-block-order-confirmation-summary ul li .wc-block-order-confirmation-summary-list-item__key {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-lavender);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	display: block;
	margin-bottom: 0.25rem;
}

.wc-block-order-confirmation-summary ul li .wc-block-order-confirmation-summary-list-item__value {
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-amethyst);
	display: block;
}

/* Totals */
.wc-block-order-confirmation-totals-wrapper h2:first-child {
	font-family: var(--font-serif);
	font-size: 1.25rem;
	color: var(--color-amethyst);
	margin: 0 0 1rem;
}

.wc-block-order-confirmation-totals {
	margin-bottom: 2rem;
}

.wc-block-order-confirmation-totals table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--font-sans);
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
	overflow: hidden;
}

.wc-block-order-confirmation-totals table thead th {
	padding: 1rem 1.25rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-lavender);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-align: left;
	border-bottom: 1px solid #f5f5f5;
}

.wc-block-order-confirmation-totals table tbody td {
	padding: 1rem 1.25rem;
	font-size: 0.875rem;
	color: var(--color-amethyst);
	border-bottom: 1px solid #f5f5f5;
}

.wc-block-order-confirmation-totals table tfoot th,
.wc-block-order-confirmation-totals table tfoot td {
	padding: 0.75rem 1.25rem;
	font-size: 0.875rem;
	color: var(--color-amethyst);
	border-bottom: 1px solid #f5f5f5;
}

.wc-block-order-confirmation-totals table tfoot th {
	text-align: left;
	font-weight: 600;
	color: var(--color-lavender);
}

.wc-block-order-confirmation-totals table tfoot td {
	text-align: right;
}

.wc-block-order-confirmation-totals table tfoot tr:last-child th,
.wc-block-order-confirmation-totals table tfoot tr:last-child td {
	border-bottom: none;
}

.wc-block-order-confirmation-totals table tfoot tr:last-child td {
	font-weight: 700;
	font-size: 1rem;
	color: var(--color-amethyst);
}

.wc-block-order-confirmation-totals table .wc-block-order-confirmation-totals__product a {
	color: var(--color-amethyst);
	text-decoration: none;
	font-weight: 600;
	transition: color 0.2s;
}

.wc-block-order-confirmation-totals table .wc-block-order-confirmation-totals__product a:hover {
	color: var(--color-gold);
}

.wc-block-order-confirmation-totals table .wc-block-order-confirmation-totals__total {
	text-align: right;
	font-weight: 600;
}

.wc-item-meta {
	list-style: none;
	padding: 0;
	margin: 0.25rem 0 0;
	font-size: 0.8125rem;
	color: var(--color-lavender);
}

/* Address wrapper */
.wc-block-order-confirmation-address-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.wc-block-order-confirmation-address-wrapper .wp-block-column {
	margin: 0;
}

.wp-block-woocommerce-order-confirmation-shipping-wrapper,
.wp-block-woocommerce-order-confirmation-billing-wrapper {
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
	padding: 1.5rem;
}

.wc-block-order-confirmation-shipping-wrapper .wp-block-heading,
.wc-block-order-confirmation-billing-wrapper .wp-block-heading,
.wp-block-woocommerce-order-confirmation-shipping-wrapper h2,
.wp-block-woocommerce-order-confirmation-billing-wrapper h2 {
	font-family: var(--font-serif);
	font-size: 1rem;
	color: var(--color-amethyst);
	margin: 0 0 0.75rem;
}

.wc-block-order-confirmation-shipping-address,
.wc-block-order-confirmation-billing-address {
	border: none;
	padding: 0;
}

.wc-block-order-confirmation-shipping-address address,
.wc-block-order-confirmation-billing-address address {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-style: normal;
	color: var(--color-lavender);
	line-height: 1.6;
}

/* Downloads */
.wc-block-order-confirmation-downloads-wrapper h2:first-child {
	font-family: var(--font-serif);
	font-size: 1.25rem;
	color: var(--color-amethyst);
	margin: 0 0 1rem;
}

.wc-block-order-confirmation-downloads {
	margin-bottom: 2rem;
}

.wc-block-order-confirmation-downloads table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--font-sans);
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
	overflow: hidden;
}

.wc-block-order-confirmation-downloads table thead th {
	padding: 1rem 1.25rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-lavender);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-align: left;
	border-bottom: 1px solid #f5f5f5;
}

.wc-block-order-confirmation-downloads table tbody td {
	padding: 1rem 1.25rem;
	font-size: 0.875rem;
	color: var(--color-amethyst);
	border-bottom: 1px solid #f5f5f5;
}

.wc-block-order-confirmation-downloads table tbody td:last-child {
	text-align: right;
}

.wc-block-order-confirmation-downloads table tbody a {
	color: var(--color-gold);
	text-decoration: none;
	font-weight: 600;
	transition: color 0.2s;
}

.wc-block-order-confirmation-downloads table tbody a:hover {
	color: var(--color-amethyst);
}

/* Additional fields / information */
.wc-block-order-confirmation-additional-fields-wrapper h2:first-child,
.wc-block-order-confirmation-additional-information h2 {
	font-family: var(--font-serif);
	font-size: 1.25rem;
	color: var(--color-amethyst);
	margin: 0 0 1rem;
}

.wc-block-order-confirmation-additional-fields {
	margin-bottom: 2rem;
}

.wc-block-order-confirmation-additional-fields .wc-block-components-additional-fields-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
	overflow: hidden;
}

.wc-block-order-confirmation-additional-fields .wc-block-components-additional-fields-list dt {
	padding: 1rem 1.25rem;
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-lavender);
	border-bottom: 1px solid #f5f5f5;
}

.wc-block-order-confirmation-additional-fields .wc-block-components-additional-fields-list dd {
	padding: 1rem 1.25rem;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--color-amethyst);
	border-bottom: 1px solid #f5f5f5;
	text-align: right;
	margin: 0;
}

.wc-block-order-confirmation-additional-fields .wc-block-components-additional-fields-list dt:last-of-type,
.wc-block-order-confirmation-additional-fields .wc-block-components-additional-fields-list dd:last-of-type {
	border-bottom: none;
}

.wc-block-order-confirmation-additional-information {
	margin-bottom: 2rem;
	padding: 1.5rem;
	background: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 1.5rem;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--color-lavender);
	line-height: 1.6;
}

/* ======================================================
   ORDER RECEIVED — MOBILE
   ====================================================== */

@media (max-width: 767px) {
	.woocommerce-order .woocommerce-columns--addresses {
		grid-template-columns: 1fr;
	}

	.wc-block-order-confirmation-address-wrapper {
		grid-template-columns: 1fr;
	}

	.wc-block-order-confirmation-additional-fields .wc-block-components-additional-fields-list {
		grid-template-columns: 1fr;
	}

	.wc-block-order-confirmation-additional-fields .wc-block-components-additional-fields-list dd {
		text-align: left;
		padding-top: 0;
	}

	.wc-block-order-confirmation-summary ul {
		flex-direction: column;
	}
}