/* Page-owned Home B blocks only. The principal loads this file from the asset registry. */
.km15-b-home { --km15-home-gap: clamp(2.5rem, 5vw, 4.5rem); --km15-home-border: #d9ddd5; --km15-home-muted: #525a54; color: #242824; }
.km15-b-home > .wp-block-group { box-sizing: border-box; padding-inline: var(--km15-gutter, 20px); }
.km15-b-home .km15-b-hero { padding-block: clamp(1.625rem, 4vw, 3.5rem); }
.km15-b-home .km15-b-hero-columns, .km15-b-home .km15-b-about-columns { gap: clamp(1.25rem, 3vw, 2.75rem); }
.km15-b-home .km15-b-title { margin: 0; font-size: clamp(2rem, 4.2vw, 3.5rem); line-height: 1.28; text-wrap: balance; }
.km15-b-home .km15-b-supporting { margin: .65rem 0 0; color: var(--km15-home-muted); font-size: clamp(1.15rem, 2vw, 1.55rem); font-weight: 700; }
.km15-b-home .km15-b-intro, .km15-b-home .km15-b-owner-note { color: var(--km15-home-muted); }
.km15-b-home .km15-b-hero-copy .km15-contact-actions { margin-top: 1.25rem; }
.km15-b-home .km15-b-owner-note { font-size: .9rem; }
.km15-b-home .km15-b-image { margin: 0; border: 1px solid var(--km15-home-border); background: #f0f1eb; }
.km15-b-home .km15-b-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.km15-b-home .km15-b-locality { padding-block: 1rem; background: #f0f1eb; }
.km15-b-home .km15-b-locality-columns { align-items: center; gap: 1.5rem; margin-bottom: 0; }
.km15-b-home .km15-b-locality-title, .km15-b-home .km15-b-section-title { margin-top: 0; }
.km15-b-home .km15-b-section { padding-block: var(--km15-home-gap); }
.km15-b-home .km15-b-section-title { font-size: clamp(1.7rem, 3.2vw, 2.7rem); }
.km15-b-home .km15-b-material-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.km15-b-home .km15-b-material { min-width: 0; border: 1px solid var(--km15-home-border); background: #fff; overflow: hidden; }
.km15-b-home .km15-b-material .wp-block-image { margin: 0; }
.km15-b-home .km15-b-material img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.km15-b-home .km15-b-material h3 { margin: .8rem 1rem 1rem; font-size: 1.12rem; }
.km15-b-home .km15-b-product-collection .wc-block-product-template { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.km15-b-home .km15-b-product-collection .wc-block-product-template > li { width: auto !important; min-width: 0; }
.km15-b-home .km15-b-product-collection .wc-block-product-template .wp-block-post-title { margin: .75rem 0 0; font-size: 1.05rem; line-height: 1.45; }
.km15-b-home .km15-b-product-collection .wc-block-product-template .wp-block-post-title a { display: inline-flex; min-height: 44px; align-items: center; color: var(--km15-text); text-decoration: none; }
.km15-b-home .km15-b-logo-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; }
.km15-b-home .wp-block-gallery.has-nested-images.km15-b-logo-grid figure.wp-block-image { display: grid; width: 100% !important; min-width: 0; min-height: 72px; margin: 0; place-items: center; border: 1px solid var(--km15-home-border); background: #fff; }
.km15-b-home .wp-block-gallery.has-nested-images.km15-b-logo-grid figure.wp-block-image img { width: 100%; max-width: 132px !important; height: 56px !important; object-fit: contain !important; }
.km15-b-home .km15-b-about-section { background: #fff; }
.km15-b-home .km15-b-image-placeholder { display: grid; min-height: 240px; padding: 1rem; place-items: center; border: 1px dashed var(--km15-home-border); color: var(--km15-home-muted); text-align: center; }
@media (max-width: 767px) {
	.km15-b-home { --km15-home-gap: 2.5rem; }
	.km15-b-home .km15-b-hero-columns, .km15-b-home .km15-b-about-columns { flex-direction: column; gap: 1.125rem; }
	.km15-b-home .km15-b-hero-columns > .wp-block-column, .km15-b-home .km15-b-about-columns > .wp-block-column { width: 100%; flex-basis: auto !important; }
	.km15-b-home .km15-b-locality-columns { display: block; }
	.km15-b-home .km15-b-locality-columns > .wp-block-column + .wp-block-column { margin-top: .35rem; }
	.km15-b-home .km15-b-material-grid { grid-template-columns: 1fr; gap: 0; border-bottom: 1px solid var(--km15-home-border); }
	.km15-b-home .km15-b-material { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; border-width: 1px 0 0; }
	.km15-b-home .km15-b-material img { height: 68px; aspect-ratio: auto; }
	.km15-b-home .km15-b-material h3 { margin: .75rem 1rem; }
	.km15-b-home .km15-b-product-collection .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
	.km15-b-home .km15-b-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .625rem; }
	.km15-b-home .wp-block-gallery.has-nested-images.km15-b-logo-grid figure.wp-block-image { min-height: 60px; }
	.km15-b-home .wp-block-gallery.has-nested-images.km15-b-logo-grid figure.wp-block-image img { height: 44px !important; }
}
@media (max-width: 359px) {
	.km15-b-home .km15-b-product-collection .wc-block-product-template { grid-template-columns: minmax(0, 1fr); }
}
