/**
 * Zarin Related Products widget refinements.
 *
 * Kept deliberately scoped so the shared product-card renderer remains
 * unchanged for Product Grid and the Showcase widgets.
 */
.zarin-related-products {
	--zarin-rp-column-gap: 28px;
	--zarin-rp-row-gap: 28px;
	--zarin-rp-card-bg: linear-gradient(180deg, #fffdf7 0%, #fff8ed 100%);
	--zarin-rp-card-hover-bg: var(--zarin-rp-card-bg);
	--zarin-rp-image-bg: linear-gradient(135deg, #f7efe2 0%, #fff9ed 100%);
	--zarin-rp-content-bg: transparent;
	--zarin-rp-image-area-height: 260px;
	--zarin-rp-image-max-width: 100%;
	--zarin-rp-image-max-height: 100%;
	--zarin-rp-image-fit: contain;
	--zarin-rp-image-position: center center;
	--zarin-rp-image-hover-scale: 1.04;
	--zarin-rp-image-transition: 180ms;
	--zarin-rp-mobile-card-min-height: 0px;
	--zarin-rp-mobile-image-title-gap: 8px;
	--zarin-rp-mobile-title-reserved-height: 2lh;
	--zarin-rp-mobile-title-line-clamp: 2;
	--zarin-rp-mobile-cta-min-height: 252px;
}

.zarin-related-products,
.zarin-related-products *,
.zarin-related-products *::before,
.zarin-related-products *::after {
	box-sizing: border-box;
}

.zarin-related-products .zarin-related-products__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: var(--zarin-rp-column-gap);
	row-gap: var(--zarin-rp-row-gap);
	align-items: stretch;
	direction: rtl;
}

.zarin-related-products .zarin-related-products__item {
	display: flex;
	min-width: 0;
}

.zarin-related-products .zarin-related-products__item--desktop-hidden,
.zarin-related-products .zarin-related-products__mobile-view-all-card {
	display: none;
}

.zarin-related-products .zarin-product-card--loop {
	width: 100%;
	min-width: 0;
	background: var(--zarin-rp-card-bg);
	transition-property: transform, box-shadow, border-color, background-color;
}

.zarin-related-products .zarin-product-card--loop:hover {
	background: var(--zarin-rp-card-hover-bg);
}

.zarin-related-products .zarin-product-card--loop .zarin-product-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	height: var(--zarin-rp-image-area-height);
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	background: var(--zarin-rp-image-bg);
}

.zarin-related-products .zarin-product-card--loop .zarin-product-card__image-link,
.zarin-related-products .zarin-product-card--loop .zarin-product-card__image-placeholder {
	height: 100%;
}

.zarin-related-products .zarin-product-card--loop .zarin-product-card__image-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	min-height: 0;
}

.zarin-related-products .zarin-product-card--loop .zarin-product-card__image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: var(--zarin-rp-image-max-width) !important;
	max-height: var(--zarin-rp-image-max-height) !important;
	min-width: 0 !important;
	min-height: 0 !important;
	object-fit: var(--zarin-rp-image-fit);
	object-position: var(--zarin-rp-image-position);
	position: static;
	inset: auto;
	transition-duration: var(--zarin-rp-image-transition);
}

.zarin-related-products .zarin-product-card--loop:hover .zarin-product-card__image {
	transform: scale(var(--zarin-rp-image-hover-scale));
}

.zarin-related-products .zarin-product-card--loop .zarin-product-card__body {
	background: var(--zarin-rp-content-bg);
}

/* Defensive guards: the renderer options normally omit these nodes entirely. */
.zarin-related-products .zarin-product-card__brand-logo-wrap,
.zarin-related-products .zarin-product-card__meta-visual {
	display: none;
}

@media (max-width: 1024px) {
	.zarin-related-products .zarin-related-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.zarin-related-products {
		width: 100%;
		max-width: 100%;
		overflow: visible;
	}

	.zarin-related-products .zarin-related-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
		overflow: visible;
	}

	.zarin-related-products .zarin-related-products__item--desktop-hidden:not(.zarin-related-products__item--mobile-hidden) {
		display: flex;
	}

	.zarin-related-products .zarin-related-products__item--mobile-hidden {
		display: none;
	}

	.zarin-related-products .zarin-related-products__item,
	.zarin-related-products .zarin-product-card--loop {
		min-width: 0;
		max-width: 100%;
	}

	.zarin-related-products .zarin-product-card--loop {
		display: flex;
		flex-direction: column;
		height: var(--zarin-rp-mobile-card-height, auto);
		min-height: var(--zarin-rp-mobile-card-min-height);
		overflow: hidden;
		transform: none;
	}

	.zarin-related-products .zarin-product-card--loop:hover {
		transform: none;
	}

	.zarin-related-products .zarin-product-card--loop .zarin-product-card__media {
		width: 100%;
		height: var(--zarin-rp-image-area-height);
		min-height: 0;
		margin: 0;
		padding: 12px;
		flex: 0 0 var(--zarin-rp-image-area-height);
		border-radius: 0;
	}

	.zarin-related-products .zarin-product-card--loop .zarin-product-card__image-link {
		width: 100%;
		height: 100%;
	}

	.zarin-related-products .zarin-product-card--loop .zarin-product-card__image {
		width: 100% !important;
		height: 100% !important;
		max-width: var(--zarin-rp-image-max-width) !important;
		max-height: var(--zarin-rp-image-max-height) !important;
		object-fit: var(--zarin-rp-image-fit);
		object-position: var(--zarin-rp-image-position);
	}

	.zarin-related-products .zarin-product-card--loop .zarin-product-card__body {
		display: flex;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
		min-height: 0;
		margin: 0;
		padding: var(--zarin-rp-mobile-image-title-gap) 12px 12px;
		flex: 1 1 auto;
		background: var(--zarin-rp-mobile-content-bg, var(--zarin-rp-content-bg));
		border-radius: 0;
	}

	.zarin-related-products .zarin-product-card--loop .zarin-product-card__title {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		width: 100%;
		min-height: var(--zarin-rp-mobile-title-area-min-height, var(--zarin-rp-mobile-title-reserved-height));
		margin: 0;
		text-align: center;
	}

	.zarin-related-products .zarin-product-card--loop .zarin-product-card__title > a {
		display: -webkit-box;
		width: 100%;
		min-height: var(--zarin-rp-mobile-title-area-min-height, var(--zarin-rp-mobile-title-reserved-height));
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: var(--zarin-rp-mobile-title-line-clamp);
		line-clamp: var(--zarin-rp-mobile-title-line-clamp);
		text-overflow: ellipsis;
	}

	.zarin-related-products .zarin-product-card__availability,
	.zarin-related-products .zarin-product-card__brand-logo-wrap,
	.zarin-related-products .zarin-product-card__categories,
	.zarin-related-products .zarin-product-card__meta,
	.zarin-related-products .zarin-product-card__actions {
		display: none !important;
	}

	.zarin-related-products .zarin-related-products__mobile-view-all-card {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		min-width: 0;
		min-height: var(--zarin-rp-mobile-cta-min-height);
		padding: 20px 14px;
		gap: 18px;
		color: #48c9aa;
		background: #08242b;
		border: 1px dashed rgba(54, 199, 165, .55);
		border-radius: 22px;
		text-align: center;
		text-decoration: none;
		transition-property: color, background-color, border-color, box-shadow, transform;
		transition-duration: 180ms;
		transition-timing-function: ease;
	}

	.zarin-related-products .zarin-related-products__mobile-view-all-card:hover,
	.zarin-related-products .zarin-related-products__mobile-view-all-card:focus {
		color: #48c9aa;
		text-decoration: none;
		transform: translateY(-2px);
	}

	.zarin-related-products .zarin-related-products__mobile-view-all-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 64px;
		height: 64px;
		flex: 0 0 auto;
		color: #48c9aa;
		background: rgba(54, 199, 165, .14);
		border-radius: 50%;
		font-size: 24px;
		line-height: 1;
	}

	.zarin-related-products .zarin-related-products__mobile-view-all-icon svg,
	.zarin-related-products .zarin-related-products__mobile-view-all-icon i {
		display: block;
		width: 1em;
		height: 1em;
		fill: currentColor;
	}

	.zarin-related-products .zarin-related-products__mobile-view-all-copy {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 6px;
		min-width: 0;
	}

	.zarin-related-products .zarin-related-products__mobile-view-all-label,
	.zarin-related-products .zarin-related-products__mobile-view-all-secondary {
		display: block;
		max-width: 100%;
	}

	.zarin-related-products .zarin-related-products__mobile-view-all-label {
		color: #48c9aa;
		font-weight: 800;
	}

	.zarin-related-products .zarin-related-products__mobile-view-all-secondary {
		color: rgba(72, 201, 170, .78);
		font-size: .86em;
	}

	.zarin-related-products--mobile-cta-match-card-height .zarin-related-products__grid {
		grid-auto-rows: 1fr;
	}

	.zarin-related-products--mobile-cta-match-card-height .zarin-related-products__item,
	.zarin-related-products--mobile-cta-match-card-height .zarin-product-card--loop,
	.zarin-related-products--mobile-cta-match-card-height .zarin-related-products__mobile-view-all-card {
		height: 100%;
	}
}
