/* GRZ product rail v187
 * The related products become a transparent editorial list on the page
 * atmosphere. Only real WooCommerce content is rendered; cards, row fills and
 * separators are deliberately absent. */

.single-product.grz-product-design .grz-tp-info {
	column-gap: clamp(18px, 2vw, 30px);
	align-items: stretch;
}

.single-product.grz-product-design .grz-tp-about,
.single-product.grz-product-design .grz-tp-related {
	align-self: stretch;
	min-height: 100%;
}

.single-product.grz-product-design .grz-tp-related {
	display: flex;
	flex-direction: column;
	overflow: visible;
	padding: 18px clamp(2px, .45vw, 7px) 18px clamp(10px, 1.25vw, 18px);
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

.single-product.grz-product-design .grz-tp-related__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	min-height: 24px;
	margin: 0 2px clamp(10px, 1vw, 14px);
}

.single-product.grz-product-design .grz-tp-related__head > h2 {
	margin: 0;
	color: #172238;
	font-family: "Manrope", var(--grz-font, Inter, ui-sans-serif, sans-serif);
	font-size: clamp(15px, 1.15vw, 17px);
	font-weight: 780;
	letter-spacing: -.018em;
	line-height: 1.25;
}

.single-product.grz-product-design .grz-tp-related__all {
	position: relative;
	flex: none;
	padding-block: 3px;
	color: var(--grz-tp-accent, #0762e6);
	font-size: clamp(11px, .78vw, 12px);
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
}

.single-product.grz-product-design .grz-tp-related__all::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: currentColor;
	content: "";
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 160ms ease;
}

.single-product.grz-product-design .grz-tp-related__all:hover::after,
.single-product.grz-product-design .grz-tp-related__all:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left center;
}

.single-product.grz-product-design .grz-tp-related__all:focus-visible {
	outline: 2px solid rgba(var(--grz-tp-accent-rgb, 7, 98, 230), .34);
	outline-offset: 4px;
}

.single-product.grz-product-design .grz-tp-related__list {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: clamp(3px, .45vw, 7px);
	min-height: 0;
	margin: 0;
}

.single-product.grz-product-design .grz-tp-related__item,
.single-product.grz-product-design .grz-tp-related__item + .grz-tp-related__item {
	display: grid;
	grid-template-columns: clamp(48px, 4.1vw, 58px) minmax(0, 1fr) minmax(max-content, 66px);
	align-items: center;
	gap: clamp(10px, 1vw, 14px);
	flex: 1 1 0;
	min-height: clamp(57px, 5.25vw, 70px);
	padding: 4px 2px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	text-decoration: none;
	transform: none;
}

.single-product.grz-product-design .grz-tp-related__media {
	display: block;
	width: clamp(48px, 4.1vw, 58px);
	height: clamp(48px, 4.1vw, 58px);
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.single-product.grz-product-design .grz-tp-related__img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: clamp(9px, .75vw, 11px);
	object-fit: cover;
	filter: drop-shadow(0 7px 11px rgba(var(--grz-atmo-deep-rgb, 11, 28, 53), .15));
	transition: filter 170ms ease, transform 170ms ease;
}

.single-product.grz-product-design .grz-tp-related__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 3px;
}

.single-product.grz-product-design .grz-tp-related__copy strong {
	display: -webkit-box;
	overflow: hidden;
	color: #1c2940;
	font-family: "Manrope", var(--grz-font, Inter, ui-sans-serif, sans-serif);
	font-size: clamp(12.5px, .9vw, 14.5px);
	font-weight: 760;
	letter-spacing: -.012em;
	line-height: 1.28;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	transition: color 150ms ease;
}

.single-product.grz-product-design .grz-tp-related__copy span {
	overflow: hidden;
	color: #68758a;
	font-size: clamp(10.5px, .74vw, 11.5px);
	font-weight: 520;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.single-product.grz-product-design .grz-tp-related__price {
	display: inline-flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 4px;
	min-width: 0;
	color: var(--grz-tp-accent, #0762e6);
	font-size: clamp(12px, .85vw, 13.5px);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
	text-align: right;
	white-space: nowrap;
}

.single-product.grz-product-design .grz-tp-related__price small {
	color: #748196;
	font-size: .84em;
	font-weight: 620;
}

.single-product.grz-product-design .grz-tp-related__price .amount {
	color: inherit;
	font: inherit;
}

.single-product.grz-product-design .grz-tp-related__item:hover,
.single-product.grz-product-design .grz-tp-related__item:focus-visible {
	background: transparent;
	transform: none;
}

.single-product.grz-product-design .grz-tp-related__item:hover .grz-tp-related__img,
.single-product.grz-product-design .grz-tp-related__item:focus-visible .grz-tp-related__img {
	filter: drop-shadow(0 10px 15px rgba(var(--grz-atmo-deep-rgb, 11, 28, 53), .2));
	transform: translateY(-2px) scale(1.02);
}

.single-product.grz-product-design .grz-tp-related__item:hover .grz-tp-related__copy strong,
.single-product.grz-product-design .grz-tp-related__item:focus-visible .grz-tp-related__copy strong {
	color: var(--grz-tp-accent, #0762e6);
}

.single-product.grz-product-design .grz-tp-related__item:focus-visible {
	outline: 2px solid rgba(var(--grz-tp-accent-rgb, 7, 98, 230), .28);
	outline-offset: 3px;
}

.single-product.grz-product-design .grz-tp-related__arrow,
.single-product.grz-product-design .grz-tp-related__initial {
	display: none;
}

@media (max-width: 900px) {
	.single-product.grz-product-design .grz-tp-related {
		min-height: 0;
		padding: 18px clamp(4px, 2vw, 12px);
	}

	.single-product.grz-product-design .grz-tp-related__head {
		margin-inline: 2px;
	}

	.single-product.grz-product-design .grz-tp-related__item,
	.single-product.grz-product-design .grz-tp-related__item + .grz-tp-related__item {
		min-height: 66px;
	}
}

@media (max-width: 520px) {
	.single-product.grz-product-design .grz-tp-related {
		padding-inline: 2px;
	}

	.single-product.grz-product-design .grz-tp-related__item,
	.single-product.grz-product-design .grz-tp-related__item + .grz-tp-related__item {
		grid-template-columns: 50px minmax(0, 1fr) auto;
		gap: 10px;
		min-height: 64px;
	}

	.single-product.grz-product-design .grz-tp-related__media {
		width: 50px;
		height: 50px;
	}

	.single-product.grz-product-design .grz-tp-related__price {
		font-size: 12px;
	}
}

@media (max-width: 380px) {
	.single-product.grz-product-design .grz-tp-related__item,
	.single-product.grz-product-design .grz-tp-related__item + .grz-tp-related__item {
		grid-template-columns: 48px minmax(0, 1fr);
	}

	.single-product.grz-product-design .grz-tp-related__media {
		grid-row: 1 / span 2;
		width: 48px;
		height: 48px;
	}

	.single-product.grz-product-design .grz-tp-related__price {
		grid-column: 2;
		justify-content: flex-start;
		margin-top: -4px;
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-product.grz-product-design .grz-tp-related__img,
	.single-product.grz-product-design .grz-tp-related__all::after {
		transition: none;
	}

	.single-product.grz-product-design .grz-tp-related__item:hover .grz-tp-related__img,
	.single-product.grz-product-design .grz-tp-related__item:focus-visible .grz-tp-related__img {
		transform: none;
	}
}

@media (forced-colors: active) {
	.single-product.grz-product-design .grz-tp-related__item:focus-visible,
	.single-product.grz-product-design .grz-tp-related__all:focus-visible {
		outline-color: Highlight;
	}
}

/* The immersive layers deliberately give every legacy product module a pearl
 * surface. This rail is the one intentional exception and needs the stronger
 * product-page scope so those earlier surface rules cannot re-box it. */
body.single-product.grz-product-design.grz-product-immersive .grz-tp-related {
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

body.single-product.grz-product-design.grz-product-immersive .grz-tp-related__item,
body.single-product.grz-product-design.grz-product-immersive .grz-tp-related__item + .grz-tp-related__item,
body.single-product.grz-product-design.grz-product-immersive .grz-tp-related__item:hover,
body.single-product.grz-product-design.grz-product-immersive .grz-tp-related__item:focus-visible {
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
}
