.rf-product-page,
.rf-product-category {
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-inline: auto;
	padding: clamp(1.25rem, 4vw, 3rem) clamp(1rem, 3vw, 2rem);
}
.rf-product-page__intro,
.rf-product-category__intro { margin-bottom: clamp(2rem, 5vw, 4rem); }
.rf-product-page__eyebrow,
.rf-product-card__category,
.rf-product-category__eyebrow {
	color: var(--wp--preset--color--accent, #2563eb);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.rf-product-page__title { max-width: 18ch; margin-block: .5rem 1rem; }
.rf-product-page__summary { max-width: 64ch; color: var(--wp--preset--color--muted, #6b7280); font-size: 1.15rem; }
.rf-product-overview { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.rf-product-gallery { overflow: hidden; border-radius: 1rem; background: #f7f4f1; }
.rf-product-gallery__image { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.rf-product-facts { display: grid; gap: 0; margin: 0 0 1.5rem; border-top: 1px solid #e5e7eb; }
.rf-product-facts__row { display: grid; grid-template-columns: minmax(7rem, .75fr) minmax(0, 1.25fr); gap: 1rem; padding: .85rem 0; border-bottom: 1px solid #e5e7eb; }
.rf-product-facts dt { color: #687385; font-size: .92rem; }
.rf-product-facts dd { min-width: 0; margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.rf-product-page__description { max-width: var(--wp--style--global--content-size, 720px); margin: clamp(3rem, 7vw, 6rem) auto; }
.rf-product-page__related { margin-top: clamp(3rem, 7vw, 6rem); }
.rf-product-card { display: flex; height: 100%; flex-direction: column; overflow: hidden; border: 1px solid #e8e9ec; border-radius: .9rem; padding: 1rem; background: #fff; }
.rf-product-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.rf-product-card__media { display: block; margin: -1rem -1rem 1rem; overflow: hidden; background: #f7f4f1; }
.rf-product-card__image { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.rf-product-card__title { margin: .5rem 0; font-size: 1.2rem; }
.rf-product-card__title a { color: inherit; text-decoration: none; }
.rf-product-card__excerpt { color: #596579; }
.rf-product-card .wp-block-post-featured-image { margin: -1rem -1rem 1rem; }
.rf-product-card .wp-block-post-featured-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.rf-product-card .wp-block-post-title { margin-block: .5rem; }
.rf-product-card .wp-block-post-excerpt { color: #596579; }
.rf-product-category__layout { gap: clamp(1.5rem, 3vw, 2.5rem); align-items: start; }
.rf-product-category__layout > .wp-block-column:first-child { min-width: 0; }
.rf-product-category__layout .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.rf-product-category__cta { margin-top: 3rem; }
@media (max-width: 781px) {
	.rf-product-overview { grid-template-columns: minmax(0, 1fr); }
	.rf-product-category__layout { flex-direction: column; }
	.rf-product-category__layout > .wp-block-column { flex-basis: 100% !important; width: 100%; }
	.rf-product-category__layout .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rf-product-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
	.rf-product-category__layout .wp-block-post-template { grid-template-columns: 1fr; }
	.rf-product-card-grid { grid-template-columns: 1fr; }
}
