/* Single product (WooCommerce) — breadcrumb, sale badge, add-to-cart, related */

.single-product__breadcrumb-bar {
	color: #808285;
	padding: 0.75rem 0;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	line-height: 1.4;
}

.single-product__breadcrumb-bar .woocommerce-breadcrumb {
	margin: 0;
	padding: 0;
	color: #808285;
	padding: 36px 165px 80px 74px;
}

.single-product__breadcrumb-bar .woocommerce-breadcrumb a {
	color: #808285;
	text-decoration: none;
}

.single-product__breadcrumb-bar .woocommerce-breadcrumb a:hover,
.single-product__breadcrumb-bar .woocommerce-breadcrumb a:focus {
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	.single-product__breadcrumb-bar .woocommerce-breadcrumb {
		height: unset;
		padding: 23px;
		padding-left: 23px;
	}
}

@media screen and (min-width: 768px) {
	.single-product__breadcrumb-bar .woocommerce-breadcrumb {
		padding-left: 74px;
	}
}

.single-product__top {
	background-color: #fff;
}

/* Sale badge over gallery */
.product-info__gallery {
	position: relative;
}

.product-info__gallery > .onsale {
	position: absolute;
	z-index: 2;
	top: 0.75rem;
	left: 0.75rem;
	margin: 0;
}

.product-info__details .summary {
	margin: 0;
	padding: 0;
	float: none;
	width: 100%;
}

.product-info__details form.cart,
.product-info__details .cart {
	margin-top: clamp(1rem, 2vw, 1.5rem);
}

/* Short description / features column: lists match product-info feature list */
.mwf.product-info .product-info__feature-content ul {
	margin: 0;
	font-family: Roboto, sans-serif;
	font-size: 1rem;
	line-height: clamp(1.625rem, 0.37736vw + 1.5353775rem, 1.875rem);
	color: #686864;
	list-style: disc;
}

.mwf.product-info .product-info__feature-content ul li {
	margin-bottom: 0.5rem;
}

.mwf.product-info .product-info__feature-content ul li:last-child {
	margin-bottom: 0;
}

.mwf.product-info .product-info__feature-content ul li::marker {
	color: #686864;
}

.mwf.product-info .product-info__feature-content ul li::before {
	color: #686864;
	top: 14px;
}

/* Related / upsells spacing inside product template */
.single-product .related.products,
.single-product .upsells.products {
	padding-top: clamp(2rem, 3vw, 3rem);
}

/* Shimmer skeleton (for related products initial load) */
.mwf-shimmer-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin: 0 0 1rem;
}

@media screen and (min-width: 640px) {
	.mwf-shimmer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (min-width: 768px) {
	.mwf-shimmer-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width: 991px) {
	.mwf-shimmer-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.mwf-shimmer-card {
	border-radius: 0.4375rem;
}

.mwf-shimmer-card__thumb,
.mwf-shimmer-card__line {
	position: relative;
	overflow: hidden;
	background: #f5f5f5;
}

.mwf-shimmer-card__thumb::before,
.mwf-shimmer-card__line::before {
	content: "";
	position: absolute;
	inset: 0;
	transform: translateX(-100%);
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.55) 50%,
		rgba(255, 255, 255, 0) 100%
	);
	animation: mwfShimmer 1.15s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
	.mwf-shimmer-card__thumb::before,
	.mwf-shimmer-card__line::before {
		animation: none;
	}
}

.mwf-shimmer-card__thumb {
	width: 100%;
	border-radius: 0.4375rem;
	aspect-ratio: 243 / 255;
}

.mwf-shimmer-card__line {
	margin-top: 0.625rem;
	height: 0.875rem;
	border-radius: 0.375rem;
	width: 92%;
}

.mwf-shimmer-card__line--sm {
	width: 64%;
}

@keyframes mwfShimmer {
	to {
		transform: translateX(100%);
	}
}

.wpsl-autocomplete-search-results ul {
	background: #fff;
	border: 0.5px solid #808080;
	padding-left: 6px;
}

.wpsl-autocomplete-search-results ul li {
	padding-top: 6px;
	padding-bottom: 6px;
}