/**
 * PDP Step 1.1 — Product introduction (.nds-pi)
 * Full-cover containment + balanced gallery/info. Isolated from lower sections.
 */

.nds-pi,
.nds-pi-lb {
	--pi-ink: #0b1520;
	--pi-soft: color-mix(in srgb, var(--pi-ink) 68%, transparent);
	--pi-mute: color-mix(in srgb, var(--pi-ink) 48%, transparent);
	--pi-line: color-mix(in srgb, var(--pi-ink) 12%, transparent);
	--pi-faint: color-mix(in srgb, var(--pi-ink) 7%, transparent);
	--pi-stage: #f2f4f6;
	--pi-snow: #ffffff;
	--pi-teal: #0a5962;
	--pi-teal-deep: #063f46;
	--pi-serif: "Source Serif 4", "Source Serif Pro", Georgia, serif;
	--pi-sans: "Figtree", "Segoe UI", system-ui, sans-serif;
	--pi-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--pi-gallery-h: clamp(420px, 38vw, 490px);
	--pi-slide-pad: 8px;
	--pi-img-max-h: calc(var(--pi-gallery-h) - (var(--pi-slide-pad) * 2));
	box-sizing: border-box;
	color: var(--pi-ink);
	font-family: var(--pi-sans);
	-webkit-font-smoothing: antialiased;
}

.nds-pi *,
.nds-pi *::before,
.nds-pi *::after,
.nds-pi-lb *,
.nds-pi-lb *::before,
.nds-pi-lb *::after {
	box-sizing: border-box;
}

.nds-pi {
	width: 100%;
	overflow-x: clip;
	padding-block: clamp(24px, 3.4vw, 52px);
	background: linear-gradient(180deg, #f7f8fa 0%, var(--pi-snow) 82%);
}

.nds-pi a {
	color: inherit;
	text-decoration: none;
}

.nds-pi :focus {
	outline: none;
}

.nds-pi :focus-visible,
.nds-pi-lb :focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pi-teal);
	border-radius: 0.35rem;
}

.nds-pi__shell {
	width: min(100%, 1380px);
	margin-inline: auto;
	padding-inline: clamp(24px, 4vw, 64px);
}

.nds-pi__grid {
	display: grid;
	/* Gallery LEFT · Info RIGHT — wider info column for balanced titles */
	grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.24fr);
	grid-template-areas:
		"gallery mast"
		"gallery copy"
		"gallery buy"
		"gallery trust";
	gap: clamp(0.55rem, 1vw, 0.95rem) clamp(32px, 3.6vw, 56px);
	align-items: start;
}

.nds-pi-mast { grid-area: mast; min-width: 0; }
.nds-pi-gallery { grid-area: gallery; }
.nds-pi-copy { grid-area: copy; min-width: 0; }
.nds-pi-buy { grid-area: buy; }
.nds-pi-trust { grid-area: trust; }

/* —— Gallery —— */
.nds-pi-gallery {
	min-width: 0;
	display: grid;
	gap: 0.55rem;
	justify-items: start;
	justify-self: start;
	width: 100%;
}

.nds-pi-gallery__stage {
	position: relative;
	/* Hug typical portrait cover (~0.78) so the stage is not a large empty frame. */
	width: min(100%, calc(var(--pi-gallery-h) * 0.78 + var(--pi-slide-pad) * 2));
	max-width: 400px;
}

.nds-pi-gallery__viewport {
	overflow: hidden;
	border-radius: 1.15rem;
	border: 1px solid color-mix(in srgb, var(--pi-ink) 9%, transparent);
	background: var(--pi-stage);
	box-shadow: 0 1px 0 color-mix(in srgb, #fff 70%, transparent) inset;
	user-select: none;
	touch-action: pan-y;
}

.nds-pi-gallery__viewport.is-dragging {
	cursor: grabbing;
}

.nds-pi-gallery__track.is-dragging {
	scroll-snap-type: none;
	scroll-behavior: auto;
	cursor: grabbing;
}

.nds-pi-gallery__track {
	display: flex;
	height: var(--pi-gallery-h);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	touch-action: pan-x pan-y;
	cursor: grab;
}

.nds-pi-gallery__track::-webkit-scrollbar {
	display: none;
}

.nds-pdp-next.is-reduced .nds-pi-gallery__track {
	scroll-behavior: auto;
}

.nds-pi-gallery__slide {
	flex: 0 0 100%;
	margin: 0;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	scroll-snap-align: center;
	scroll-snap-stop: always;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--pi-slide-pad);
}

.nds-pi-gallery__open {
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	min-width: 0;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
	/* Keep cover shadow outside overflow clipping of the track/viewport. */
	isolation: isolate;
}

.nds-pi-gallery__img {
	display: block;
	/* Never CSS-upscale past the attachment’s native width. */
	max-width: min(100%, var(--pi-img-native-w, 100%));
	max-height: var(--pi-img-max-h);
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: center center;
	box-shadow: 0 10px 22px color-mix(in srgb, var(--pi-ink) 14%, transparent);
	pointer-events: none;
	transform: none;
	image-rendering: auto;
}

.nds-pi-gallery__empty {
	width: min(72%, 14rem);
	aspect-ratio: 3 / 4;
	border-radius: 0.5rem;
	background: color-mix(in srgb, #fff 70%, var(--pi-stage));
}

.nds-pi-gallery__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	min-width: 44px;
	min-height: 44px;
	border: 0;
	border-radius: 999px;
	background: color-mix(in srgb, #fff 96%, transparent);
	color: var(--pi-ink);
	box-shadow: 0 6px 16px color-mix(in srgb, var(--pi-ink) 14%, transparent);
	cursor: pointer;
	opacity: 1;
}

.nds-pi-gallery__arrow--prev { left: 0.45rem; }
.nds-pi-gallery__arrow--next { right: 0.45rem; }
.nds-pi-gallery__arrow:disabled { opacity: 0.4; cursor: default; }
.nds-pi-gallery__arrow:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pi-teal);
}

.nds-pi-gallery__meta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3rem;
	width: 100%;
	max-width: 400px;
}

.nds-pi-gallery__counter {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--pi-mute);
}

.nds-pi-gallery__dots {
	display: flex;
	gap: 0.28rem;
	justify-content: center;
}

.nds-pi-gallery__dot {
	position: relative;
	width: 0.45rem;
	height: 0.45rem;
	min-width: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.nds-pi-gallery__dot::before {
	content: "";
	position: absolute;
	inset: 50%;
	width: 0.45rem;
	height: 0.45rem;
	transform: translate(-50%, -50%);
	border-radius: 999px;
	background: color-mix(in srgb, var(--pi-ink) 28%, transparent);
}

.nds-pi-gallery__dot.is-active::before {
	width: 1.05rem;
	background: var(--pi-teal);
}

.nds-pi-gallery__thumbs-wrap {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr) 2rem;
	align-items: center;
	gap: 0.2rem;
	width: 100%;
	max-width: 400px;
}

.nds-pi-gallery__thumbs-wrap:not(.is-overflow) {
	grid-template-columns: minmax(0, 1fr);
}

.nds-pi-gallery__thumbs-wrap:not(.is-overflow) .nds-pi-gallery__thumbs-nav {
	display: none;
}

.nds-pi-gallery__thumbs {
	display: flex;
	gap: 0.5rem;
	width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x proximity;
	scroll-padding-inline: 0.2rem;
	padding: 0.2rem 0.1rem 0.3rem;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}

.nds-pi-gallery__thumbs-wrap:not(.is-overflow) .nds-pi-gallery__thumbs {
	justify-content: center;
}

.nds-pi-gallery__thumbs::-webkit-scrollbar {
	display: none;
}

.nds-pi-gallery__thumbs-nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2.5rem;
	min-width: 32px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0.45rem;
	background: color-mix(in srgb, var(--pi-ink) 6%, #fff);
	color: var(--pi-ink);
	cursor: pointer;
	flex-shrink: 0;
}

.nds-pi-gallery__thumbs-nav:hover:not(:disabled) {
	background: color-mix(in srgb, var(--pi-teal) 12%, #fff);
	color: var(--pi-teal-deep);
}

.nds-pi-gallery__thumbs-nav:disabled {
	opacity: 0.35;
	cursor: default;
}

.nds-pi-gallery__thumb {
	flex: 0 0 58px;
	width: 58px;
	height: 70px;
	min-width: 58px;
	min-height: 44px;
	padding: 0.24rem;
	border: 0;
	border-radius: 0.5rem;
	background: #e8ebef;
	box-shadow: inset 0 0 0 1px var(--pi-line);
	cursor: pointer;
	opacity: 0.82;
	scroll-snap-align: center;
	transition: opacity 140ms var(--pi-ease), box-shadow 140ms var(--pi-ease), background 140ms var(--pi-ease);
}

.nds-pi-gallery__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	pointer-events: none;
	opacity: 1;
}

.nds-pi-gallery__thumb:hover {
	opacity: 1;
	background: #fff;
	box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--pi-teal) 55%, transparent);
}

.nds-pi-gallery__thumb.is-active {
	opacity: 1;
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--pi-teal);
}

/* —— Info —— */
.nds-pi-mast {
	padding-block: 0;
}

.nds-pi-info__chips {
	margin: 0 0 0.4rem;
	font-size: clamp(0.78rem, 0.95vw, 0.88rem);
	font-weight: 650;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pi-teal);
	line-height: 1.35;
}

.nds-pi-info__title {
	margin: 0;
	max-width: min(36.5rem, 100%);
	font-family: var(--pi-serif);
	font-size: clamp(1.85rem, 0.95rem + 1.25vw, 2.4rem);
	font-weight: 560;
	line-height: 1.18;
	letter-spacing: -0.015em;
	hyphens: manual;
	overflow-wrap: break-word;
	word-break: normal;
	text-wrap: balance;
}

.nds-pi-copy {
	min-width: 0;
}

.nds-pi-info__summary {
	margin: 0 0 0.4rem;
	max-width: 36rem;
	font-size: clamp(0.95rem, 0.9vw, 1.06rem);
	line-height: 1.45;
	color: var(--pi-soft);
}

.nds-pi-info__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.42rem 1rem;
	margin: 0;
	padding: 0.45rem 0 0;
	list-style: none;
	max-width: 28rem;
	border-top: 1px solid var(--pi-faint);
}

/* Single field: compact one-column, not a half-empty 2-col grid. */
.nds-pi-info__facts[data-count="1"] {
	grid-template-columns: minmax(0, 14rem);
}

/*
 * Odd last row: full-width intentional meta line (not an empty grid cell).
 * e.g. SKU sits as "SKU · NDS-181" across the facts band.
 */
.nds-pi-info__facts[data-count]:not([data-count="1"]) > li:last-child:nth-child(odd) {
	grid-column: 1 / -1;
	max-width: none;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem 0.55rem;
	padding-top: 0.1rem;
}

.nds-pi-info__facts[data-count]:not([data-count="1"]) > li:last-child:nth-child(odd) .nds-pi-info__fact-label {
	display: inline;
	margin: 0;
}

.nds-pi-info__facts[data-count]:not([data-count="1"]) > li:last-child:nth-child(odd) .nds-pi-info__fact-label::after {
	content: "";
}

.nds-pi-info__facts[data-count]:not([data-count="1"]) > li:last-child:nth-child(odd) .nds-pi-info__fact-value {
	display: inline;
}

.nds-pi-info__fact-label {
	display: block;
	margin-bottom: 0.1rem;
	font-size: 0.8125rem; /* 13px */
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--pi-ink) 58%, transparent);
}

.nds-pi-info__fact-value {
	font-size: 1rem; /* 16px */
	font-weight: 650;
	color: var(--pi-ink);
	line-height: 1.3;
}

/* —— Purchase —— */
.nds-pi-buy {
	display: grid;
	gap: 0.42rem;
	padding-top: 0.45rem;
	border-top: 1px solid var(--pi-line);
	max-width: 28rem;
}

.nds-pi-buy__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.55rem;
	font-family: var(--pi-serif);
	font-size: clamp(2rem, 2.4vw, 2.35rem);
	font-weight: 560;
	letter-spacing: -0.03em;
	line-height: 1;
}

.nds-pi-buy__price del {
	font-size: 0.52em;
	opacity: 0.45;
}

.nds-pi-buy__price ins {
	text-decoration: none;
}

.nds-pi-buy__save {
	font-family: var(--pi-sans);
	font-size: 0.78rem;
	font-weight: 700;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--pi-teal) 12%, transparent);
	color: var(--pi-teal-deep);
}

.nds-pi-buy__actions {
	display: grid;
	gap: 0.5rem;
	width: 100%;
}

.nds-pi-buy__form {
	margin: 0;
	width: 100%;
}

.nds-pi-buy .quantity {
	display: inline-flex;
	align-items: center;
	margin: 0 0 0.55rem;
}
.nds-pi-buy .quantity .qty {
	width: 4.25rem;
	min-height: 44px;
	border: 1px solid var(--pi-line);
	border-radius: 0.45rem;
	padding: 0.35rem 0.5rem;
	font: inherit;
	font-variant-numeric: tabular-nums;
}

.nds-pi-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 0.75rem 1.1rem;
	border: 0;
	border-radius: 0.7rem;
	font-family: var(--pi-sans);
	font-size: 1.02rem;
	font-weight: 650;
	letter-spacing: -0.01em;
	cursor: pointer;
	text-align: center;
	white-space: nowrap;
	transition: background 160ms var(--pi-ease), color 160ms var(--pi-ease), box-shadow 160ms var(--pi-ease);
}

.nds-pi-btn--primary,
.nds-pi-btn--primary.button {
	background: var(--pi-teal) !important;
	color: #fff !important;
	box-shadow: none !important;
}

.nds-pi-btn--primary:hover {
	background: var(--pi-teal-deep) !important;
	color: #fff !important;
}

.nds-pi-btn--secondary {
	background: transparent;
	color: var(--pi-teal-deep);
	box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--pi-teal) 55%, transparent);
}

.nds-pi-btn--secondary:hover {
	background: color-mix(in srgb, var(--pi-teal) 8%, transparent);
}

.nds-pi-trust {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.55rem 1rem;
	margin: 0;
	padding: 0.55rem 0 0;
	list-style: none;
	max-width: 28rem;
	border-top: 1px solid var(--pi-faint);
}

.nds-pi-trust li {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	min-width: 0;
	font-size: 0.94rem;
	font-weight: 550;
	color: var(--pi-mute);
	line-height: 1.35;
}

.nds-pi-trust__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.1rem;
	color: var(--pi-teal);
}

.nds-pi-trust__icon .nds-icon,
.nds-pi-trust__icon svg {
	width: 1.05rem;
	height: 1.05rem;
	display: block;
}

.nds-pi-trust__text {
	min-width: 0;
}

.nds-pi-buy__oos {
	margin: 0;
	font-weight: 650;
	color: var(--pi-mute);
}

/* —— Lightbox —— */
.nds-pi-lb {
	padding: 0;
	border: 0;
	background: transparent;
	max-width: none;
	max-height: none;
	width: 100%;
	height: 100%;
}

.nds-pi-lb::backdrop {
	background: color-mix(in srgb, #050b11 78%, transparent);
}

.nds-pi-lb[open] {
	display: grid;
	place-items: center;
}

.nds-pi-lb__panel {
	position: relative;
	width: min(94vw, 1100px);
	max-height: min(92vh, 920px);
	padding: 1rem;
}

.nds-pi-lb__stage {
	display: grid;
	place-items: center;
	min-height: min(78vh, 760px);
	border-radius: 0.85rem;
	background: color-mix(in srgb, #000 35%, transparent);
	overflow: hidden;
	touch-action: none;
}

.nds-pi-lb__slide {
	grid-area: 1 / 1;
	margin: 0;
	display: none;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 1rem;
}

.nds-pi-lb__slide.is-active {
	display: grid;
}

.nds-pi-lb__slide img {
	display: block;
	max-width: 100%;
	max-height: min(76vh, 740px);
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: center;
	transform-origin: center center;
	transition: transform 120ms ease;
}

.nds-pi-lb__close,
.nds-pi-lb__arrow {
	position: absolute;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border: 0;
	border-radius: 999px;
	background: color-mix(in srgb, #fff 92%, transparent);
	color: var(--pi-ink);
	cursor: pointer;
	font-size: 1.5rem;
	line-height: 1;
}

.nds-pi-lb__close {
	position: fixed;
	top: max(0.75rem, env(safe-area-inset-top, 0px));
	right: max(0.75rem, env(safe-area-inset-right, 0px));
	width: 2.75rem;
	height: 2.75rem;
	z-index: 6;
}

.nds-pi-lb__arrow {
	top: 50%;
	transform: translateY(-50%);
	width: 2.75rem;
	height: 2.75rem;
}

.nds-pi-lb__arrow--prev { left: 0.15rem; }
.nds-pi-lb__arrow--next { right: 0.15rem; }

.nds-pi-lb__status {
	margin: 0.75rem 0 0;
	text-align: center;
	color: #fff;
	font-size: 0.95rem;
	font-weight: 600;
}

/* —— Laptop density (typical 1366×768) —— */
@media (max-width: 1400px) and (min-width: 901px) {
	.nds-pi {
		/* Keep thumb rail in the first screen with purchase actions. */
		--pi-gallery-h: clamp(340px, 30vw, 400px);
		--pi-slide-pad: 8px;
		padding-block: clamp(16px, 2.2vw, 32px);
	}

	.nds-pi__grid {
		gap: clamp(0.45rem, 0.85vw, 0.8rem) clamp(22px, 2.6vw, 40px);
	}

	.nds-pi-info__title {
		font-size: clamp(1.7rem, 0.85rem + 1.1vw, 2.15rem);
		line-height: 1.17;
		max-width: min(33.5rem, 100%);
	}

	.nds-pi-gallery__thumb {
		flex-basis: 52px;
		width: 52px;
		height: 64px;
		min-width: 52px;
	}
}

/* —— Tablet / stack —— */
@media (max-width: 1024px) and (min-width: 901px) {
	.nds-pi__grid {
		gap: clamp(1.25rem, 2.5vw, 2rem);
	}

	.nds-pi-info__title {
		font-size: clamp(1.95rem, 2.8vw, 2.45rem);
	}
}

@media (max-width: 900px) {
	.nds-pi__grid {
		grid-template-columns: 1fr;
		/* Phone order: gallery → title → price/actions → summary/meta → trust */
		grid-template-areas:
			"gallery"
			"mast"
			"buy"
			"copy"
			"trust";
		gap: 1.15rem;
		align-items: start;
		justify-items: center;
		text-align: center;
	}

	.nds-pi-gallery {
		justify-items: center;
		justify-self: center;
	}

	.nds-pi-gallery__stage,
	.nds-pi-gallery__meta,
	.nds-pi-gallery__thumbs-wrap {
		width: 100%;
		max-width: 34rem;
		margin-inline: auto;
	}

	.nds-pi-mast,
	.nds-pi-copy,
	.nds-pi-buy,
	.nds-pi-trust {
		width: 100%;
		max-width: 36rem;
		margin-inline: auto;
		justify-items: center;
	}

	.nds-pi-info__title {
		margin-inline: auto;
		text-align: center;
	}

	.nds-pi-info__summary {
		margin-inline: auto;
		text-align: center;
	}

	.nds-pi-info__facts {
		justify-items: center;
		width: min(100%, 28rem);
		margin-inline: auto;
		text-align: center;
	}

	.nds-pi-info__facts[data-count="1"] {
		grid-template-columns: 1fr;
		max-width: 16rem;
		margin-inline: auto;
	}

	.nds-pi-info__facts[data-count]:not([data-count="1"]) > li:last-child:nth-child(odd) {
		max-width: none;
		width: 100%;
		justify-content: center;
		justify-self: stretch;
	}

	.nds-pi-buy {
		justify-items: center;
		border-top: 0;
		padding-top: 0.25rem;
	}

	.nds-pi-buy__actions,
	.nds-pi-trust {
		width: min(100%, 28rem);
		margin-inline: auto;
	}

	.nds-pi-trust {
		justify-items: stretch;
		text-align: center;
		gap: 0.65rem 0.85rem;
		padding-top: 0.65rem;
	}

	.nds-pi-trust li {
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 0.35rem;
		text-align: center;
		padding: 0.15rem 0.2rem;
	}

	.nds-pi-trust__icon {
		margin-top: 0;
	}
}

/* —— Mobile —— */
@media (max-width: 820px) {
	.nds-pi {
		padding-block: clamp(1rem, 3.5vw, 2.25rem);
	}

	.nds-pi-gallery__arrow {
		width: 2.5rem;
		height: 2.5rem;
	}

	.nds-pi-mast {
		padding-block: 0;
		max-width: min(22rem, 100%);
		margin-inline: auto;
	}

	.nds-pi-info__chips {
		margin-bottom: 0.3rem;
	}

	.nds-pi-info__title {
		/* Still editorial/prominent, but less vertical on small phones. */
		font-size: clamp(1.55rem, 1.15rem + 2.6vw, 2rem);
		line-height: 1.2;
		max-width: 18.5em;
		margin-inline: auto;
		margin-bottom: 0;
		text-align: center;
	}

	.nds-pi-info__summary {
		font-size: clamp(1rem, 3.8vw, 1.0625rem);
	}

	.nds-pi-info__facts {
		grid-template-columns: 1fr 1fr;
		gap: 0.65rem 1rem;
	}

	.nds-pi-buy__price {
		font-size: clamp(1.75rem, 6vw, 2rem);
		justify-content: center;
	}

	.nds-pi-buy__actions {
		max-width: none;
		width: min(100%, 26rem);
	}

	.nds-pi-trust {
		grid-template-columns: 1fr 1fr;
		width: min(100%, 26rem);
		margin-inline: auto;
	}

	.nds-pi-gallery__thumb {
		flex-basis: 58px;
		width: 58px;
		height: 70px;
	}
}

@media (max-width: 480px) {
	.nds-pi {
		--pi-gallery-h: clamp(360px, 100vw, 430px);
		--pi-slide-pad: 8px;
	}

	.nds-pi__grid {
		gap: 0.95rem;
	}

	.nds-pi-info__title {
		font-size: clamp(1.45rem, 1.05rem + 3.2vw, 1.85rem);
		line-height: 1.22;
		max-width: 16.5em;
	}

	.nds-pi-gallery__stage,
	.nds-pi-gallery__meta,
	.nds-pi-gallery__thumbs-wrap {
		max-width: min(20.5rem, 100%);
	}
}

@media (max-width: 360px) {
	.nds-pi-info__facts {
		grid-template-columns: 1fr;
		width: min(100%, 18rem);
	}

	.nds-pi-trust {
		grid-template-columns: 1fr;
		width: min(100%, 18rem);
		justify-items: stretch;
	}

	.nds-pi-trust li {
		flex-direction: row;
		align-items: flex-start;
		justify-content: center;
		text-align: start;
		gap: 0.45rem;
	}

	.nds-pi-info__title {
		font-size: clamp(1.4rem, 5.4vw, 1.7rem);
	}
}

@media (max-height: 520px) and (orientation: landscape) {
	.nds-pi {
		--pi-gallery-h: min(70vh, 22rem);
	}

	.nds-pi__grid {
		gap: 1rem;
	}
}
