/* ==========================================================
   RETAIL SHOP / CATEGORY — GLOBAL DESIGN ALIGNMENT
   ========================================================== */

body.wr-site.woocommerce.archive {
	background: #f5f5f5;
	color: #111;
}

/* Main shop shell */
body.wr-site.woocommerce.archive .wr-shop-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 30px;
	width: min(calc(100% - 40px), var(--wr-container));
	margin: 48px auto 72px;
	align-items: start;
}

/* Products area */
body.wr-site.woocommerce.archive .wr-shop-products {
	min-width: 0;
}

/* Archive title */
body.wr-site.woocommerce.archive .woocommerce-products-header {
	margin: 0 0 28px;
}

body.wr-site.woocommerce.archive .woocommerce-products-header__title,
body.wr-site.woocommerce.archive .page-title {
	margin: 0;
	font-family: 'Sora', sans-serif;
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: #111;
}

/* Result count / sorting */
body.wr-site.woocommerce.archive .woocommerce-result-count {
	margin: 0 0 22px;
	color: #707070;
	font-size: 14px;
}

body.wr-site.woocommerce.archive .woocommerce-ordering {
	margin: 0 0 22px;
}

body.wr-site.woocommerce.archive .woocommerce-ordering select {
	min-height: 44px;
	padding: 0 38px 0 14px;
	border: 1px solid var(--wr-line);
	border-radius: 0;
	background: #fff;
	color: #111;
	font-family: 'DM Sans', sans-serif;
	font-size: 14px;
}

/* Sidebar */
body.wr-site.woocommerce.archive .wr-shop-sidebar {
	min-width: 0;
}

body.wr-site.woocommerce.archive .wr-shop-sidebar .widget {
	margin: 0 0 20px;
	padding: 22px;
	border: 1px solid var(--wr-line);
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

body.wr-site.woocommerce.archive .wr-shop-sidebar .widget-title,
body.wr-site.woocommerce.archive .wr-shop-sidebar h2,
body.wr-site.woocommerce.archive .wr-shop-sidebar h3 {
	margin: 0 0 16px;
	font-family: 'Sora', sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	color: #111;
}

body.wr-site.woocommerce.archive .wr-shop-sidebar a {
	color: #333;
	text-decoration: none;
}

body.wr-site.woocommerce.archive .wr-shop-sidebar a:hover {
	color: var(--wr-red);
}

/* Product grid */
body.wr-site.woocommerce.archive .wr-shop-products ul.products {
	margin: 0 !important;
	padding: 0 !important;
}

/* Product card */
body.wr-site.woocommerce.archive ul.products li.product {
	position: relative;
	display: flex !important;
	flex-direction: column;
	height: 100%;
	margin: 0 !important;
	padding: 0 0 18px !important;
	border: 1px solid var(--wr-line);
	border-radius: 0 !important;
	background: #fff;
	box-shadow: none;
	overflow: hidden;
	transition: transform .18s ease, border-color .18s ease;
}

@media (hover: hover) and (pointer: fine) {
	body.wr-site.woocommerce.archive ul.products li.product:hover {
		transform: translateY(-3px);
		border-color: #c7c7c7;
	}
}

/* Product image */
body.wr-site.woocommerce.archive .jw-product-image-wrap {
	border-bottom: 1px solid #eeeeee;
	background: #fff;
}

body.wr-site.woocommerce.archive .jw-product-image-wrap img {
	transition: transform .22s ease;
}

@media (hover: hover) and (pointer: fine) {
	body.wr-site.woocommerce.archive li.product:hover .jw-product-image-main {
		transform: scale(.97);
	}
}

/* Product title */
body.wr-site.woocommerce.archive ul.products li.product .woocommerce-loop-product__title {
	margin: 18px 18px 10px !important;
	padding: 0 !important;
	font-family: 'Sora', sans-serif;
	font-size: 16px !important;
	font-weight: 650;
	line-height: 1.35;
	color: #111;
}

body.wr-site.woocommerce.archive ul.products li.product a:hover .woocommerce-loop-product__title {
	color: var(--wr-red);
}

/* Rating */
body.wr-site.woocommerce.archive ul.products li.product .star-rating {
	margin: 0 18px 12px !important;
}

/* Price */
body.wr-site.woocommerce.archive ul.products li.product .price {
	margin: 0 !important;
	font-family: 'Sora', sans-serif;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.2;
	color: #111 !important;
}

body.wr-site.woocommerce.archive ul.products li.product .price del {
	color: #8a8a8a;
	font-weight: 500;
}

body.wr-site.woocommerce.archive ul.products li.product .price ins {
	color: var(--wr-red);
	text-decoration: none;
}

/* Buttons */
body.wr-site.woocommerce.archive ul.products li.product .button-wrap .button,
body.wr-site.woocommerce.archive ul.products li.product .view_cart {
	font-family: 'DM Sans', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: none;
	transition:
		border-color .18s ease,
		color .18s ease,
		background .18s ease;
}

/* Sale / stock badges */
body.wr-site.woocommerce.archive ul.products li.product .onsale,
body.wr-site.woocommerce.archive .jw-product-oos-badge {
	position: absolute;
	z-index: 3;
	top: 12px;
	left: 12px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 7px 10px;
	border-radius: 0;
	background: #111;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

body.wr-site.woocommerce.archive ul.products li.product .onsale {
	background: var(--wr-red);
}

/* Pagination */
body.wr-site.woocommerce.archive nav.woocommerce-pagination {
	margin: 38px 0 0;
}

body.wr-site.woocommerce.archive nav.woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	border: 0 !important;
}

body.wr-site.woocommerce.archive nav.woocommerce-pagination ul li {
	border: 0 !important;
}

body.wr-site.woocommerce.archive nav.woocommerce-pagination ul li a,
body.wr-site.woocommerce.archive nav.woocommerce-pagination ul li span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--wr-line);
	border-radius: 0;
	background: #fff;
	color: #111;
	font-weight: 600;
}

body.wr-site.woocommerce.archive nav.woocommerce-pagination ul li span.current,
body.wr-site.woocommerce.archive nav.woocommerce-pagination ul li a:hover {
	border-color: var(--wr-red);
	background: #fff;
	color: var(--wr-red);
}

/* Tablet */
@media (max-width: 1100px) {
	body.wr-site.woocommerce.archive .wr-shop-layout {
		grid-template-columns: 230px minmax(0, 1fr);
		gap: 22px;
	}
}

/* Mobile */
@media (max-width: 768px) {
	body.wr-site.woocommerce.archive .wr-shop-layout {
		width: min(calc(100% - 28px), var(--wr-container));
		margin-top: 28px;
		margin-bottom: 52px;
	}

	body.wr-site.woocommerce.archive .woocommerce-products-header {
		margin-bottom: 22px;
	}

	body.wr-site.woocommerce.archive ul.products li.product .woocommerce-loop-product__title {
		margin-left: 12px !important;
		margin-right: 12px !important;
	}

	body.wr-site.woocommerce.archive ul.products li.product .star-rating {
		margin-left: 12px !important;
		margin-right: 12px !important;
	}

	body.wr-site.woocommerce.archive ul.products li.product .price-cart-wrapper {
		margin-left: 12px !important;
		margin-right: 12px !important;
	}
}


/* ==========================================================
   RETAIL SHOP CARDS — MATCH HOMEPAGE INVENTORY STYLE
   ========================================================== */

/* Card */
body.wr-site.woocommerce.archive ul.products li.product {
	padding-bottom: 24px !important;
	background: #fff;
	border: 1px solid #dedede !important;
}

/* Image area */
body.wr-site.woocommerce.archive .jw-product-image-wrap {
	height: 270px;
	margin: 22px 22px 0;
	width: auto;
	border: 0;
	background: #fff;
}

body.wr-site.woocommerce.archive .jw-product-image-wrap img {
	padding: 0;
	object-fit: contain;
}

/* Title */
body.wr-site.woocommerce.archive ul.products li.product .woocommerce-loop-product__title {
	margin: 22px 24px 12px !important;
	font-family: 'Sora', sans-serif;
	font-size: 17px !important;
	font-weight: 600;
	line-height: 1.22;
	letter-spacing: -0.02em;
	color: #171717;
}

/* Rating */
body.wr-site.woocommerce.archive ul.products li.product .star-rating {
	margin-left: 24px !important;
	margin-right: 24px !important;
}

/* Price / button wrapper */
body.wr-site.woocommerce.archive ul.products li.product .price-cart-wrapper {
	margin: 0 24px !important;
}

/* Price */
body.wr-site.woocommerce.archive ul.products li.product .price-wrap {
	margin-bottom: 20px;
}

body.wr-site.woocommerce.archive ul.products li.product .price {
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.15;
}

/* Button like homepage */
body.wr-site.woocommerce.archive ul.products li.product .button-wrap {
	width: auto;
	margin-top: auto;
}

body.wr-site.woocommerce.archive ul.products li.product .button-wrap .button,
body.wr-site.woocommerce.archive ul.products li.product .view_cart {
	display: inline-flex !important;
	width: auto !important;
	min-width: 130px;
	min-height: 48px;
	padding: 0 22px !important;
	border: 1px solid #111 !important;
	background: #fff !important;
	color: #111 !important;
	font-size: 13px;
	font-weight: 700;
}

/* Sale badge — same compact badge as homepage */
body.wr-site.woocommerce.archive ul.products li.product .onsale {
	top: 16px !important;
	left: 16px !important;
	right: auto !important;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 9px 14px !important;
	border-radius: 0 !important;
	background: var(--wr-red) !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

/* Hover like homepage */
@media (hover: hover) and (pointer: fine) {
	body.wr-site.woocommerce.archive ul.products li.product:hover {
		transform: none;
		border-color: var(--wr-red) !important;
	}

	body.wr-site.woocommerce.archive ul.products li.product:hover .jw-product-image-main {
		transform: none;
	}
}

/* Mobile */
@media (max-width: 768px) {
	body.wr-site.woocommerce.archive .jw-product-image-wrap {
		height: 220px;
		margin: 14px 14px 0;
	}

	body.wr-site.woocommerce.archive ul.products li.product .woocommerce-loop-product__title {
		margin: 18px 14px 10px !important;
	}

	body.wr-site.woocommerce.archive ul.products li.product .price-cart-wrapper {
		margin-left: 14px !important;
		margin-right: 14px !important;
	}
}

@media (max-width: 480px) {
	body.wr-site.woocommerce.archive .jw-product-image-wrap {
		height: 280px;
	}
}


/* ==========================================================
   RETAIL SINGLE PRODUCT — FINAL RETAIL DESIGN
   ========================================================== */

body.wr-site.single-product {
	background: #f5f5f5;
	color: #111;
}

/* Page container */
body.wr-site.single-product .site-content {
	width: min(var(--wr-container), calc(100% - 40px));
	margin: 36px auto 72px;
}

/* Product page heading */
body.wr-site.single-product .jw-product-page-head {
	margin: 0 0 28px;
}

body.wr-site.single-product .jw-product-page-head__title {
	margin: 0 0 12px;
	font-family: 'Sora', sans-serif;
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: #111;
}

body.wr-site.single-product .jw-product-page-head__breadcrumbs,
body.wr-site.single-product .woocommerce-breadcrumb {
	margin: 0;
	color: #777;
	font-size: 13px;
}

body.wr-site.single-product .woocommerce-breadcrumb a {
	color: #444;
	text-decoration: none;
}

body.wr-site.single-product .woocommerce-breadcrumb a:hover {
	color: var(--wr-red);
}

/* Main product */
body.wr-site.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
	gap: 44px;
	align-items: start;
}

/* Gallery */
body.wr-site.single-product div.product div.images {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 28px;
	border: 1px solid var(--wr-line);
	border-radius: 0 !important;
	background: #fff;
}

body.wr-site.single-product .woocommerce-product-gallery__wrapper {
	margin: 0;
}

body.wr-site.single-product .woocommerce-product-gallery__image {
	background: #fff;
}

body.wr-site.single-product .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	max-height: 620px;
	object-fit: contain;
}

/* Gallery trigger */
body.wr-site.single-product .woocommerce-product-gallery__trigger {
	border-radius: 0 !important;
	background: #fff !important;
	border: 1px solid var(--wr-line);
}

/* Summary */
body.wr-site.single-product div.product div.summary {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 32px;
	border: 1px solid var(--wr-line);
	border-radius: 0 !important;
	background: #fff;
}

/* Hide duplicate Woo title if any plugin restores it */
body.wr-site.single-product div.product .summary .product_title {
	display: none;
}

/* Price */
body.wr-site.single-product div.product p.price,
body.wr-site.single-product div.product span.price {
	margin: 0 0 18px;
	font-family: 'Sora', sans-serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.15;
	color: #111;
}

body.wr-site.single-product div.product p.price del,
body.wr-site.single-product div.product span.price del {
	color: #999;
	font-size: .72em;
	font-weight: 500;
}

body.wr-site.single-product div.product p.price ins,
body.wr-site.single-product div.product span.price ins {
	color: var(--wr-red);
	text-decoration: none;
}

/* Stock */
body.wr-site.single-product div.product .stock {
	display: inline-flex;
	align-items: center;
	margin: 0 0 20px;
	padding: 8px 12px;
	border: 1px solid var(--wr-line);
	border-radius: 0;
	background: #fff;
	font-family: 'DM Sans', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: #111;
}

body.wr-site.single-product div.product .stock.in-stock {
	border-color: var(--wr-red);
	color: var(--wr-red);
}

/* Short description */
body.wr-site.single-product .woocommerce-product-details__short-description {
	margin: 0 0 24px;
	color: #555;
	font-size: 15px;
	line-height: 1.65;
}

/* Add to cart row */
body.wr-site.single-product form.cart {
	display: flex;
	align-items: stretch;
	gap: 12px;
	margin: 0 0 26px !important;
}

/* Quantity */
body.wr-site.single-product form.cart .quantity {
	margin: 0 !important;
}

body.wr-site.single-product form.cart .quantity .qty {
	width: 76px;
	height: 50px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid #111 !important;
	border-radius: 0 !important;
	background: #fff;
	color: #111;
	font-family: 'DM Sans', sans-serif;
	font-size: 15px;
	text-align: center;
}

/* Add to cart */
body.wr-site.single-product form.cart .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 28px !important;
	border: 1px solid #111 !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: #111 !important;
	font-family: 'DM Sans', sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	box-shadow: none !important;
	transition: border-color .18s ease, color .18s ease;
}

body.wr-site.single-product form.cart .single_add_to_cart_button:hover {
	border-color: var(--wr-red) !important;
	background: #fff !important;
	color: var(--wr-red) !important;
}

/* Product metadata */
body.wr-site.single-product .product_meta {
	margin-top: 8px;
	padding-top: 22px;
	border-top: 1px solid var(--wr-line);
	color: #777;
	font-size: 13px;
	line-height: 1.8;
}

body.wr-site.single-product .product_meta > span {
	display: block;
}

body.wr-site.single-product .product_meta a {
	color: #111;
	text-decoration: none;
}

body.wr-site.single-product .product_meta a:hover {
	color: var(--wr-red);
}

/* Tabs */
body.wr-site.single-product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: 8px;
	padding: 0;
	border: 1px solid var(--wr-line);
	border-radius: 0;
	background: #fff;
}

body.wr-site.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid var(--wr-line);
}

body.wr-site.single-product .woocommerce-tabs ul.tabs::before,
body.wr-site.single-product .woocommerce-tabs ul.tabs::after {
	display: none !important;
}

body.wr-site.single-product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-right: 1px solid var(--wr-line) !important;
	border-radius: 0 !important;
	background: #fff !important;
}

body.wr-site.single-product .woocommerce-tabs ul.tabs li::before,
body.wr-site.single-product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

body.wr-site.single-product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 16px 22px !important;
	color: #555 !important;
	font-family: 'Sora', sans-serif;
	font-size: 13px;
	font-weight: 600;
}

body.wr-site.single-product .woocommerce-tabs ul.tabs li.active a,
body.wr-site.single-product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--wr-red) !important;
}

body.wr-site.single-product .woocommerce-tabs .panel {
	margin: 0 !important;
	padding: 28px 30px !important;
	color: #444;
	line-height: 1.7;
}

body.wr-site.single-product .woocommerce-tabs .panel h2 {
	margin-top: 0;
	font-family: 'Sora', sans-serif;
	font-size: 24px;
	color: #111;
}

/* Related */
body.wr-site.single-product .related.products {
	grid-column: 1 / -1;
	margin-top: 18px;
}

body.wr-site.single-product .related.products > h2 {
	margin: 0 0 24px;
	font-family: 'Sora', sans-serif;
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.025em;
	color: #111;
}

/* Related cards — same visual language as shop */
body.wr-site.single-product .related.products ul.products li.product {
	padding-bottom: 24px !important;
	border: 1px solid #dedede !important;
	border-radius: 0 !important;
	background: #fff;
	box-shadow: none !important;
}

body.wr-site.single-product .related.products ul.products li.product:hover {
	transform: none !important;
	border-color: var(--wr-red) !important;
	box-shadow: none !important;
}

body.wr-site.single-product .related.products .jw-product-image-wrap {
	height: 250px;
	margin: 18px 18px 0;
	background: #fff;
}

body.wr-site.single-product .related.products .jw-product-image-wrap img {
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	object-fit: contain;
}

body.wr-site.single-product .related.products .woocommerce-loop-product__title {
	margin: 18px 18px 10px !important;
	font-family: 'Sora', sans-serif;
	font-size: 16px !important;
	font-weight: 600;
	line-height: 1.3;
}

body.wr-site.single-product .related.products .price {
	font-size: 18px !important;
}

/* Mobile / tablet */
@media (max-width: 960px) {
	body.wr-site.single-product div.product {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	body.wr-site.single-product .woocommerce-tabs,
	body.wr-site.single-product .related.products {
		grid-column: 1;
	}
}

@media (max-width: 600px) {
	body.wr-site.single-product .site-content {
		width: calc(100% - 28px);
		margin-top: 24px;
	}

	body.wr-site.single-product .jw-product-page-head__title {
		font-size: 30px;
	}

	body.wr-site.single-product div.product div.images,
	body.wr-site.single-product div.product div.summary {
		padding: 18px;
	}

	body.wr-site.single-product form.cart {
		flex-direction: column;
	}

	body.wr-site.single-product form.cart .quantity,
	body.wr-site.single-product form.cart .quantity .qty,
	body.wr-site.single-product form.cart .single_add_to_cart_button {
		width: 100%;
	}

	body.wr-site.single-product .woocommerce-tabs ul.tabs {
		flex-direction: column;
	}

	body.wr-site.single-product .woocommerce-tabs ul.tabs li {
		border-right: 0 !important;
		border-bottom: 1px solid var(--wr-line) !important;
	}

	body.wr-site.single-product .woocommerce-tabs .panel {
		padding: 20px !important;
	}
}


/* WooCommerce pages share the Retail palette and typography. */
body.wr-site.woocommerce-page {
  background: var(--wr-bg); color: var(--wr-ink);
  --wp--preset--color--contrast: var(--wr-ink);
  --wp--preset--color--base: var(--wr-surface);
}
body.wr-site.woocommerce-page .woocommerce,
body.wr-site.woocommerce-page .wc-block-cart,
body.wr-site.woocommerce-page .wc-block-checkout { font-family: 'DM Sans', system-ui, sans-serif; }
body.wr-site.woocommerce-cart .site-content,
body.wr-site.woocommerce-checkout .site-content,
body.wr-site.woocommerce-account .site-content,
body.wr-site.single-product .site-main {
  width: min(var(--wr-container), calc(100% - 40px));
  max-width: var(--wr-container); margin: 36px auto 64px;
}
body.wr-site.woocommerce-cart .inside-article,
body.wr-site.woocommerce-checkout .inside-article,
body.wr-site.woocommerce-account .inside-article { padding: clamp(20px, 3vw, 40px); background: var(--wr-surface); }
body.wr-site.woocommerce-page .woocommerce .button,
body.wr-site.woocommerce-page .wc-block-components-button,
body.wr-site.woocommerce-page .wp-block-button__link {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 700; border-radius: 0 !important;
}
body.wr-site.woocommerce-page .woocommerce .button {
  background: #fff; color: var(--wr-ink); border: 1px solid var(--wr-ink);
  padding: 12px 22px; min-height: 44px;
}
body.wr-site.woocommerce-page .woocommerce .button:hover {
  background: var(--wr-red); color: #fff; border-color: var(--wr-red);
}
body.wr-site.woocommerce-page .woocommerce .button.alt,
body.wr-site.woocommerce-page .wc-block-components-button:not(.is-link) {
  background: var(--wr-red); color: #fff; border: 1px solid var(--wr-red);
}
body.wr-site.woocommerce-page .woocommerce form .input-text,
body.wr-site.woocommerce-page .woocommerce form select,
body.wr-site.woocommerce-page .wc-block-components-text-input input,
body.wr-site.woocommerce-page .wc-block-components-textarea {
  font-family: inherit; color: var(--wr-ink); background: #fff;
  border: 1px solid var(--wr-line); border-radius: 0;
}
body.wr-site.woocommerce-page .woocommerce form .input-text:focus,
body.wr-site.woocommerce-page .woocommerce form select:focus {
  outline: 2px solid var(--wr-red); outline-offset: 1px;
}
body.wr-site.woocommerce-account .woocommerce form.login,
body.wr-site.woocommerce-account .woocommerce form.register,
body.wr-site.woocommerce-page .woocommerce table.shop_table {
  border: 1px solid var(--wr-line); border-radius: 0; background: #fff;
}
body.wr-site.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none; margin: 0; padding: 0; border: 1px solid var(--wr-line);
}
body.wr-site.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 12px 18px; border-bottom: 1px solid var(--wr-line);
}
body.wr-site.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
body.wr-site.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: #fff; background: var(--wr-red);
}
body.wr-site.woocommerce-page .woocommerce-info,
body.wr-site.woocommerce-page .woocommerce-message { border-top-color: var(--wr-red); }
body.wr-site.woocommerce-page .woocommerce-info::before,
body.wr-site.woocommerce-page .woocommerce-message::before { color: var(--wr-red); }
/* Keep the confirmed cart-button replacement hidden. */
body.wr-site.woocommerce-page ul.products li.product .button-wrap .button.wr-cart-link-replaced { display: none !important; }
@media (max-width: 767px) {
 body.wr-site.woocommerce-cart .site-content,
 body.wr-site.woocommerce-checkout .site-content,
 body.wr-site.woocommerce-account .site-content,
 body.wr-site.single-product .site-main { width: calc(100% - 24px); margin: 24px auto 40px; }
 body.wr-site.woocommerce-account .woocommerce-MyAccount-navigation,
 body.wr-site.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
 body.wr-site.woocommerce-account .woocommerce-MyAccount-content { margin-top: 24px; }
}

/* Sale badges use the same shape and scale as Home inventory badges. */
body.wr-site.woocommerce-page span.onsale,
body.wr-site.woocommerce.archive ul.products li.product .onsale,
body.wr-site.woocommerce-page .wc-block-components-product-sale-badge,
body.wr-site.woocommerce-page .wc-block-grid__product-onsale {
    position: absolute;
    top: 14px !important;
    left: 14px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 6px 9px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--wr-red) !important;
    color: #fff !important;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .09em;
    line-height: 1.6 !important;
    text-transform: uppercase;
    box-shadow: 0 6px 14px rgba(198,32,38,.24);
}

/* Larger rectangular Sale label. */
body.wr-site.woocommerce-page span.onsale,
body.wr-site.woocommerce.archive ul.products li.product .onsale,
body.wr-site.woocommerce-page .wc-block-components-product-sale-badge,
body.wr-site.woocommerce-page .wc-block-grid__product-onsale {
    padding: 9px 14px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    border-radius: 0 !important;
    box-shadow: none;
}

/* Retail sidebar widgets and filter drawer use the theme design. */
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) {
  color: var(--wr-ink);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) .widget {
  padding: 22px;
  margin: 0 0 20px;
  border: 1px solid var(--wr-line);
  background: var(--wr-surface);
  box-shadow: none;
}
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(h2, h3, h4, .widget-title, .wp-block-heading) {
  font-family: 'Sora', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 16px;
  color: var(--wr-ink);
}
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(ul, ol) {
  list-style: none;
  margin: 0;
  padding: 0;
}
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) li + li { margin-top: 8px; }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) li ul { padding-left: 16px; margin-top: 8px; }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) a { color: var(--wr-ink); }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) a:hover { color: var(--wr-red); }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(input, select, textarea, button) { font: inherit; }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=submit]), select, textarea) {
  width: 100%; max-width: 100%; min-width: 0; min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--wr-line);
  background: #fff; color: var(--wr-ink);
  box-shadow: none;
}
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(input, select, textarea, button, a):focus-visible {
  outline: 2px solid var(--wr-red); outline-offset: 2px;
}
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(input[type=checkbox], input[type=radio], input[type=range]) { accent-color: var(--wr-red); }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(button, input[type=submit], .button, .facetwp-reset, .facetwp-load-more) {
  padding: 10px 16px; min-height: 44px;
  border: 1px solid var(--wr-ink);
  background: #fff; color: var(--wr-ink);
  font-weight: 700; cursor: pointer;
}
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(button, input[type=submit], .button, .facetwp-reset, .facetwp-load-more):hover {
  background: var(--wr-red); border-color: var(--wr-red); color: #fff;
}
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) .facetwp-facet { margin-bottom: 20px; }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) .facetwp-checkbox,
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) .facetwp-radio {
  position: relative; background-image: none !important;
  padding: 5px 0 5px 28px; margin-bottom: 4px;
  color: var(--wr-ink); cursor: pointer;
}
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(.facetwp-checkbox, .facetwp-radio)::before {
  content: ''; position: absolute; top: 8px; left: 0;
  width: 16px; height: 16px; border: 1px solid var(--wr-line); background: #fff;
}
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(.facetwp-checkbox, .facetwp-radio).checked::before { background: var(--wr-red); border-color: var(--wr-red); }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) .facetwp-checkbox.checked::after {
  content: ''; position: absolute; top: 10px; left: 5px;
  width: 6px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) .facetwp-counter { color: var(--wr-muted); font-size: 12px; }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) .facetwp-disabled { opacity: .45; cursor: default; }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(.facetwp-slider .noUi-connect, .price_slider .ui-slider-range) { background: var(--wr-red); }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) :is(.facetwp-slider .noUi-handle, .price_slider .ui-slider-handle) { background: #fff; border: 1px solid var(--wr-red); box-shadow: none; }
body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) .facetwp-slider .noUi-target { background: var(--wr-surface-2); border: 1px solid var(--wr-line); box-shadow: none; }
@media (max-width: 767px) {
  body.wr-site.woocommerce.archive :is(.wr-shop-sidebar, .filters-sidebar) .widget { padding: 18px; }
}

/* Product images reach the card border and remain entirely visible. */
body.wr-site.woocommerce.archive ul.products li.product .jw-product-image-wrap,
body.wr-site.single-product .related.products ul.products li.product .jw-product-image-wrap {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: 1 / 1;
    height: auto !important;
    background: #fff;
}
body.wr-site.woocommerce.archive ul.products li.product .jw-product-image-wrap img,
body.wr-site.single-product .related.products ul.products li.product .jw-product-image-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    object-fit: contain !important;
    transform: none !important;
}
body.wr-site.woocommerce.archive .wr-shop-products.wr-load-more-active .woocommerce-pagination { display: none; }
body.wr-site.woocommerce.archive .wr-load-more { text-align: center; margin: 28px 0; }
body.wr-site.woocommerce.archive .wr-load-more .button {
    padding: 12px 22px; min-height: 44px; border: 1px solid var(--wr-ink);
    background: #fff; color: var(--wr-ink); font: inherit; font-weight: 700; cursor: pointer;
}
body.wr-site.woocommerce.archive .wr-load-more .button:hover { background: var(--wr-red); color: #fff; }
body.wr-site.woocommerce.archive .wr-load-more .button:disabled { opacity: .5; cursor: wait; }
body.wr-site.woocommerce.archive .wr-load-more p { color: var(--wr-muted); font-size: 14px; margin: 12px 0; }
