@layer plugins.bfproducts {
	/* Catalog page shells. Card grid + product-detail base styles live in
	   src/css/prototypes/products.css; this file adds the plugin-owned
	   sidebar navigation, breadcrumbs, and detail-page furniture. */

	.bf-products .catalog-breadcrumbs {
		margin-block-end: var(--space-sm);
		font-size: var(--step--1);
	}

	.bf-products .catalog-breadcrumbs a {
		color: var(--color-brand-primary);
	}

	.bf-products .catalog-breadcrumbs__sep {
		color: var(--color-ink-muted);
	}

	.bf-products .catalog-layout {
		display: grid;
		grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
		gap: var(--space-xl);
		align-items: start;
	}

	.bf-products .catalog-sidebar {
		display: grid;
		gap: var(--space-lg);
	}

	.bf-products .catalog-sidebar__heading {
		margin: 0 0 var(--space-2xs);
		padding-block-end: var(--space-2xs);
		border-block-end: 2px solid var(--color-border-muted);
		color: var(--color-brand-secondary);
		font-size: var(--step-2);
		font-weight: var(--font-weight-bold);
	}

	.bf-products .catalog-sidebar__list {
		margin: 0;
		padding-inline-start: 1.25em;
		display: grid;
		gap: var(--space-2xs);
	}

	.bf-products .catalog-sidebar__list a {
		color: var(--color-brand-primary);
		text-decoration: none;
	}

	.bf-products .catalog-sidebar__list a:hover,
	.bf-products .catalog-sidebar__list a:focus-visible {
		text-decoration: underline;
	}

	.bf-products .catalog-sidebar__list .is-active > a {
		font-weight: var(--font-weight-bold);
		text-decoration: underline;
	}

	.bf-products .catalog-intro {
		max-inline-size: var(--measure);
		margin-block-end: var(--space-lg);
	}

	.bf-products .catalog-section-list {
		margin: 0;
		padding-inline-start: 1.25em;
		display: grid;
		gap: var(--space-xs);
		font-size: var(--step-1);
	}

	/* BfManufacturer logos: inline SVGs take the ink set here via the .svg-logo
	   currentColor contract (src/css/components/svg-logo.css); raster uploads
	   keep their own colors. */
	.bf-products .catalog-manufacturer-logo {
		color: var(--color-brand-secondary);
	}

	.bf-products .catalog-manufacturer-logo :is(img, svg) {
		max-width: 12rem;
		height: auto;
	}

	.bf-products .product-detail__manufacturer {
		color: var(--color-brand-secondary);
	}

	/* BfProduct-detail logos are links. Override base anchor states explicitly so
	   inline SVGs keep the intended catalog ink instead of inheriting the
	   global link blue. */
	.bf-products .product-detail__manufacturer-link,
	.bf-products .product-detail__manufacturer-link:link,
	.bf-products .product-detail__manufacturer-link:visited,
	.bf-products .product-detail__manufacturer-link:hover,
	.bf-products .product-detail__manufacturer-link:focus {
		color: var(--color-brand-secondary);
	}

	.bf-products .product-detail__manufacturer :is(img, svg) {
		max-width: 10rem;
		height: auto;
	}

	.bf-products .product-detail__resources {
		margin-block-start: var(--space-lg);
	}

	.bf-products .estimate-cta {
		display: grid;
		justify-items: start;
		gap: var(--space-xs);
		padding: var(--space-md);
		margin-block-start: var(--space-md);
	}

	.bf-products .estimate-cta__heading {
		margin: 0;
		color: var(--color-brand-secondary);
		font-size: var(--step-2);
	}

	.bf-products .estimate-cta__text {
		margin: 0;
	}

	@media screen and (max-width: 900px) {
		.bf-products .catalog-layout {
			grid-template-columns: 1fr;
		}
	}
}
