.ptw-product-hero {
	margin-top: var(--ptw-space-4);
	padding: var(--ptw-space-5);
	border: var(--ptw-border-width-sm) solid var(--ptw-color-border);
	border-radius: var(--ptw-radius-lg);
	background: var(--ptw-color-surface);
	box-shadow: var(--ptw-shadow-sm);
}

.ptw-product-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: var(--ptw-space-8);
	align-items: center;
}

.ptw-product-hero__media {
	display: grid;
	min-height: 18rem;
	place-items: center;
	border: var(--ptw-border-width-sm) solid var(--ptw-color-border);
	border-radius: var(--ptw-radius-lg);
	background: var(--ptw-color-surface-alt);
}

.ptw-product-hero__image {
	width: 100%;
}

.ptw-product-hero__image .featured-image {
	margin: 0;
}

.ptw-product-hero__image .featured-image__image {
	width: 100%;
	max-height: 24rem;
	object-fit: contain;
}

.ptw-product-hero__image-placeholder {
	display: grid;
	width: 100%;
	min-height: 18rem;
	place-items: center;
	padding: var(--ptw-space-6);
	color: var(--ptw-color-text-secondary);
	font-size: var(--ptw-font-size-sm);
	font-weight: var(--ptw-font-weight-semibold);
	line-height: var(--ptw-line-height-normal);
	text-align: center;
}

.ptw-product-hero__content {
	display: grid;
	gap: var(--ptw-space-3);
	min-width: 0;
	padding-block: var(--ptw-space-2);
	border-bottom: 0;
}

.ptw-product-hero__eyebrow,
.ptw-product-hero__brand {
	color: var(--ptw-color-text-secondary);
	font-size: var(--ptw-font-size-sm);
	font-weight: var(--ptw-font-weight-bold);
	line-height: var(--ptw-line-height-tight);
	text-transform: uppercase;
}

.ptw-product-hero__brand {
	color: var(--ptw-color-primary);
}

.ptw-product-hero__title {
	margin: 0;
	color: var(--ptw-color-text-primary);
	font-size: clamp(var(--ptw-font-size-3xl), 4vw, var(--ptw-font-size-4xl));
	font-weight: var(--ptw-font-weight-bold);
	line-height: var(--ptw-line-height-tight);
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.ptw-product-hero__summary {
	max-width: 42rem;
	margin: 0;
	color: var(--ptw-color-text-secondary);
	font-size: var(--ptw-font-size-lg);
	line-height: var(--ptw-line-height-relaxed);
}

.ptw-product-hero__meta {
	margin-top: var(--ptw-space-2);
}

.ptw-product-hero__identifiers {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ptw-space-2);
	margin-top: var(--ptw-space-2);
}

.ptw-product-hero__identifier {
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--ptw-space-1);
	max-width: 100%;
	padding: var(--ptw-space-2) var(--ptw-space-3);
	border: var(--ptw-border-width-sm) solid var(--ptw-color-border);
	border-radius: var(--ptw-radius-pill);
	background: var(--ptw-color-surface-alt);
	color: var(--ptw-color-text-secondary);
	font-size: var(--ptw-font-size-sm);
	line-height: var(--ptw-line-height-normal);
}

.ptw-product-hero__identifier-label {
	font-weight: var(--ptw-font-weight-bold);
}

.ptw-product-hero__identifier-value {
	color: var(--ptw-color-text-primary);
	overflow-wrap: anywhere;
}

.ptw-product-hero__extensions {
	margin-top: var(--ptw-space-4);
}

.ptw-product-hero a:focus-visible {
	outline: var(--ptw-border-width-md) solid var(--ptw-color-focus);
	outline-offset: var(--ptw-space-1);
	box-shadow: var(--ptw-shadow-focus);
}

@media (min-width: 80rem) {
	.ptw-product-hero {
		padding: var(--ptw-space-6);
	}
}

@media (max-width: 56rem) {
	.ptw-product-hero__grid {
		grid-template-columns: 1fr;
		gap: var(--ptw-space-5);
	}

	.ptw-product-hero__media,
	.ptw-product-hero__image-placeholder {
		min-height: 14rem;
	}
}

@media (max-width: 40rem) {
	.ptw-product-hero {
		padding: var(--ptw-space-4);
	}

	.ptw-product-hero__title {
		font-size: var(--ptw-font-size-3xl);
	}

	.ptw-product-hero__summary {
		font-size: var(--ptw-font-size-md);
	}

	.ptw-product-hero__identifiers {
		display: grid;
	}
}
