/* ==========================================================================
   Zaurhe — WooCommerce
   ========================================================================== */

.woocommerce, .woocommerce-page { color: var(--zr-ink); }

/* Product grid */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	text-align: left;
	position: relative;
}

.woocommerce ul.products li.product a img {
	border-radius: var(--zr-radius);
	margin-bottom: 1.1rem;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	transition: transform 1s cubic-bezier(0.22,1,0.36,1);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.04); }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--zr-display);
	font-size: 1.35rem;
	font-weight: 500;
	color: var(--zr-ink);
	padding: 0 0 0.25rem;
	line-height: 1.2;
}
.woocommerce ul.products li.product .price {
	color: var(--zr-ink-soft);
	font-family: var(--zr-body);
	font-size: 0.95rem;
	font-weight: 400;
}
.woocommerce ul.products li.product .price del { opacity: 0.5; margin-right: 0.4em; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--zr-clay); font-weight: 500; }

.woocommerce ul.products li.product .button {
	margin-top: 0.85rem;
	font-size: 0.7rem;
	padding: 0.85em 1.5em;
}

/* Sale flash */
.woocommerce span.onsale {
	background: var(--zr-clay);
	color: #fff;
	border-radius: 50%;
	min-height: 3.2em;
	min-width: 3.2em;
	line-height: 3.2em;
	font-family: var(--zr-body);
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	top: 12px;
	left: 12px;
	margin: 0;
	font-weight: 500;
}

/* Result count + ordering */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin-bottom: 2rem; font-size: 0.85rem; }
.woocommerce .woocommerce-ordering select {
	padding: 0.6em 2em 0.6em 1em;
	border: 1px solid var(--zr-line);
	background: var(--zr-cream);
	border-radius: var(--zr-radius);
	font-family: var(--zr-body);
}

/* Single product layout */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: flex-start; }
.woocommerce div.product .images,
.woocommerce div.product .summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .product_title {
	font-family: var(--zr-display);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 500;
	margin-bottom: 0.5rem;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--zr-clay);
	font-family: var(--zr-display);
	font-size: 1.75rem;
}
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 1rem; }
.woocommerce .star-rating span::before,
.woocommerce p.stars a { color: var(--zr-brass); }

.woocommerce div.product form.cart { margin-top: 1.5rem; }
.woocommerce div.product form.cart .quantity input {
	padding: 0.9em;
	border: 1px solid var(--zr-line);
	background: var(--zr-cream);
	border-radius: var(--zr-radius);
	width: 80px;
	font-family: var(--zr-body);
}
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--zr-ink-soft); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--zr-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--zr-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0 1.5rem 0 0;
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--zr-body);
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--zr-ink-soft);
	padding: 1em 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--zr-ink); border-bottom: 1px solid var(--zr-clay); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--zr-clay);
	background: var(--zr-cream);
	border-radius: var(--zr-radius);
	font-family: var(--zr-body);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--zr-clay); }

/* Cart + checkout tables */
.woocommerce table.shop_table {
	border-radius: var(--zr-radius);
	border-color: var(--zr-line);
}
.woocommerce table.shop_table th { font-family: var(--zr-body); letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.75rem; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
	background: var(--zr-cream);
	padding: 2rem;
	border-radius: var(--zr-radius);
	border: 1px solid var(--zr-line);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection {
	padding: 0.85em 1em;
	border: 1px solid var(--zr-line) !important;
	background: var(--zr-white);
	border-radius: var(--zr-radius);
	font-family: var(--zr-body);
}

/* Account / forms */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 0.75em 0;
	border-bottom: 1px solid var(--zr-line);
	font-size: 0.85rem;
	letter-spacing: 0.08em;
}

/* Related products heading */
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2 {
	font-family: var(--zr-display);
	font-size: 2rem;
	margin-bottom: 1.5rem;
}

/* Responsive */
@media (max-width: 900px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, 1fr); }
	.woocommerce div.product { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-2,
	.woocommerce ul.products.columns-4 { grid-template-columns: 1fr; }
}
