/* ============================================================
   LATISLIT Spa — WooCommerce CSS Overrides
   Matches the cream/sage/blush/gold palette throughout shop
   ============================================================ */

/* ── General WC resets ──────────────────────────────────────── */
.woocommerce,
.woocommerce-page {
	background-color: var(--ll-cream);
}

.woocommerce .woocommerce-breadcrumb {
	font-size: var(--text-xs);
	color: var(--ll-ink-3);
	padding: var(--space-4) 0;
	background: var(--ll-cream-2);
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--ll-sage);
}

/* ── Price ──────────────────────────────────────────────────── */
.woocommerce .price,
.woocommerce .woocommerce-Price-amount,
.price .woocommerce-Price-amount {
	color: var(--ll-ink);
	font-weight: var(--w-bold);
}

.woocommerce .price del,
.woocommerce .price del .woocommerce-Price-amount {
	color: var(--ll-ink-3);
	font-weight: var(--w-regular);
	opacity: 0.7;
}

.woocommerce .price ins,
.woocommerce .price ins .woocommerce-Price-amount {
	color: var(--ll-sage);
	text-decoration: none;
}

/* ── Buttons ────────────────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background-color: var(--ll-sage) !important;
	color: var(--ll-white) !important;
	border-radius: var(--radius-full) !important;
	border: none !important;
	font-family: var(--font-body);
	font-weight: var(--w-bold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: var(--text-xs);
	padding: 12px 28px !important;
	transition: background var(--transition-fast) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background-color: var(--ll-ink) !important;
	color: var(--ll-white) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background-color: var(--ll-gold) !important;
	color: var(--ll-ink) !important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background-color: var(--ll-ink) !important;
	color: var(--ll-white) !important;
}

/* ── Product Cards (archive) ────────────────────────────────── */
.woocommerce ul.products li.product {
	background: var(--ll-white);
	border: 1px solid var(--ll-cream-3);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: transform var(--transition-base), box-shadow var(--transition-base);
	padding: 0 !important;
	margin-bottom: 0 !important;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-md);
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: block;
	padding: 0;
}

.woocommerce ul.products li.product img {
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
	margin-bottom: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: var(--w-semibold);
	color: var(--ll-ink);
	text-transform: none;
	letter-spacing: 0;
	padding: var(--space-4) var(--space-4) var(--space-2);
	margin: 0;
}

.woocommerce ul.products li.product .price {
	padding: 0 var(--space-4) var(--space-4);
	display: block;
}

.woocommerce ul.products li.product .button {
	margin: 0 var(--space-4) var(--space-4) !important;
	width: calc(100% - 2 * var(--space-4)) !important;
}

/* ── Sale badge ─────────────────────────────────────────────── */
.woocommerce span.onsale {
	background: var(--ll-gold);
	color: var(--ll-ink);
	border-radius: var(--radius-full);
	font-size: 10px;
	font-weight: var(--w-bold);
	letter-spacing: 0.08em;
	min-width: auto;
	padding: 5px 12px;
	line-height: 1.4;
	top: 12px !important;
	left: auto !important;
	right: 12px !important;
}

/* ── Single product ─────────────────────────────────────────── */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	background: var(--ll-cream-2);
	padding: 0 var(--container-pad);
	border-bottom: 1px solid var(--ll-cream-3);
	margin-bottom: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-bottom-color: var(--ll-cream-3);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: none;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: transparent;
	border-bottom-color: var(--ll-sage);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-size: var(--text-xs);
	font-weight: var(--w-bold);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ll-ink-3);
	padding: var(--space-3) var(--space-5);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--ll-sage);
}

.woocommerce div.product .woocommerce-tabs .panel {
	background: var(--ll-white);
	padding: var(--space-8) var(--container-pad);
	border-top: none;
	margin-top: 0;
}

/* Single product summary */
.woocommerce div.product div.summary {
	padding: var(--space-6);
}

.woocommerce div.product .product_title {
	font-family: var(--font-display);
	color: var(--ll-ink);
	margin-bottom: var(--space-4);
}

.woocommerce div.product p.price {
	color: var(--ll-ink);
	font-size: var(--text-2xl);
	font-weight: var(--w-bold);
	margin-bottom: var(--space-6);
}

.woocommerce div.product .quantity input.qty {
	border: 1.5px solid var(--ll-cream-3);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	font-size: var(--text-base);
	color: var(--ll-ink);
	padding: var(--space-2) var(--space-4);
	background: var(--ll-cream);
}

.woocommerce div.product .quantity input.qty:focus {
	outline: none;
	border-color: var(--ll-sage-light);
}

/* ── Cart & Checkout ────────────────────────────────────────── */
.woocommerce-cart table.cart,
.woocommerce-checkout .woocommerce {
	background: var(--ll-cream);
}

.woocommerce table.shop_table {
	border: 1px solid var(--ll-cream-3);
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--ll-white);
}

.woocommerce table.shop_table thead th {
	background: var(--ll-cream-2);
	border-bottom: 1px solid var(--ll-cream-3);
	font-size: var(--text-xs);
	font-weight: var(--w-bold);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ll-ink-3);
	padding: var(--space-4);
}

.woocommerce table.shop_table tbody tr {
	border-bottom: 1px solid var(--ll-cream-3);
}

.woocommerce table.shop_table tbody td {
	padding: var(--space-4);
}

/* Cart totals */
.woocommerce .cart_totals,
.woocommerce .order-total {
	background: var(--ll-sage-pale);
	border: 1px solid var(--ll-sage-light);
	border-radius: var(--radius-lg);
	padding: var(--space-6);
}

.woocommerce .cart_totals h2 {
	font-family: var(--font-display);
	font-size: var(--text-xl);
	font-weight: var(--w-black);
	color: var(--ll-ink);
	margin-bottom: var(--space-4);
}

/* Checkout form fields */
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
	border: 1.5px solid var(--ll-cream-3);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--ll-ink);
	padding: var(--space-3) var(--space-4);
	background: var(--ll-white);
	transition: border-color var(--transition-fast);
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	outline: none;
	border-color: var(--ll-sage);
	box-shadow: 0 0 0 3px rgba(122,155,122,0.15);
}

.woocommerce-checkout .form-row label {
	font-size: var(--text-xs);
	font-weight: var(--w-semibold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ll-ink-3);
	margin-bottom: var(--space-1);
}

/* ── Notices ────────────────────────────────────────────────── */
.woocommerce-message {
	background: var(--ll-sage-pale);
	border-color: var(--ll-sage);
	color: var(--ll-ink-2);
	border-radius: var(--radius-md);
}

.woocommerce-error {
	background: #FBF0F0;
	border-color: var(--ll-red);
	border-radius: var(--radius-md);
}

.woocommerce-info {
	background: var(--ll-gold-pale);
	border-color: var(--ll-gold);
	color: var(--ll-ink-2);
	border-radius: var(--radius-md);
}

/* ── Stars / ratings ────────────────────────────────────────── */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
	color: var(--ll-gold);
}

/* ── Pagination ─────────────────────────────────────────────── */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border-color: var(--ll-cream-3);
	color: var(--ll-ink-3);
	border-radius: var(--radius-md);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--ll-sage);
	border-color: var(--ll-sage);
	color: var(--ll-white);
}

/* ── Mobile WC ──────────────────────────────────────────────── */
@media (max-width: 768px) {
	.woocommerce ul.products[class*=columns-] li.product {
		width: calc(50% - 10px) !important;
		margin-right: 20px !important;
	}

	.woocommerce ul.products[class*=columns-] li.product:nth-child(2n) {
		margin-right: 0 !important;
	}
}

@media (max-width: 480px) {
	.woocommerce ul.products[class*=columns-] li.product {
		width: 100% !important;
		margin-right: 0 !important;
	}
}
