/* The category builder shares the product engine and has its own responsive bounds. */
.site-main.mhs-category-configurator--landing { width:100%; max-width:none; padding:0; margin:0; }
.mhs-category-landing { --landing-green:#174b35; color:#172a26; background:#fbfcfa; width:100%; }
.mhs-category-landing * { box-sizing:border-box; }
.mhs-category-landing__hero { position:relative; isolation:isolate; min-height:380px; display:flex; align-items:center; padding:55px max(4.6vw,24px); color:#fff; background:#243d31; }
.mhs-category-landing__hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; z-index:-2; }
.mhs-category-landing__hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#000b,transparent 80%); }
.mhs-category-landing__hero-content { width:100%; max-width:1320px; margin:auto; }
.mhs-category-landing__hero h1 { max-width:470px; margin:12px 0 16px; color:#fff; font-size:clamp(32px,3.5vw,50px); font-weight:600; line-height:1.12; }
.mhs-category-landing__hero-content > p:not(.mhs-category-landing__eyebrow) { max-width:410px; margin:0; font-size:16px; line-height:1.65; }
.mhs-category-landing .mhs-category-landing__eyebrow { color:#bbd2b9; margin:0; font-size:13px; font-weight:650; text-transform:uppercase; }
.mhs-category-landing__inner { max-width:1440px; padding:48px max(4.6vw,24px) 52px; margin:auto; }
.mhs-category-landing h2 { font-size:clamp(24px,2.6vw,32px); font-weight:600; line-height:1.3; color:#172a26; margin:0 0 14px; }
.mhs-category-landing__intro { margin:0 auto 36px; text-align:center; }
.mhs-category-landing__intro::before,.mhs-category-landing__support h2::before { content:""; display:block; width:42px; height:3px; background:#96ad97; margin:0 auto 22px; }
.mhs-category-landing p { color:#505c54; font-size:15px; line-height:1.7; }
.mhs-category-landing__hero-content > p { color:#fff; }
.mhs-category-landing__grid { display:grid; grid-template-columns:repeat(var(--mhs-category-columns,3),minmax(0,1fr)); gap:28px; }
.mhs-category-landing__card { min-width:0; border:1px solid #e0e5df; background:#fff; }
.mhs-category-landing__card > a { height:100%; display:flex; flex-direction:column; color:inherit; text-decoration:none; }
.mhs-category-landing__card > a > img { display:block; width:100%; height:auto; aspect-ratio:1.55; object-fit:cover; }
.mhs-category-landing__card-body { padding:26px 24px; flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.mhs-category-landing__card h3 { font-size:23px; font-weight:600; margin:0 0 10px; color:#172a26; }
.mhs-category-landing__card h3::before { content:""; display:block; width:32px; height:2px; background:#a1b7a2; margin-bottom:16px; }
.mhs-category-landing__card p { margin:0 0 25px; }
.mhs-category-landing .mhs-category-landing__button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:44px; margin-top:auto; padding:12px 22px; border-radius:3px; background:var(--landing-green); color:#fff; font-size:13px; font-weight:500; text-decoration:none; line-height:1.5; }
.mhs-category-landing a:focus-visible { outline:3px solid #21aa64; outline-offset:4px; }
.mhs-category-landing a:hover .mhs-category-landing__button,.mhs-category-landing a.mhs-category-landing__button:hover { background:#236444; }
.mhs-category-landing__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:36px 0 54px; padding:32px 24px; background:#edf1ed; list-style:none; }
.mhs-category-landing__steps > li { display:flex; gap:18px; padding:0 22px; border-right:1px solid #bfcbc0; }
.mhs-category-landing__steps > li:last-child { border:0; }
.mhs-category-landing__step { flex:0 0 32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--landing-green); color:white; font-size:13px; }
.mhs-category-landing__steps svg { width:32px; height:32px; color:var(--landing-green); }
.mhs-category-landing__steps h3 { font-size:15px; margin:16px 0 8px; font-weight:600; color:#172a26; }
.mhs-category-landing__steps p { font-size:12px; margin:0; }
.mhs-category-landing__support { display:grid; grid-template-columns:1fr 1.1fr; background:#edf1ed; }
.mhs-category-landing__support > img { height:300px; width:100%; object-fit:cover; }
.mhs-category-landing__support > div { padding:40px clamp(25px,4vw,64px); }
.mhs-category-landing__support h2::before { margin-left:0; }
.mhs-category-landing__support p { margin:0 0 25px; }
@media(max-width:900px) { .mhs-category-landing__grid { gap:16px; } .mhs-category-landing__card-body { padding:22px 18px; } .mhs-category-landing__steps { padding:26px 10px; } .mhs-category-landing__steps > li { padding:0 12px; gap:10px; } }
@media(max-width:700px) {
 .mhs-category-landing__hero { min-height:340px; padding:40px 24px; }
 .mhs-category-landing__inner { padding:36px 20px; }
 .mhs-category-landing__grid,.mhs-category-landing__steps,.mhs-category-landing__support { grid-template-columns:1fr; }
 .mhs-category-landing__grid { gap:24px; }
 .mhs-category-landing__intro br { display:none; }
 .mhs-category-landing__steps { padding:26px 22px; gap:24px; margin-bottom:36px; }
 .mhs-category-landing__steps > li { padding:0 0 24px; border-right:0; border-bottom:1px solid #bfcbc0; gap:20px; }
 .mhs-category-landing__steps > li:last-child { padding-bottom:0; }
 .mhs-category-landing__support > img { height:220px; min-height:0; }
 .mhs-category-landing__support > div { padding:30px 24px; }
}
.mhs-category-configurator .mhs-configurator-layout {
	grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
	gap: 28px;
}

.mhs-category-configurator .mhs-configurator-controls,
.mhs-category-configurator .mhs-configurator-section,
.mhs-category-configurator .mhs-configurator-option {
	min-width: 0;
}

.mhs-category-configurator .mhs-configurator-options--material {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mhs-category-configurator .mhs-configurator-option__label {
	white-space: normal;
	overflow-wrap: anywhere;
}

.mhs-category-configurator .mhs-configurator-summary {
	position: static;
}

.mhs-configuration-contact {
	padding: 28px 0;
	border-bottom: 1px solid var(--mhs-color-line);
}

.mhs-configuration-contact dl {
	display: grid;
	grid-template-columns: minmax(120px, 220px) minmax(0, 1fr);
	gap: 8px 20px;
	margin-block: 20px;
}

.mhs-configuration-contact dd {
	margin: 0;
	overflow-wrap: anywhere;
}

@media (max-width: 860px) {
	.mhs-category-configurator .mhs-configurator-layout {
		grid-template-columns: minmax(0, 1fr);
	}
	.mhs-category-configurator .mhs-configurator-heading {
		flex-direction: column;
	}
	.mhs-category-configurator .mhs-configurator-preview {
		max-height: 220px;
	}
}

@media (max-width: 480px) {
	.mhs-category-configurator .mhs-configurator-options--material {
		grid-template-columns: minmax(0, 1fr);
	}
	.mhs-category-configurator .mhs-configurator-option--material {
		display: grid;
		grid-template-columns: 76px minmax(0, 1fr);
		align-items: center;
		text-align: left;
	}
	.mhs-category-configurator .mhs-configurator-option--material img {
		grid-row: span 3;
		width: 76px;
		height: 76px;
		object-fit: contain;
	}
	.mhs-configuration-contact dl {
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
	}
	.mhs-configuration-contact dd { margin-bottom: 12px; }
}
