@layer pages {
	.haf-product-archive,
	.haf-product-single {
		--haf-product-section-gap: clamp(var(--haf-space-7), 8vw, var(--haf-space-9));
	}

	.haf-product-archive__header {
		width: min(100%, var(--haf-content-width));
		margin-block-end: var(--haf-space-6);
	}

	.haf-product-results {
		margin-block: 0 var(--haf-space-5);
		color: var(--haf-color-muted);
	}

	.haf-product-grid,
	.haf-product-related-grid,
	.haf-product-gallery {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: var(--haf-space-5);
	}

	.haf-product-card,
	.haf-product-related-card {
		display: flex;
		min-width: 0;
		flex-direction: column;
		overflow: hidden;
		border: 1px solid var(--haf-color-border);
		border-radius: var(--haf-radius-lg);
		background: var(--haf-color-base);
		box-shadow: var(--haf-shadow-sm);
	}

	.haf-product-card__media,
	.haf-product-related-card__media {
		display: block;
		aspect-ratio: 3 / 2;
		overflow: hidden;
		background: var(--haf-color-surface-strong);
	}

	.haf-product-card__media > img,
	.haf-product-related-card__media > img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.haf-product-card__media .haf-media,
	.haf-product-related-card__media.haf-media {
		height: 100%;
	}

	.haf-product-card__body,
	.haf-product-related-card__body {
		display: flex;
		min-width: 0;
		flex: 1;
		flex-direction: column;
		gap: var(--haf-space-3);
		padding: var(--haf-space-5);
	}

	.haf-product-card__tags {
		--haf-cluster-gap: var(--haf-space-2);
	}

	.haf-product-card__tags .haf-tag {
		padding: 0.3rem 0.55rem;
		border-color: var(--haf-color-border);
		background: var(--haf-color-surface);
		color: var(--haf-color-text);
		font-size: var(--haf-font-size-xs);
		font-weight: 650;
	}

	.haf-product-card__model,
	.haf-product-detail__model {
		margin: 0;
		color: var(--haf-color-primary);
		font-size: var(--haf-font-size-sm);
		font-weight: 800;
		letter-spacing: 0.08em;
		overflow-wrap: anywhere;
	}

	.haf-product-card__title,
	.haf-product-related-card h3 {
		margin: 0;
		font-size: var(--haf-font-size-xl);
		overflow-wrap: anywhere;
	}

	.haf-product-card__title a,
	.haf-product-related-card h3 a,
	.haf-product-card__link {
		color: inherit;
		text-decoration: none;
	}

	.haf-product-card__positioning,
	.haf-product-related-card__body p {
		color: var(--haf-color-muted);
	}

	.haf-product-card__positioning > :last-child,
	.haf-product-related-card__body > :last-child {
		margin-block-end: 0;
	}

	.haf-product-card__link {
		display: inline-flex;
		align-items: center;
		gap: var(--haf-space-2);
		margin-block-start: auto;
		color: var(--haf-color-primary);
		font-weight: 800;
	}

	.haf-product-card__link:hover,
	.haf-product-card__title a:hover,
	.haf-product-related-card h3 a:hover {
		color: var(--haf-color-primary-hover);
	}

	.haf-product-detail {
		min-width: 0;
	}

	.haf-product-detail__hero {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(var(--haf-space-5), 6vw, var(--haf-space-8));
		align-items: center;
	}

	.haf-product-detail__primary-media {
		min-height: 18rem;
		overflow: hidden;
		border: 1px solid var(--haf-color-border);
		border-radius: var(--haf-radius-xl);
		background: var(--haf-color-surface-strong);
	}

	.haf-product-detail__primary-media > img,
	.haf-product-detail__primary-media > .haf-media {
		width: 100%;
		height: 100%;
		min-height: 18rem;
	}

	.haf-product-detail__primary-media > img {
		object-fit: cover;
	}

	.haf-product-detail__intro {
		min-width: 0;
	}

	.haf-product-detail__intro h1 {
		margin-block: var(--haf-space-3);
		overflow-wrap: anywhere;
	}

	.haf-product-detail__positioning {
		color: var(--haf-color-muted);
		font-size: var(--haf-font-size-lg);
	}

	.haf-product-detail__positioning > :last-child {
		margin-block-end: 0;
	}

	.haf-product-detail__overview {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1px;
		margin: var(--haf-space-5) 0 0;
		border: 1px solid var(--haf-color-border);
		border-radius: var(--haf-radius-md);
		overflow: hidden;
		background: var(--haf-color-border);
	}

	.haf-product-detail__overview > div {
		min-width: 0;
		padding: var(--haf-space-3);
		background: var(--haf-color-surface);
	}

	.haf-product-detail__overview :where(dt, dd) {
		margin: 0;
	}

	.haf-product-detail__overview dt {
		color: var(--haf-color-muted);
		font-size: var(--haf-font-size-xs);
	}

	.haf-product-detail__overview dd {
		margin-block-start: 0.2rem;
		font-weight: 750;
		overflow-wrap: anywhere;
	}

	.haf-product-detail__quick-actions {
		margin-block-start: var(--haf-space-5);
	}

	.haf-product-detail__points {
		margin-block-start: var(--haf-space-5);
		padding: var(--haf-space-5);
		border-inline-start: 0.25rem solid var(--haf-color-accent);
		border-radius: var(--haf-radius-md);
		background: var(--haf-color-primary-soft);
	}

	.haf-product-detail__points h2 {
		font-size: var(--haf-font-size-lg);
	}

	.haf-product-detail__points ul {
		display: grid;
		gap: var(--haf-space-3);
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.haf-product-detail__points li {
		display: flex;
		align-items: flex-start;
		gap: var(--haf-space-2);
	}

	.haf-product-detail__points .haf-icon {
		margin-block-start: 0.15em;
		color: var(--haf-color-primary);
	}

	.haf-product-section,
	.haf-product-consultation {
		margin-block-start: var(--haf-product-section-gap);
	}

	.haf-product-section > h2,
	.haf-product-consultation h2 {
		margin-block-end: var(--haf-space-5);
	}

	.haf-product-parameters {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		margin: 0;
		border-block-start: 1px solid var(--haf-color-border);
	}

	.haf-product-parameters__row {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: var(--haf-space-1);
		padding-block: var(--haf-space-4);
		border-block-end: 1px solid var(--haf-color-border);
	}

	.haf-product-parameters dt {
		color: var(--haf-color-muted);
		font-weight: 700;
	}

	.haf-product-parameters dd {
		min-width: 0;
		margin: 0;
		font-weight: 800;
		overflow-wrap: anywhere;
	}

	.haf-product-detail__disclaimer {
		margin-block-start: var(--haf-space-4);
		color: var(--haf-color-muted);
		font-size: var(--haf-font-size-sm);
	}

	.haf-product-gallery a {
		display: block;
		min-height: 12rem;
		overflow: hidden;
		border-radius: var(--haf-radius-lg);
		background: var(--haf-color-surface-strong);
	}

	.haf-product-gallery img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.haf-empty-state--compact {
		width: 100%;
		padding: var(--haf-space-5);
		text-align: start;
	}

	.haf-product-faq {
		display: grid;
		gap: var(--haf-space-3);
	}

	.haf-product-faq details {
		border: 1px solid var(--haf-color-border);
		border-radius: var(--haf-radius-md);
		background: var(--haf-color-base);
	}

	.haf-product-faq summary {
		padding: var(--haf-space-4);
		color: var(--haf-color-ink);
		font-weight: 800;
		cursor: pointer;
	}

	.haf-product-faq details > .haf-prose {
		padding: 0 var(--haf-space-4) var(--haf-space-4);
	}

	.haf-product-consultation {
		display: grid;
		gap: var(--haf-space-5);
		padding: clamp(var(--haf-space-5), 6vw, var(--haf-space-8));
		border-radius: var(--haf-radius-xl);
		background: var(--haf-color-ink);
		color: var(--haf-color-base);
	}

	.haf-product-consultation h2 {
		color: inherit;
	}

	.haf-product-consultation__actions {
		align-self: center;
	}

	@media (min-width: 32rem) {
		.haf-product-parameters__row {
			grid-template-columns: minmax(7rem, 0.7fr) minmax(0, 1.3fr);
			gap: var(--haf-space-4);
		}
	}

	@media (min-width: 48rem) {
		.haf-product-related-grid,
		.haf-product-gallery {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}

		.haf-product-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}

	@media (min-width: 64rem) {
		.haf-product-grid,
		.haf-product-related-grid,
		.haf-product-gallery {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.haf-product-detail__hero {
			grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
		}

		.haf-product-consultation {
			grid-template-columns: minmax(0, 1fr) auto;
		}
	}
}
