/* Keep a square image slot so cards without photos stay aligned. */

ul.products .product,
ul.products .product .post-inner {
	height: 100%;
}

ul.products .product .image-container {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #f5f5f5;
	border-radius: 6px;
}

ul.products .product .image-container img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

ul.products .product .image-container svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

ul.products .product .image-container img.woocommerce-placeholder,
ul.products .product .post-image.no-thumbnail .image-container img {
	object-fit: contain;
	background-color: #f5f5f5;
}

.widget_products .product_list_widget > li .image-container,
.widget_recently_viewed_products .product_list_widget > li .image-container,
.widget_recent_reviews .product_list_widget > li .image-container,
.widget_top_rated_products .product_list_widget > li .image-container,
.widget_shopping_cart .cart-product-image {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #f5f5f5;
}

.widget_products .product_list_widget > li .image-container img,
.widget_recently_viewed_products .product_list_widget > li .image-container img,
.widget_recent_reviews .product_list_widget > li .image-container img,
.widget_top_rated_products .product_list_widget > li .image-container img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.product-search .search-results .product-image {
	aspect-ratio: 1 / 1;
	background-color: #f5f5f5;
	border-radius: 6px;
}

.product-search .search-results .product-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.woocommerce-product-gallery__image img.woocommerce-placeholder {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background-color: #f5f5f5;
}

.wc-block-grid__product-image,
.wc-block-components-product-image {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #f5f5f5;
}

.wc-block-grid__product-image img,
.wc-block-components-product-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.list ul.products .product .image-container {
	width: 100%;
}

/* Stock status badge on product cards */
ul.products .product p.stock-status,
.product .comp-body p.stock-status,
.product-search .product-data p.stock-status {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	margin: 4px 0 8px 0;
	padding: 4px 10px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 16px;
	letter-spacing: 0;
}

ul.products .product p.stock-status.outofstock,
.product .comp-body p.stock-status.outofstock,
.product .summary p.stock-status.outofstock,
.product-search .product-data p.stock-status.outofstock {
	color: #c62828;
	background-color: #ffebee;
}

ul.products .product p.stock-status.onbackorder,
.product .comp-body p.stock-status.onbackorder,
.product .summary p.stock-status.onbackorder,
.product-search .product-data p.stock-status.onbackorder {
	color: #c05600;
	background-color: #fff4e5;
}

ul.products .product p.stock-status.instock,
.product .comp-body p.stock-status.instock,
.product .summary p.stock-status.instock,
.product-search .product-data p.stock-status.instock {
	color: #2e7d32;
	background-color: #e8f5e9;
}

ul.products .product p.stock-status:before,
.product .comp-body p.stock-status:before,
.product .summary p.stock-status:before,
.product-search .product-data p.stock-status:before {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	margin-right: 6px;
	flex-shrink: 0;
	background-color: currentColor;
	background-image: none;
	-webkit-mask: url(../images/icons/stock.svg) no-repeat 50% 50%;
	mask: url(../images/icons/stock.svg) no-repeat 50% 50%;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.comp .product .post-content-wrap p.stock-status {
	display: none;
}

.comp .product .comp-body p.stock-status {
	margin-bottom: 12px;
}

ul.products .product.outofstock .price,
ul.products .product.outofstock .price span,
ul.products .product.outofstock .price bdi,
ul.products .product.outofstock .woocommerce-Price-amount,
ul.products .product.outofstock .comp-body .price,
.single-product div.product.outofstock .summary .price,
.single-product div.product.outofstock .summary .price span,
.single-product div.product.outofstock .summary .price bdi,
.single-product div.product.outofstock .summary .woocommerce-Price-amount {
	color: #9e9e9e !important;
}
