/* Bloom related products */

.single-product .related.products .slider-title {
	text-align: center;
}

/* Related carousel cards — price size + delivery pill alignment (desktop + mobile). */
.single-product .related.products ul.products:not(.list) > li.product,
.single-product .related.products .owl-item > li.product {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	height: 100%;
}

.single-product .related.products .owl-item {
	display: flex !important;
	align-items: stretch !important;
}

.single-product .related.products .products-slider.owl-carousel .owl-stage {
	display: flex;
	align-items: stretch;
}

.single-product .related.products ul.products:not(.list) > li.product .product-inner,
.single-product .related.products .owl-item > li.product .product-inner {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	min-height: 100%;
}

.single-product .related.products ul.products:not(.list) > li.product .product-content,
.single-product .related.products .owl-item > li.product .product-content {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	align-items: center;
	text-align: center;
}

.single-product .related.products ul.products:not(.list) > li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products:not(.list) > li.product h3.woocommerce-loop-product__title,
.single-product .related.products .owl-item > li.product .woocommerce-loop-product__title,
.single-product .related.products .owl-item > li.product h3.woocommerce-loop-product__title {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
	margin-bottom: 0;
	color: var(--porto-heading-color, #222);
	text-align: center;
	width: 100%;
}

.single-product .related.products ul.products:not(.list) > li.product .price,
.single-product .related.products .owl-item > li.product .price {
	display: block;
	font-size: 0.75rem;
	line-height: 1.35;
	font-weight: 500;
	margin-top: 4px;
	margin-bottom: 4px;
	min-height: 0;
	text-align: center;
	width: 100%;
	color: var(--porto-heading-color, #222);
}

.single-product .related.products ul.products:not(.list) > li.product .price .amount,
.single-product .related.products .owl-item > li.product .price .amount {
	font-size: inherit;
	font-weight: inherit;
}

.single-product .related.products ul.products:not(.list) > li.product .price del,
.single-product .related.products ul.products:not(.list) > li.product .price ins,
.single-product .related.products .owl-item > li.product .price del,
.single-product .related.products .owl-item > li.product .price ins {
	font-size: inherit;
}

.single-product .related.products ul.products:not(.list) > li.product .custom-price-message.custom-delivery-zone,
.single-product .related.products .owl-item > li.product .custom-price-message.custom-delivery-zone {
	margin: 0;
	padding: 0;
	width: 100%;
	justify-content: center;
}

.single-product .related.products .custom-price-message.custom-delivery-zone .delivery-label {
	font-size: 0.6875rem;
	font-weight: 400;
	line-height: 1.3;
	color: #777;
	text-align: center;
}

.single-product .related.products .custom-price-message.custom-delivery-zone .zone-name {
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.25;
}

/* Mobile: in-row copy hidden; below-product copy visible. */
@media (max-width: 991.98px) {
	.single-product .related.products.bloom-related-in-row {
		display: none !important;
	}

	.single-product #main > .related.products.bloom-related-below .container,
	.single-product #main > .related.products.bloom-related-below .container-fluid {
		padding-left: 15px;
		padding-right: 15px;
	}

	.single-product .related.products.bloom-related-below .slider-wrapper {
		overflow: hidden;
		overscroll-behavior: contain;
	}

	.single-product .related.products .products-slider.owl-carousel .owl-stage-outer {
		overscroll-behavior: contain;
	}

	.single-product .related.products.bloom-related-below .owl-height,
	.single-product .related.products.bloom-related-below .owl-carousel .owl-stage-outer {
		transition: none !important;
	}
}

/* Desktop: related inside summary column, after social share. */
@media (min-width: 992px) {
	body.bloom-pgs-enhanced.single-product .product-summary-wrap > .row,
	body.bloom-pgs-enhanced.single-product .product-summary-wrap > .row.bloom-related-row-grid {
		display: flex !important;
		flex-wrap: wrap !important;
		grid-template-columns: unset !important;
		grid-template-rows: unset !important;
	}

	.single-product:has(.summary .bloom-related-in-row) #main > .related.products.bloom-related-below,
	.single-product:has(.product-summary-wrap > .row > .bloom-related-in-row) #main > .related.products.bloom-related-below,
	.single-product:has(.summary .bloom-related-in-row) #main > .related.products.bloom-related-sidebar,
	.single-product:has(.product-summary-wrap > .row > .bloom-related-in-row) #main > .related.products.bloom-related-sidebar {
		display: none !important;
	}

	.single-product .summary.entry-summary > .related.products.bloom-related-in-row,
	.single-product .product-summary-wrap > .row > .related.products.bloom-related-in-row {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-left: auto;
		margin-right: auto;
		padding-top: 12px;
		clear: both;
		overflow: hidden;
		box-sizing: border-box;
		text-align: center;
	}

	.single-product .bloom-related-in-row-inner {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-left: auto;
		margin-right: auto;
		overflow: hidden;
		box-sizing: border-box;
		text-align: center;
	}

	.single-product .related.products.bloom-related-in-row .slider-title {
		text-align: center;
		font-size: 0.875rem;
		font-weight: 600;
		letter-spacing: 0.04em;
		margin-bottom: 10px;
	}

	.single-product .related.products.bloom-related-in-row .slider-title,
	.single-product .related.products.bloom-related-in-row .slider-wrapper {
		min-width: 0;
		max-width: 100%;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.single-product .related.products.bloom-related-in-row .slider-wrapper {
		position: relative;
		overflow: hidden;
	}

	.single-product .related.products.bloom-related-in-row .products-slider {
		width: 100% !important;
		max-width: 100%;
	}

	.single-product .related.products.bloom-related-in-row .bloom-related-carousel .owl-stage-outer {
		overflow: hidden;
	}

	.single-product .related.products.bloom-related-in-row .bloom-related-carousel.owl-carousel .owl-nav .owl-prev,
	.single-product .related.products.bloom-related-in-row .bloom-related-carousel.owl-carousel .owl-nav .owl-next {
		position: absolute;
		top: 38%;
		z-index: 4;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		margin: 0;
		padding: 0;
		border-radius: 50%;
		background: rgba(40, 40, 40, 0.78) !important;
		background-image: none !important;
		border: 1px solid rgba(255, 255, 255, 0.14) !important;
		color: #fff !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
		opacity: 1 !important;
		transform: translateY(-50%) !important;
		transition: background-color 0.2s ease, transform 0.2s ease;
	}

	.single-product .related.products.bloom-related-in-row .bloom-related-carousel.owl-carousel .owl-nav .owl-prev {
		left: 4px;
		right: auto;
	}

	.single-product .related.products.bloom-related-in-row .bloom-related-carousel.owl-carousel .owl-nav .owl-next {
		right: 4px;
		left: auto;
	}

	.single-product .related.products.bloom-related-in-row .bloom-related-carousel.owl-carousel .owl-nav .owl-prev:hover,
	.single-product .related.products.bloom-related-in-row .bloom-related-carousel.owl-carousel .owl-nav .owl-next:hover,
	.single-product .related.products.bloom-related-in-row .bloom-related-carousel.owl-carousel .owl-nav .owl-prev:focus-visible,
	.single-product .related.products.bloom-related-in-row .bloom-related-carousel.owl-carousel .owl-nav .owl-next:focus-visible {
		background: var(--porto-primary-color, #d4af7f) !important;
	}

	.single-product .related.products.bloom-related-in-row .bloom-related-carousel.owl-carousel .owl-nav .disabled {
		opacity: 0.35 !important;
		pointer-events: none;
	}

	.single-product .related.products.bloom-related-in-row .slider-wrapper.bloom-related-has-more::after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 48px;
		background: linear-gradient(to left, var(--porto-body-bg, #fff) 15%, rgba(255, 255, 255, 0));
		pointer-events: none;
		z-index: 3;
	}

	.single-product .related.products.bloom-related-in-row .bloom-related-carousel .owl-dots {
		display: none;
	}
}
