/* Shared subject purchase card and anchored sample preview. */
#ebook-purchase,
#sample-pages {
	scroll-margin-top: 112px;
}

.ns-lp-purchase {
	padding-block: clamp(56px, 7vw, 88px);
	background: var(--ns-lp-blush);
}

.ns-lp-purchase .ns-lp-section-heading {
	margin-bottom: clamp(22px, 3vw, 32px);
}

.ns-lp-purchase h2,
.ns-lp-purchase h3 {
	color: var(--ns-lp-purple);
}

.ns-lp-purchase-card {
	display: grid;
	grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: clamp(28px, 5vw, 64px);
	padding: clamp(24px, 4vw, 44px);
	border: 1px solid #e7d9e9;
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(59, 30, 84, 0.09);
}

.ns-lp-purchase-art {
	width: 100%;
	min-width: 0;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 1px solid #eadfe8;
	border-radius: 18px;
	background: #fdf9fc;
}

.ns-lp-purchase-art img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.ns-lp-purchase-content {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.ns-lp-purchase-format,
.ns-lp-purchase-label {
	margin: 0 0 8px;
	color: var(--ns-lp-muted);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.ns-lp-purchase-details h3,
.ns-lp-purchase-content h3 {
	margin: 0 0 12px;
	overflow-wrap: anywhere;
	font-size: clamp(1.55rem, 2.5vw, 2.2rem);
	line-height: 1.2;
}

.ns-lp-purchase-description {
	max-width: 600px;
	margin: 0;
	color: #49414b;
	line-height: 1.7;
}

.ns-lp-purchase-summary {
	display: grid;
	width: 100%;
	grid-template-columns: minmax(0, 0.8fr) minmax(190px, 1fr);
	align-items: center;
	gap: 24px;
	margin-top: 26px;
	padding: 20px 0 0;
	border-top: 1px solid #eadfe8;
}

.ns-lp-purchase-price-wrap {
	min-width: 0;
}

.ns-lp .ns-lp-purchase-price {
	margin: 0;
	color: var(--ns-lp-purple);
	font-family: var(--ns-font-heading, 'Outfit', sans-serif);
	font-size: clamp(34px, 4vw, 44px);
	font-weight: 700;
	line-height: 1.1;
}

.ns-lp .ns-lp-purchase-price-unavailable {
	font-size: clamp(1rem, 1.6vw, 1.15rem);
	font-weight: 600;
}

.ns-lp .ns-lp-buy-now {
	width: 100%;
	min-height: 54px;
	justify-content: center;
	border-radius: 12px;
}

.ns-lp .ns-lp-buy-now:disabled {
	opacity: 0.78;
	cursor: not-allowed;
	box-shadow: none;
	transform: none;
}

.ns-lp-purchase-state {
	max-width: 550px;
	margin: 14px 0 0;
	color: var(--ns-lp-muted);
	font-size: 0.88rem;
	line-height: 1.6;
}

.ns-lp-purchase-samples {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
	color: var(--ns-lp-purple);
	font-size: 0.9rem;
	font-weight: 700;
}

.ns-lp-purchase-samples:focus-visible {
	border-radius: 4px;
	outline: 3px solid var(--ns-lp-purple);
	outline-offset: 3px;
}

@media (max-width: 1024px) {
	.ns-lp-purchase-card {
		grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
		gap: 30px;
		padding: 28px;
	}

	.ns-lp-purchase-summary {
		grid-template-columns: minmax(0, 0.8fr) minmax(170px, 1fr);
		gap: 16px;
	}
}

@media (max-width: 820px) {
	#ebook-purchase,
	#sample-pages {
		scroll-margin-top: 96px;
	}

	.ns-lp-purchase-card {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.ns-lp-purchase-art {
		width: min(100%, 560px);
		margin-inline: auto;
	}

	.ns-lp-purchase-content {
		width: 100%;
	}
}

@media (max-width: 560px) {
	#ebook-purchase,
	#sample-pages {
		scroll-margin-top: 88px;
	}

	.ns-lp-purchase-card {
		gap: 20px;
		padding: 18px;
		border-radius: 20px;
	}

	.ns-lp-purchase-art {
		border-radius: 14px;
	}

	.ns-lp-purchase-summary {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
		margin-top: 22px;
		padding-top: 18px;
	}

	.ns-lp .ns-lp-buy-now {
		min-height: 52px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#ebook-purchase,
	#sample-pages {
		scroll-behavior: auto;
	}
}
