/**
 * Shop — all WooCommerce pages.
 *
 * Restyles WC defaults with new design system tokens.
 * NO functional changes — logic stays intact.
 */

.slist-main--shop {
	padding: var(--slist-space-5) 0 var(--slist-space-9);
}

.woocommerce,
.woocommerce-page {
	color: var(--slist-text-primary);
}

/* ---- Shop archive — product grid ---- */

.woocommerce ul.products.slist-shop-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--slist-space-4);
	padding: 0;
	margin: 0;
	list-style: none;
}

.woocommerce ul.products li.product.slist-card {
	width: 100%;
	margin: 0;
	padding: 0;
	float: none;
	text-align: left;
	position: relative;
}

.woocommerce ul.products li.product .slist-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products li.product .slist-card__media {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.04);
}

.woocommerce ul.products li.product .slist-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--slist-transition-slow);
}

.woocommerce ul.products li.product.slist-card--interactive:hover .slist-card__media img {
	transform: scale(1.04);
}

.woocommerce ul.products li.product .slist-card__body {
	padding: 20px 20px 8px;
}

.woocommerce ul.products li.product .slist-card__title {
	font-family: var(--slist-font-display);
	font-size: var(--slist-text-title3);
	font-weight: var(--slist-weight-regular);
	margin: 0 0 var(--slist-space-1);
	color: var(--slist-text-primary);
}

.woocommerce ul.products li.product .slist-card__price,
.woocommerce ul.products li.product .price {
	font-size: var(--slist-text-callout);
	color: var(--slist-text-secondary);
	margin: 0;
}

.woocommerce ul.products li.product .slist-card__price ins,
.woocommerce ul.products li.product .price ins {
	color: var(--slist-text-primary);
	text-decoration: none;
	background: transparent;
	font-weight: var(--slist-weight-semibold);
}

.woocommerce ul.products li.product .slist-card__price del,
.woocommerce ul.products li.product .price del {
	color: var(--slist-text-tertiary);
	margin-right: var(--slist-space-2);
}

.woocommerce ul.products li.product .slist-card__cta {
	padding: 0 20px 20px;
}

.woocommerce ul.products li.product .slist-card__cta .button,
.woocommerce ul.products li.product .slist-card__cta .added_to_cart {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 10px 16px;
	background: var(--slist-primary);
	color: #ffffff;
	border: 1px solid var(--slist-primary);
	border-radius: var(--slist-radius-md);
	font-family: var(--slist-font-body);
	font-weight: var(--slist-weight-bold);
	font-size: 12px;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
	transition: background var(--slist-transition-fast);
}

.woocommerce ul.products li.product .slist-card__cta .button:hover,
.woocommerce ul.products li.product .slist-card__cta .added_to_cart:hover {
	background: var(--slist-primary-hover);
	border-color: var(--slist-primary-hover);
}

.woocommerce ul.products li.product .slist-card__cta .added {
	display: none;
}

/* ---- Single product ---- */

.single-product .slist-main--shop .product {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--slist-space-7);
	align-items: start;
}

.single-product .slist-main--shop .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
}

.single-product .slist-main--shop .woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	gap: var(--slist-space-2);
	margin-top: var(--slist-space-2);
	padding: 0;
	list-style: none;
}

.single-product .slist-main--shop .woocommerce-product-gallery .flex-control-thumbs li {
	width: auto !important;
	max-width: 72px;
	margin: 0;
}

.single-product .slist-main--shop .woocommerce-product-gallery .flex-control-thumbs img {
	border: 1px solid var(--slist-separator);
	border-radius: var(--slist-radius-sm);
	cursor: pointer;
}

.single-product .slist-main--shop .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	border-color: var(--slist-primary);
}

.single-product .slist-main--shop .product .summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.single-product .slist-main--shop .product_title {
	font-family: var(--slist-font-display);
	font-size: var(--slist-text-title1);
	font-weight: var(--slist-weight-regular);
	letter-spacing: var(--slist-ls-snug);
	margin: 0 0 var(--slist-space-3);
	color: var(--slist-text-primary);
}

.single-product .slist-main--shop .price {
	font-family: var(--slist-font-body);
	font-size: var(--slist-text-title3);
	font-weight: var(--slist-weight-semibold);
	color: var(--slist-text-primary);
	margin: 0 0 var(--slist-space-3);
}

.single-product .slist-main--shop .woocommerce-product-details__short-description {
	color: var(--slist-text-secondary);
	margin: 0 0 var(--slist-space-4);
	font-size: var(--slist-text-body);
	line-height: var(--slist-lh-default);
}

/* Add-to-cart form */
.single-product .slist-main--shop form.cart {
	margin: 0 0 var(--slist-space-5);
}

.single-product .slist-main--shop form.cart .quantity {
	display: inline-flex;
	align-items: center;
	margin-right: var(--slist-space-2);
	vertical-align: middle;
}

.single-product .slist-main--shop form.cart .qty {
	width: 72px;
	text-align: center;
}

.single-product .slist-main--shop form.cart .single_add_to_cart_button,
.slist-main--shop button.button.alt,
.slist-main--shop .button.alt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 32px;
	background: var(--slist-primary);
	color: #ffffff;
	border: 1px solid var(--slist-primary);
	border-radius: var(--slist-radius-md);
	font-family: var(--slist-font-body);
	font-weight: var(--slist-weight-bold);
	font-size: var(--slist-text-body);
	cursor: pointer;
	transition: background var(--slist-transition-fast);
	text-transform: none;
	text-decoration: none;
}

.single-product .slist-main--shop form.cart .single_add_to_cart_button:hover,
.slist-main--shop button.button.alt:hover,
.slist-main--shop .button.alt:hover {
	background: var(--slist-primary-hover);
	border-color: var(--slist-primary-hover);
}

/* Variations table */
.single-product .slist-main--shop table.variations {
	margin: 0 0 var(--slist-space-3);
	border: none;
}

.single-product .slist-main--shop table.variations td,
.single-product .slist-main--shop table.variations th {
	border: none;
	padding: var(--slist-space-2) 0;
}

.single-product .slist-main--shop table.variations th {
	padding-right: var(--slist-space-3);
	font-weight: var(--slist-weight-semibold);
	font-size: var(--slist-text-eyebrow);
	letter-spacing: var(--slist-ls-wider);
	text-transform: uppercase;
	color: var(--slist-text-secondary);
}

.single-product .slist-main--shop .reset_variations {
	color: var(--slist-text-secondary);
	font-size: var(--slist-text-callout);
	margin-left: var(--slist-space-2);
}

/* Product meta */
.single-product .slist-main--shop .product_meta {
	margin-top: var(--slist-space-4);
	padding-top: var(--slist-space-3);
	border-top: 1px solid var(--slist-separator);
	font-size: var(--slist-text-callout);
	color: var(--slist-text-secondary);
}

.single-product .slist-main--shop .product_meta > span {
	display: block;
	margin-bottom: var(--slist-space-1);
}

/* Related products */
.single-product .slist-main--shop .related.products,
.single-product .slist-main--shop .upsells.products {
	margin-top: var(--slist-space-8);
	padding-top: var(--slist-space-5);
	border-top: 1px solid var(--slist-separator);
}

.single-product .slist-main--shop .related.products h2,
.single-product .slist-main--shop .upsells.products h2 {
	text-align: center;
	margin: 0 0 var(--slist-space-5);
}

@media (max-width: 767px) {
	.single-product .slist-main--shop .product {
		grid-template-columns: 1fr;
		gap: var(--slist-space-4);
	}
}

/* ---- Cart + Checkout + Account ---- */

.woocommerce-cart .cart_totals,
.woocommerce-cart .cross-sells,
.woocommerce-checkout form.checkout,
.woocommerce-account .woocommerce {
	color: var(--slist-text-primary);
}

.woocommerce-cart table.shop_table {
	background: var(--slist-surface);
	border: 1px solid var(--slist-separator);
	border-radius: var(--slist-radius-lg);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.woocommerce-cart table.shop_table th {
	background: rgba(255, 255, 255, 0.04);
	color: var(--slist-text-primary);
	font-size: var(--slist-text-eyebrow);
	letter-spacing: var(--slist-ls-wider);
	text-transform: uppercase;
	padding: var(--slist-space-3);
	border-bottom: 1px solid var(--slist-separator);
	text-align: left;
}

.woocommerce-cart table.shop_table td {
	padding: var(--slist-space-3);
	border-bottom: 1px solid var(--slist-separator);
	color: var(--slist-text-primary);
	vertical-align: middle;
}

.woocommerce-cart table.shop_table tr:last-child td {
	border-bottom: none;
}

.woocommerce-cart table.shop_table a {
	color: var(--slist-text-primary);
	text-decoration: none;
}

.woocommerce-cart table.shop_table a:hover {
	color: var(--slist-primary);
}

.woocommerce-cart .product-thumbnail img {
	width: 60px;
	height: 60px;
	object-fit: cover;
	border-radius: var(--slist-radius-sm);
}

.woocommerce-cart .remove {
	color: var(--slist-text-secondary) !important;
	font-size: var(--slist-text-title3);
	transition: color var(--slist-transition-fast);
}

.woocommerce-cart .remove:hover {
	color: var(--slist-primary) !important;
	background: transparent !important;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading {
	font-family: var(--slist-font-display);
	font-size: var(--slist-text-title2);
	font-weight: var(--slist-weight-regular);
	margin: 0 0 var(--slist-space-3);
}

.woocommerce-cart .cart_totals table,
.woocommerce-checkout #order_review table {
	width: 100%;
	background: var(--slist-surface);
	border: 1px solid var(--slist-separator);
	border-radius: var(--slist-radius-lg);
	border-collapse: separate;
	border-spacing: 0;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td,
.woocommerce-checkout #order_review table th,
.woocommerce-checkout #order_review table td {
	padding: var(--slist-space-3);
	border-bottom: 1px solid var(--slist-separator);
	color: var(--slist-text-primary);
}

.woocommerce-checkout .form-row {
	margin-bottom: var(--slist-space-3);
}

.woocommerce-checkout .form-row label {
	display: block;
	font-size: 12px;
	font-weight: var(--slist-weight-medium);
	color: var(--slist-text-secondary);
	margin-bottom: 6px;
}

.woocommerce-checkout #payment {
	background: var(--slist-surface);
	border: 1px solid var(--slist-separator);
	border-radius: var(--slist-radius-lg);
	padding: var(--slist-space-4);
}

.woocommerce-checkout #payment ul.payment_methods {
	list-style: none;
	margin: 0 0 var(--slist-space-3);
	padding: 0;
}

.woocommerce-checkout #payment ul.payment_methods li {
	padding: var(--slist-space-2) 0;
	border-bottom: 1px solid var(--slist-separator);
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
	border-bottom: none;
}

.woocommerce-checkout #payment .payment_box {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--slist-separator);
	border-radius: var(--slist-radius-md);
	padding: var(--slist-space-2) var(--slist-space-3);
	color: var(--slist-text-secondary);
	font-size: var(--slist-text-callout);
	margin-top: var(--slist-space-2);
}

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--slist-space-4);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: var(--slist-space-3);
	background: var(--slist-surface);
	border: 1px solid var(--slist-separator);
	border-radius: var(--slist-radius-md);
	color: var(--slist-text-primary);
	text-decoration: none;
	margin-bottom: var(--slist-space-2);
	transition: border-color var(--slist-transition-fast);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	border-color: var(--slist-primary);
}

/* WC notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
	padding: var(--slist-space-3);
	background: var(--slist-surface);
	border: 1px solid var(--slist-separator-medium);
	border-left: 3px solid var(--slist-primary);
	border-radius: var(--slist-radius-md);
	color: var(--slist-text-primary);
	margin: 0 0 var(--slist-space-3);
	list-style: none;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	color: var(--slist-primary);
}

/* WC form inputs */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout .select2-container--default .select2-selection--single {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--slist-separator-medium);
	border-radius: var(--slist-radius-md);
	color: var(--slist-text-primary);
	padding: 12px 16px;
	font-family: var(--slist-font-body);
	min-height: auto;
	height: auto;
}

.woocommerce-checkout .checkout_coupon {
	background: var(--slist-surface);
	border: 1px solid var(--slist-separator);
	border-radius: var(--slist-radius-lg);
	padding: var(--slist-space-3) var(--slist-space-4);
	margin-bottom: var(--slist-space-3);
}

/* Non-alt buttons */
.woocommerce .button:not(.alt):not(.single_add_to_cart_button):not(.add_to_cart_button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 20px;
	background: var(--slist-surface);
	color: var(--slist-text-primary);
	border: 1px solid var(--slist-separator-medium);
	border-radius: var(--slist-radius-md);
	font-family: var(--slist-font-body);
	font-weight: var(--slist-weight-bold);
	font-size: var(--slist-text-callout);
	text-decoration: none;
	cursor: pointer;
	transition: border-color var(--slist-transition-fast);
}

.woocommerce .button:not(.alt):not(.single_add_to_cart_button):hover {
	border-color: var(--slist-separator-strong);
}
