/* One image-assignment contract for cards, primary gallery and cart.
 * Fit/focus are emitted from native saved metadata; originals remain untouched. */
body img[data-product-image-fit] {
	/* Whole photos must stay whole on hover; saved crops must not be replaced
	 * by a preset hover transform. Parent reveal/text/border motion is intact.
	 * Variables survive native wp_kses_post where transform styles do not. */
	transform: scale(var(--runlo-product-image-zoom, 1)) !important;
	transform-origin: var(--runlo-product-image-origin, 50% 50%);
}

body.storefront-product-images--clean .product-card .product-card__image,
body.storefront-product-images--clean .product-card .product-card__image img,
body.storefront-product-images--clean .home-categories .category-card:not(.category-card--tint) .category-card__image,
body.storefront-product-images--clean .home-categories .category-card:not(.category-card--tint) .category-card__image img {
	/* The preset adapter deliberately uses !important; match it here so white
	 * studio photos never acquire beige letterbox bars. Tint stays opt-in. */
	background: #fff !important;
}

/* Equal portrait viewports, not unequal white photo strips inside wide slots. */
body.home .drop-rail .product-card .product-card__image {
	display: block;
	aspect-ratio: .86;
}

body.home .drop-rail .product-card .product-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* The price leads; the native tax disclosure is readable supporting copy. */
body.home .drop-rail .product-card .tax-suffix,
body.home .drop-rail .product-card .woocommerce-price-suffix {
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	color: #595959;
	white-space: nowrap;
}

body.home.storefront-product-images--clean .home-categories .category-card:not(.category-card--tint) .category-card__info strong {
	color: #080808;
	text-shadow: none;
}

body.home.storefront-product-images--clean .home-categories .category-card:not(.category-card--tint) .category-card__info {
	/* Put the caption below the photo, never across the garment's hem. */
	position: static;
	inset: auto;
	padding: .45rem .55rem;
	background: #fff;
}
