/*
 * The Lion Sleep — WooCommerce (classic template) styling: Shop, Single
 * Product, Cart, Checkout, My Account. Keeps WooCommerce's own markup/logic
 * intact and just re-skins it to match the rest of the site.
 */

.ls-wc-main { padding-block: 48px; background: #fff; }
.ls-wc-container.woocommerce-account { max-width: 960px; }

.woocommerce-products-header__title { font-family: var( --ls-font-heading ); font-size: 30px; margin-bottom: 24px; }

/* Shop loop */
ul.products { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 32px; list-style: none; margin: 0 !important; padding: 0; }
ul.products li.product { width: 100% !important; margin: 0 !important; text-align: left; float: none !important; }
ul.products li.product img { border-radius: var( --ls-radius ); aspect-ratio: 1/1; object-fit: cover; }
ul.products li.product .woocommerce-loop-product__title { font-family: var( --ls-font-body ); font-size: 15px; font-weight: 600; margin: 14px 0 6px; color: var( --ls-ink ); }
ul.products li.product .price { color: var( --ls-ink-soft ); font-weight: 600; }
ul.products li.product .price ins { text-decoration: none; color: var( --ls-ink ); }
ul.products li.product .button {
	margin-top: 12px;
	background: var( --ls-ink ) !important;
	color: #fff !important;
	border-radius: var( --ls-radius );
	padding: 10px 18px;
	font-size: 13px;
	font-weight: 600;
	border: none !important;
}
.ls-compare-btn { margin-top: 10px; }

span.onsale {
	background: var( --ls-gold-dark ) !important;
	font-family: var( --ls-font-body );
	font-weight: 600;
	min-height: auto;
	min-width: auto;
	padding: 4px 10px;
	border-radius: var( --ls-radius );
	line-height: 1.4;
}

@media ( max-width: 980px ) { ul.products { grid-template-columns: repeat(2, 1fr); } }
@media ( max-width: 620px ) { ul.products { grid-template-columns: 1fr; } }

/* Single product */
.single-product div.product .product_title { font-size: clamp(26px, 3vw, 36px); }
.single-product div.product p.price { font-size: 22px; color: var( --ls-ink ); }
.single-product div.product .woocommerce-product-rating { margin-bottom: 14px; }
.single-product div.product form.cart .button,
.single-product div.product .single_add_to_cart_button {
	background: var( --ls-ink ) !important;
	color: #fff !important;
	border-radius: var( --ls-radius );
	padding: 15px 34px !important;
	font-weight: 600;
	border: none !important;
}
.single-product div.product .quantity input.qty { border-color: var( --ls-line ); border-radius: var( --ls-radius ); height: 48px; }
.single-product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var( --ls-line ); }
.single-product .woocommerce-tabs ul.tabs li { background: none !important; border: none !important; }
.single-product .woocommerce-tabs ul.tabs li a { color: var( --ls-ink-soft ); font-weight: 600; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var( --ls-ink ); }
.related.products > h2 { font-family: var( --ls-font-heading ); font-size: 24px; }

/* Cart & Checkout */
table.shop_table { border: none; border-collapse: collapse; width: 100%; }
table.shop_table th { border-bottom: 2px solid var( --ls-ink ); font-weight: 700; padding: 12px 8px; }
table.shop_table td { border-bottom: 1px solid var( --ls-line ); padding: 16px 8px; }
.cart-collaterals .cart_totals { background: var( --ls-cream ); padding: 24px; border-radius: var( --ls-radius ); }
.wc-proceed-to-checkout .checkout-button,
a.checkout-button,
#place_order,
input.button.alt {
	background: var( --ls-ink ) !important;
	color: #fff !important;
	border-radius: var( --ls-radius );
	font-weight: 600;
	border: none !important;
}
.woocommerce-checkout #payment { background: var( --ls-cream ); border-radius: var( --ls-radius ); }
.woocommerce-checkout #payment div.payment_box { background: #fff; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 1px solid var( --ls-line );
	border-radius: var( --ls-radius );
	padding: 12px;
}
.select2-container--default .select2-selection--single { border: 1px solid var( --ls-line ) !important; border-radius: var( --ls-radius ) !important; height: 46px !important; }

/* My Account */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var( --ls-line ); border-radius: var( --ls-radius ); overflow: hidden; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var( --ls-line ); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 14px 18px; color: var( --ls-ink ); text-decoration: none; font-weight: 500; }
.woocommerce-MyAccount-navigation li.is-active a { background: var( --ls-cream ); font-weight: 700; }
.woocommerce-MyAccount-content { margin-top: 24px; }

/* Messages */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
	border-top-color: var( --ls-gold-dark ) !important;
	border-radius: var( --ls-radius );
}
.woocommerce-message::before, .woocommerce-info::before { color: var( --ls-gold-dark ) !important; }
