/* Product page shell */
.emz-product { display: block; }
.emz-section--studio { padding-top: clamp(28px, 5vw, 60px); padding-bottom: clamp(40px, 6vw, 80px); }

.emz-product__title { font-size: var(--fs-h1); margin: 0 0 .3em; }

/* Landing content sits below the studio; give it a soft top divider */
.emz-product__landing { border-top: 1px solid var(--line); }

/* Related */
.emz-section--related { padding-top: var(--section-y); }
.emz-section--related .related > h2,
.emz-section--related .products ~ h2,
.emz-section--related h2 {
	font-family: var(--font-display); font-size: var(--fs-h2); text-align: center; margin: 0 0 clamp(24px, 4vw, 44px);
}

/* Extra bottom room on mobile so the sticky purchase bar never covers content */
@media (max-width: 899px) {
	.emz-product { padding-bottom: 96px; }
}

/* Server fallback (shown before React mounts / JS off) */
.emz-studio-fallback { display: grid; gap: 28px; }
@media (min-width: 900px) {
	.emz-studio-fallback { grid-template-columns: 1.05fr .95fr; align-items: start; }
}
.emz-studio-fallback__media img { width: 100%; border-radius: var(--r-lg); box-shadow: var(--shadow-md); }
.emz-studio-fallback__note {
	margin-top: 16px; padding: 14px 16px; background: var(--surface-2); border-radius: var(--r-sm);
	color: var(--ink-soft); font-size: var(--fs-sm); font-family: var(--font-ui);
}
.emz-studio-fallback .emz-intro { color: var(--ink-soft); font-size: var(--fs-lead); }

/* Skeleton shimmer while the config loads */
.emz-loading { position: relative; }
