/* Three reusable layouts from MODIFICHE_MHS_v2 and the supplied artwork. */
body.woocommerce { --mhs-color-accent:#00ae62; --mhs-color-ink:#101313; --catalog-green:#00ae62; --catalog-surface:#f4f8f9; }
body.woocommerce .site-main--woocommerce { width:100%; max-width:none; margin:0; padding:0; }
/* Dedicated photographs with real HTML copy: never scale rasterised text. */
.mhs-category-hero { position:relative; isolation:isolate; width:100%; margin:0; background:#f8f7f3; }
.mhs-category-hero .mhs-category-hero__image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; max-width:none; margin:0; border-radius:0; object-fit:cover; object-position:75% center; }
.mhs-category-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(250,249,246,.97) 0%,rgba(250,249,246,.91) 29%,rgba(250,249,246,.7) 42%,rgba(250,249,246,0) 61%); }
.mhs-category-hero__content { display:flex; flex-direction:column; align-items:flex-start; min-height:clamp(360px,27vw,580px); padding:24px 4.8% 42px; }
.mhs-category-hero__breadcrumbs { max-width:100%; color:#515a58; font-size:clamp(12px,.9vw,15px); line-height:1.6; }
.mhs-category-hero__breadcrumbs ol { display:flex; flex-wrap:wrap; gap:6px 12px; list-style:none; padding:0; margin:0; }
.mhs-category-hero__breadcrumbs li { display:flex; align-items:baseline; gap:12px; min-width:0; }
.mhs-category-hero__breadcrumbs li + li::before { content:"›"; color:#56605b; }
.mhs-category-hero__breadcrumbs a { color:inherit; text-decoration:none; text-underline-offset:3px; }
.mhs-category-hero__breadcrumbs a:hover { color:#006e3f; text-decoration:underline; }
.mhs-category-hero__breadcrumbs a:focus-visible { outline:2px solid #006e3f; outline-offset:4px; border-radius:2px; }
.mhs-category-hero__copy { width:48%; max-width:850px; margin-block:auto; padding-top:26px; }
.mhs-category-hero .mhs-category-hero__title { margin:0 0 20px; color:#101313; font-size:clamp(30px,3.1vw,64px); line-height:1.1; font-weight:800; letter-spacing:-.045em; text-transform:none; overflow-wrap:break-word; }
.mhs-category-hero__title > span { display:block; }
.mhs-category-hero__title > span + span { color:#009d59; }
.mhs-category-hero .mhs-category-hero__description { max-width:650px; margin:0; color:#28312e; font-size:clamp(16px,1.35vw,24px); line-height:1.5; font-weight:450; letter-spacing:-.025em; }
@media(max-width:1100px) and (min-width:761px) {
 .mhs-category-hero__copy { width:55%; }
 .mhs-category-hero__content { padding-block:20px 32px; }
 .mhs-category-hero::before { background:linear-gradient(90deg,#faf9f6 0%,#faf9f6eb 38%,#faf9f600 75%); }
}
@media(max-width:760px) {
 .mhs-category-hero { display:flex; flex-direction:column; }
 .mhs-category-hero::before { display:none; }
 .mhs-category-hero__content { order:0; min-height:0; padding:22px 6% 28px; }
 .mhs-category-hero__copy { width:100%; max-width:580px; margin:0; padding-top:22px; }
 .mhs-category-hero .mhs-category-hero__title { font-size:clamp(29px,6.7vw,42px); line-height:1.12; margin-bottom:16px; }
 .mhs-category-hero .mhs-category-hero__description { font-size:16px; line-height:1.6; }
 .mhs-category-hero .mhs-category-hero__image { order:1; position:static; z-index:auto; width:100%; height:clamp(210px,52vw,320px); object-position:right center; }
 .mhs-category-hero__breadcrumbs { font-size:12px; }
}
.mhs-catalog-support { clear:both; width:100%; margin:30px 0 0; border-top:1px solid #e7eced; border-bottom:1px solid #e7eced; background:#fff; }
.mhs-catalog-support > div { max-width:1440px; padding:22px 4%; margin:auto; display:flex; align-items:center; gap:32px; }
.mhs-catalog-support > div > svg { width:48px; height:48px; color:var(--mhs-color-accent); flex-shrink:0; }
.mhs-catalog-support p { display:grid; gap:4px; margin:0; padding-left:32px; border-left:1px solid #a7afb7; line-height:1.5; }
.mhs-catalog-support strong { color:#111; font-size:20px; letter-spacing:-.04em; }
.mhs-catalog-support p span { color:#697078; font-size:14px; }
.mhs-catalog-support a { margin-left:auto; display:flex; gap:18px; align-items:center; justify-content:center; padding:12px 20px; border:1px solid var(--mhs-color-accent); color:#00834a; font-size:13px; font-weight:600; border-radius:3px; text-decoration:none; }
.mhs-catalog-support a:hover,.mhs-catalog-support a:focus-visible { background:var(--mhs-color-accent); color:#fff; border-color:var(--mhs-color-accent); box-shadow:0 6px 18px rgba(0,98,58,.16); transform:translateY(-1px); }
.mhs-catalog-support a { transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.mhs-catalog-support a svg { width:18px; height:18px; }
.mhs-family-tabs { display:flex; gap:16px; padding:12px 4% 0; border-bottom:1px solid #e8edef; background:white; }
.mhs-family-tabs a { display:flex; align-items:center; gap:12px; padding:10px 22px 16px; border-bottom:3px solid transparent; color:#56616b; font-size:14px; font-weight:600; text-decoration:none; }
.mhs-family-tabs a svg { width:30px; height:30px; }
.mhs-family-tabs a[aria-current] { color:#00a75d; border-bottom-color:#00ae62; }

/* Archive: one filter rail, one real WooCommerce grid, no illustrative products. */
body.woocommerce .mhs-shop-catalog { max-width:1600px; margin:18px auto 32px; padding-inline:2%; gap:22px; align-items:start; }
body.woocommerce .mhs-shop-catalog.is-filters-open { grid-template-columns:minmax(220px,24.5%) minmax(0,1fr); gap:22px; }
body.woocommerce .mhs-shop-catalog.is-filters-open .mhs-shop-filters { padding:18px 18px 24px; background:var(--catalog-surface); border:0; border-radius:5px; }
.mhs-filter-heading { display:flex; align-items:center; gap:10px; justify-content:space-between; padding-bottom:22px; }
.mhs-filter-heading h2 { font-size:18px; margin:0; letter-spacing:-.035em; text-transform:none; }
.mhs-filter-heading a { color:#00874c; font-size:12px; text-decoration:none; }
.mhs-shop-filter-form { gap:0; }
.mhs-shop-filter-form .mhs-shop-filter-form__group { padding:18px 0; border:0; border-top:1px solid #e0e7eb; margin:0; }
.mhs-shop-filter-form summary { font-size:15px; font-weight:650; color:#111; }
.mhs-shop-filter-form details[open] summary b { font-size:0; }
.mhs-shop-filter-form details[open] summary b::after { content:'⌃'; font-size:18px; }
.mhs-shop-filter-form__choices,.mhs-shop-category-options { display:grid; gap:12px; padding-top:18px; }
body.woocommerce .mhs-shop-category-option { display:flex; flex-direction:row; gap:10px; padding:0; border:0; background:transparent; font-size:14px; color:#69727c; font-weight:400; text-align:left; }
body.woocommerce .mhs-shop-category-option__icon { display:none; }
.mhs-shop-filter-form input[type=checkbox] { appearance:auto; width:17px; height:17px; accent-color:#00ae62; flex-shrink:0; margin:0; }
.mhs-shop-filter-form__choices label { color:#69727c; font-size:14px; gap:10px; }
.mhs-shop-filter-form__prices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mhs-shop-filter-form__prices input { width:100%; min-width:0; background:#fff; border:1px solid #d7dfe4; border-radius:3px; padding:8px; }
.mhs-shop-results { position:relative; }
.mhs-catalog-toolbar { display:flex; align-items:center; min-height:62px; gap:16px; padding:14px; background:var(--catalog-surface); border-radius:5px; margin-bottom:16px; }
.mhs-catalog-toolbar h2 { font-size:18px; font-weight:700; letter-spacing:-.035em; margin:0; text-transform:none; }
.mhs-catalog-toolbar .woocommerce-ordering { margin:0 0 0 auto; float:none; padding:0; }
.mhs-catalog-toolbar .woocommerce-ordering select { border:1px solid #dce3e7; background:#fff; color:#202020; border-radius:3px; padding:8px 28px 8px 10px; max-width:230px; font-size:13px; }
.mhs-catalog-toolbar .mhs-shop-filter-toggle { display:none; }
.mhs-shop-results > .woocommerce-result-count { font-size:13px; color:#69727c; margin:0 0 12px; }
.mhs-shop-view-controls { display:none; }
body.woocommerce .mhs-shop-catalog ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; }
body.woocommerce .mhs-shop-catalog ul.products::before,body.woocommerce .mhs-shop-catalog ul.products::after { display:none; }
body.woocommerce .mhs-shop-catalog ul.products li.product { float:none; width:auto; min-width:0; margin:0; padding:0 0 14px; border:1px solid #e5ebee; border-radius:5px; box-shadow:none; background:white; display:flex; flex-direction:column; overflow:hidden; text-align:left; }
body.woocommerce .mhs-shop-catalog ul.products li.product .woocommerce-LoopProduct-link { display:flex; flex-direction:column; flex:1; }
body.woocommerce .mhs-shop-catalog ul.products li.product img { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; margin:0 0 14px; border-radius:3px; }
body.woocommerce .mhs-shop-catalog ul.products li.product .woocommerce-loop-product__title { padding:0 12px; margin:0 0 16px; min-height:0; color:#111; font-size:16px; font-weight:700; line-height:1.35; letter-spacing:-.035em; text-align:left; }
body.woocommerce .mhs-shop-catalog ul.products li.product .price { padding:0 12px; margin:0 0 12px; color:#00a85b; font-size:19px; font-weight:700; text-align:left; }
body.woocommerce .mhs-shop-catalog ul.products li.product .mhs-product-card__excerpt,
body.woocommerce .mhs-shop-catalog ul.products li.product .mhs-loop-excerpt { padding:0 12px; margin:0 0 18px; font-size:13px; color:#70777d; line-height:1.6; }
body.woocommerce .mhs-shop-catalog ul.products li.product > .button { width:calc(100% - 24px); margin:14px 12px 0; padding:12px 10px; min-height:44px; border-radius:3px; background:#00ae62; font-size:13px; text-transform:none; color:white; font-weight:650; }
body.woocommerce .mhs-shop-catalog ul.products li.product .mhs-wishlist-toggle { border:0; background:#ffffffd9; top:10px; right:10px; }
.mhs-shop-header { margin:0; padding:30px 4%; }

/* Quote configurators: a single continuous, numbered path with a live preview. */
.mhs-catalog-config--continuous { width:100%; max-width:1440px; padding:20px 4% 30px; font-size:14px; --catalog-bar:#edf1f2; --catalog-ink:#101313; --catalog-green:#00ae62; --catalog-border:#dce3e7; }
.mhs-catalog-config--continuous .mhs-catalog-config__layout { grid-template-columns:minmax(230px,32%) minmax(0,1fr); gap:24px; background:linear-gradient(90deg,#f5f9fa 0 33%,white 33%); }
.mhs-catalog-config--continuous .mhs-catalog-config__preview { background:#f5f9fa; border-radius:3px; }
.mhs-catalog-config--continuous .mhs-catalog-config__bar { color:#111; padding:12px 16px; }
.mhs-catalog-config--continuous .mhs-catalog-config__bar h2 { font-weight:750; font-size:20px; letter-spacing:-.035em; }
.mhs-catalog-config--continuous .mhs-catalog-config__summary summary { color:#111; background:transparent; font-size:14px; }
.mhs-catalog-config--continuous .mhs-catalog-config__summary dl { padding:12px 16px; border-block:1px solid #dce3e7; margin:8px 16px; }
.mhs-catalog-config--continuous .mhs-catalog-config__summary dl > div { padding:4px 0; border:0; gap:8px; font-size:13px; }
.mhs-catalog-config--continuous .mhs-catalog-config__summary dd button::after { display:none; }
.mhs-catalog-config--continuous .mhs-catalog-config__quote strong { color:#111; font-size:24px; font-weight:750; letter-spacing:-.035em; }
.mhs-catalog-config--continuous .mhs-catalog-config__form { counter-reset:config-step; padding-left:30px; }
.mhs-catalog-config--continuous .mhs-catalog-config__form fieldset:not([hidden]) { counter-increment:config-step; margin-bottom:24px; }
.mhs-catalog-config--continuous .mhs-catalog-config__form legend { position:relative; color:#111; background:transparent; font-size:21px; font-weight:750; padding:0; margin-bottom:12px; border:0; letter-spacing:-.04em; }
.mhs-catalog-config--continuous .mhs-catalog-config__form legend::before { content:counter(config-step); position:absolute; right:calc(100% + 12px); top:0; display:grid; place-items:center; width:28px; height:28px; color:white; background:#00ae62; border-radius:50%; font-size:16px; font-weight:600; letter-spacing:0; }
.mhs-catalog-config--continuous .mhs-catalog-config__info-toggle { color:#66737a; font-size:12px; }
.mhs-catalog-config--continuous .mhs-catalog-config__info-toggle > span { color:#66737a; border:1px solid #ccd5d7; }
.mhs-catalog-config--continuous .mhs-catalog-config__choices--materials,
.mhs-catalog-config--continuous .mhs-catalog-config__choices--profiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mhs-catalog-config--continuous .mhs-catalog-config__choice { border-color:#dce3e7; border-radius:2px; }
.mhs-catalog-config--continuous .mhs-catalog-config__choice:has(:checked) { border-color:#00ae62; box-shadow:inset 0 0 0 1px #00ae62; }
.mhs-catalog-config--continuous .mhs-catalog-config__selected { width:22px; height:22px; top:8px; right:8px; border-radius:50%; }
.mhs-catalog-config--continuous .mhs-catalog-config__selected svg { width:15px; height:15px; }
.mhs-catalog-config--continuous .mhs-catalog-config__choice-image img { height:120px; }
.mhs-catalog-config--continuous .mhs-catalog-config__choices--materials .mhs-catalog-config__choice-image img { height:100px; }
/* The first two visual decisions in the mosquito and shutter flows share the window card scale. */
.mhs-catalog-config--continuous[data-family="zanzariere"] [data-catalog-group="system"] .mhs-catalog-config__choice-image img,
.mhs-catalog-config--continuous[data-family="persiane"] [data-catalog-group="system"] .mhs-catalog-config__choice-image img,
.mhs-catalog-config--continuous[data-family="persiane"] [data-catalog-group="material"] .mhs-catalog-config__choice-image img { height:180px; object-fit:contain; }
.mhs-catalog-config--continuous[data-family="persiane"] [data-catalog-group="material"] .mhs-catalog-config__choices,
.mhs-catalog-config--continuous[data-family="persiane"] [data-catalog-group="system"] .mhs-catalog-config__choices,
.mhs-catalog-config--continuous[data-family="zanzariere"] [data-catalog-group="system"] .mhs-catalog-config__choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:760px){
 .mhs-catalog-config--continuous[data-family="zanzariere"] [data-catalog-group="system"] .mhs-catalog-config__choice-image img,
 .mhs-catalog-config--continuous[data-family="persiane"] [data-catalog-group="system"] .mhs-catalog-config__choice-image img,
 .mhs-catalog-config--continuous[data-family="persiane"] [data-catalog-group="material"] .mhs-catalog-config__choice-image img { height:130px; }
 .mhs-catalog-config--continuous[data-family="persiane"] [data-catalog-group="material"] .mhs-catalog-config__choices,
 .mhs-catalog-config--continuous[data-family="persiane"] [data-catalog-group="system"] .mhs-catalog-config__choices,
 .mhs-catalog-config--continuous[data-family="zanzariere"] [data-catalog-group="system"] .mhs-catalog-config__choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.mhs-catalog-config--continuous .mhs-catalog-config__choice.has-image .mhs-catalog-config__choice-name { min-height:36px; padding:8px; font-size:14px; background:white; }
.mhs-catalog-config--continuous .mhs-catalog-config__features > span { font-size:14px; padding:10px 0; }
.mhs-catalog-config--continuous .mhs-catalog-config__choices--diagrams { grid-template-columns:repeat(4,minmax(0,1fr)); }
.mhs-catalog-config--continuous .mhs-catalog-config__choices--diagrams .mhs-catalog-config__choice-name { font-size:12px; text-align:center; padding:8px; }
.mhs-catalog-config--continuous .mhs-catalog-config__choices--swatches .mhs-catalog-config__choice-image img { height:auto; }
.mhs-catalog-config--continuous .mhs-catalog-config__choices--swatches .mhs-catalog-config__choice-name { font-size:12px; }
.mhs-catalog-config--continuous .mhs-catalog-config__form input[type=number],
.mhs-catalog-config--continuous .mhs-catalog-config__form textarea { border-color:#d5dde3; padding:10px 12px; font-size:14px; min-height:42px; }
.mhs-catalog-config--continuous .mhs-catalog-config__dimensions label,
.mhs-catalog-config--continuous .mhs-catalog-config__notes { font-size:14px; gap:6px; }
.mhs-catalog-config--continuous .mhs-catalog-config__info { background:#f5f8f9; font-size:12px; padding:12px; }
.mhs-catalog-config--continuous .mhs-catalog-config__contact-note { display:none; }
.mhs-catalog-config--continuous .mhs-catalog-config__actions { display:grid; grid-template-columns:1fr 1fr; }
.mhs-catalog-config--continuous .mhs-catalog-config__actions .button { font-size:14px; font-weight:600; border-radius:2px; padding:14px 10px; }
.mhs-catalog-config--continuous .mhs-catalog-config__actions .mhs-catalog-download { background:white; color:#111; }

/* Standard product: native gallery and variation forms keep their WooCommerce events. */
body.single-product .mhs-standard-product { max-width:1440px; margin:0 auto; padding:26px 3.2%; }
body.single-product .mhs-standard-product__purchase { grid-template-columns:minmax(0,1.08fr) minmax(0,.94fr); gap:38px; }
body.single-product .mhs-standard-product .product_title { color:#111; font-size:32px; line-height:1.18; font-weight:750; letter-spacing:-.045em; margin:0 0 12px; }
body.single-product .mhs-product-price-summary { padding:0; margin:0 0 18px; border:0; background:transparent; }
body.single-product .mhs-product-price-summary > span { display:none; }
body.single-product .mhs-product-price-summary strong { font-size:30px; }
body.single-product .mhs-product-buy-box { background:#f4f8f9; border:0; border-radius:5px; }
body.single-product .mhs-product-buy-box__cart { padding:16px; }
body.single-product .mhs-door-product-options { padding:0; margin:0 0 18px; border:0; background:transparent; }
body.single-product .mhs-door-product-options h2 { margin:0 0 18px; font-size:20px; text-transform:none; }
body.single-product .mhs-door-product-options__grid { gap:16px; }
body.single-product .mhs-door-product-options__group { border:0; padding:0; }
body.single-product .mhs-door-product-options__group legend { font-size:14px; color:#111; text-transform:none; padding:0; margin-bottom:8px; }
body.single-product .mhs-door-choice { border-radius:3px; background:white; }
body.single-product .mhs-door-choice:has(:checked) { border-color:#00ae62; background:white; color:#00884b; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs { gap:12px; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs li { width:calc((100% - 36px)/4); }
body.single-product .woocommerce-tabs { margin-top:28px; border:1px solid #e7edef; border-radius:5px; overflow:hidden; }
body.single-product .woocommerce-tabs ul.tabs { background:#f4f8f9; padding:0 20px!important; margin:0!important; border:0; }
body.single-product .woocommerce-tabs .panel { padding:24px; margin:0; color:#6b737b; font-size:14px; }
body.single-product .woocommerce-tabs h2 { font-size:20px; color:#111; letter-spacing:-.025em; }
.mhs-product-selection { grid-column:1/-1; background:#e5f2ee; padding:14px; margin-bottom:14px; border-radius:4px; }
.mhs-product-selection strong,.mhs-product-selection span { display:block; font-size:14px; }
.mhs-product-selection span { margin-top:6px; color:#59636a; }

@media(max-width:1000px) {
 body.woocommerce .mhs-shop-catalog.is-filters-open { grid-template-columns:210px minmax(0,1fr); gap:16px; }
 body.woocommerce .mhs-shop-catalog ul.products { gap:12px; }
 .mhs-catalog-toolbar { flex-wrap:wrap; }
 .mhs-catalog-toolbar .woocommerce-ordering { margin-left:0; }
 .mhs-catalog-support > div { gap:18px; }
 .mhs-catalog-support p { padding-left:18px; }
 .mhs-catalog-config--continuous .mhs-catalog-config__layout { grid-template-columns:minmax(210px,31%) minmax(0,1fr); gap:12px; }
 .mhs-catalog-config--continuous .mhs-catalog-config__form { padding-left:28px; }
 body.single-product .mhs-standard-product__purchase { gap:24px; }
}
@media(max-width:760px) {
 .mhs-family-tabs { gap:0; justify-content:space-between; padding-inline:12px; }
 .mhs-family-tabs a { padding:12px 8px; gap:6px; font-size:12px; }
 .mhs-family-tabs a svg { width:22px; height:22px; }
 body.woocommerce .mhs-shop-catalog,body.woocommerce .mhs-shop-catalog.is-filters-open { display:flex; flex-direction:column; padding:0 16px; }
 body.woocommerce .mhs-shop-catalog .mhs-shop-filters { display:none; width:100%; }
 body.woocommerce .mhs-shop-catalog.is-filters-open .mhs-shop-filters { display:block; }
 .mhs-shop-results { width:100%; }
 .mhs-catalog-toolbar { flex-wrap:wrap; }
 .mhs-catalog-toolbar h2 { font-size:18px; flex:1; }
 .mhs-catalog-toolbar .mhs-shop-filter-toggle { display:inline-flex; margin:0; padding:8px 14px; }
 .mhs-catalog-toolbar .woocommerce-ordering { flex-basis:100%; }
 body.woocommerce .mhs-shop-catalog ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 body.woocommerce .mhs-shop-catalog ul.products li.product .woocommerce-loop-product__title { font-size:14px; padding-inline:8px; }
 body.woocommerce .mhs-shop-catalog ul.products li.product .price { font-size:16px; padding-inline:8px; }
 body.woocommerce .mhs-shop-catalog ul.products li.product > .button { font-size:12px; padding:10px 6px; }
 .mhs-catalog-config--continuous { padding:18px 16px; }
 .mhs-catalog-config--continuous .mhs-catalog-config__layout { display:flex; flex-direction:column; background:none; gap:26px; }
 .mhs-catalog-config--continuous .mhs-catalog-config__preview { position:static; max-height:none; width:100%; overflow:visible; }
 .mhs-catalog-config--continuous .mhs-catalog-config__drawing { height:260px; }
 .mhs-catalog-config--continuous .mhs-catalog-config__form { width:100%; padding-left:30px; }
 .mhs-catalog-config--continuous .mhs-catalog-config__form legend { font-size:19px; }
 .mhs-catalog-config--continuous .mhs-catalog-config__choices--diagrams { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .mhs-catalog-config--continuous .mhs-catalog-config__choice-image img { height:95px; }
 .mhs-catalog-config--continuous .mhs-catalog-config__features { padding:6px 10px 12px; }
 .mhs-catalog-config--continuous .mhs-catalog-config__features > span { font-size:12px; }
 .mhs-catalog-config--continuous .mhs-catalog-config__dimensions { gap:12px; }
 .mhs-catalog-config--continuous .mhs-catalog-config__actions { grid-template-columns:1fr; }
 .mhs-catalog-support > div { flex-wrap:wrap; padding:22px 16px; gap:14px; }
 .mhs-catalog-support > div > svg { width:34px; height:34px; }
 .mhs-catalog-support p { flex:1; }
 .mhs-catalog-support strong { font-size:17px; }
 .mhs-catalog-support a { width:100%; }
 body.single-product .mhs-standard-product { padding:22px 16px; }
 body.single-product .mhs-standard-product__purchase { grid-template-columns:minmax(0,1fr); }
 body.single-product .mhs-standard-product .product_title { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) { .mhs-shop-catalog { transition:none!important; } }
/* Match the mockup's compact filter controls, overriding the former category tiles. */
body.woocommerce .mhs-shop-category-options { display:grid; grid-template-columns:1fr; overflow:visible; border:0; padding:16px 0 0; gap:12px; }
body.woocommerce .mhs-shop-category-option { display:flex!important; min-height:24px; flex:auto; justify-content:flex-start; place-items:normal; }
body.woocommerce .mhs-shop-category-option input { position:static; opacity:1; pointer-events:auto; }
body.woocommerce .mhs-shop-filter-form__group details { border:0; }
body.woocommerce .mhs-shop-filter-form__group summary { padding:0; font-size:15px; font-weight:650; }
body.woocommerce .mhs-shop-filter-form__group details[open] summary b { transform:none; }
body.woocommerce .mhs-shop-catalog ul.products li.product .mhs-wishlist-toggle--loop { position:absolute; display:grid; place-items:center; width:38px; height:38px; padding:8px; border-radius:50%; margin:0; }
body.woocommerce .mhs-shop-catalog .mhs-wishlist-toggle--loop > span:not(.mhs-wishlist-tooltip) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body.woocommerce .mhs-shop-catalog ul.products li.product .onsale { background:#00ae62; color:#fff; border-radius:3px; padding:5px 9px; min-height:0; line-height:1.4; font-size:12px; left:8px; top:8px; right:auto; }
body.woocommerce .mhs-shop-catalog ul.products li.product ins { text-decoration:none; }
.mhs-technical-requests { margin:0 0 24px; padding:16px; background:#f4f8f9; border:1px solid #e1e7ea; border-radius:3px; }
.mhs-technical-requests summary { font-weight:650; font-size:15px; cursor:pointer; }
.mhs-technical-requests p { font-size:12px; color:#69737b; margin:12px 0; }
.mhs-technical-requests > div { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mhs-technical-requests label { display:grid; gap:6px; font-size:13px; }
.mhs-technical-requests input { width:100%; min-height:42px; padding:10px; border:1px solid #d5dde3; background:white; border-radius:3px; font:inherit; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs li { flex:0 0 calc((100% - 36px)/4); width:calc((100% - 36px)/4)!important; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
body.woocommerce .site-footer__main { max-width:1600px; margin:auto; padding:26px 4.8% 20px; }
body.woocommerce .site-footer__columns { grid-template-columns:1fr .8fr 1.2fr .8fr; gap:28px; }
body.woocommerce .site-footer__logo-link img { width:120px; max-height:105px; filter:none; }
body.woocommerce .site-footer__logo-column > p { font-size:11px; line-height:1.4; margin:8px 0; }
body.woocommerce .site-footer .footer-navigation__list a { padding:1px 0; }
body.woocommerce .site-footer__social { gap:8px; }
body.woocommerce .site-footer__social a { width:28px; height:28px; border-color:#bbb; }
body.woocommerce .site-footer__social svg { width:17px; height:17px; }
body.woocommerce .site-footer .mhs-payment-logo { width:64px; height:32px; filter:none; }
body.woocommerce .site-footer__payments { margin-top:-30px; margin-left:23%; margin-right:19%; }
body.woocommerce .site-footer .mhs-payment-methods { padding-top:0; }
body.woocommerce .site-footer .mhs-payment-methods__brands { gap:8px; justify-content:flex-start; }
body.woocommerce .site-footer__legal { margin-top:20px; border-top:1px solid #ffffff30; }
@media(max-width:760px) {
 .mhs-technical-requests > div { grid-template-columns:1fr; }
 body.woocommerce .site-footer__columns { grid-template-columns:1fr 1fr; }
 body.woocommerce .site-footer__logo-column { grid-column:auto; }
 body.woocommerce .site-footer__payments { margin:24px 0 0; }
 body.woocommerce .site-footer__main { padding:26px 20px; }
}
/* Refinement against the 1003px catalogue and product references. */
body.woocommerce .mhs-shop-catalog .mhs-loop-product-excerpt { padding:0 12px; font-size:13px; line-height:1.6; }
body.woocommerce .mhs-shop-filters h2,body.woocommerce .mhs-catalog-toolbar h2 { color:#111; }
body.single-product .woocommerce-breadcrumb { padding:18px 3.2% 0; max-width:1440px; margin:auto; font-size:13px; }
body.single-product .mhs-standard-product .mhs-product-price-summary { border:0; padding:0; }
body.single-product .mhs-standard-product .mhs-product-buy-box__cart .single_add_to_cart_button { background:#00ae62; text-transform:none; font-size:14px; border-radius:3px; }
body.single-product .mhs-door-product-options__group > div { display:flex; flex-wrap:wrap; gap:10px; }
body.single-product .mhs-door-product-options__group--finish .mhs-door-choice { width:auto; flex:1 1 auto; padding:8px; min-height:40px; }
body.single-product .mhs-door-product-options__group--finish .mhs-door-choice i { display:block; flex-shrink:0; width:30px; height:30px; border-radius:50%; background-color:var(--mhs-door-finish-base); background-image:var(--mhs-door-finish-texture-image,var(--mhs-door-finish-texture)); background-size:cover; border:1px solid #bbc4c8; }
body.single-product .mhs-door-product-options__group--finish .mhs-door-choice > input { position:absolute; opacity:0; }
body.single-product .mhs-door-product-options__group--finish .mhs-door-choice:focus-within { outline:2px solid #00ae62; outline-offset:2px; }
body.single-product .mhs-door-choice > span { font-size:13px; text-transform:none; }
body.single-product .mhs-door-choice b,body.single-product .mhs-door-choice b * { display:inline; font-size:12px; white-space:nowrap; }
body.single-product .woocommerce-tabs ul.tabs li { background:transparent!important; border:0!important; border-radius:0!important; padding:0!important; margin:0 24px 0 0!important; }
body.single-product .woocommerce-tabs ul.tabs li::before,body.single-product .woocommerce-tabs ul.tabs li::after { display:none; }
body.single-product .woocommerce-tabs ul.tabs li a { padding:16px 0!important; text-transform:none; font-size:14px; font-weight:600; color:#59616a!important; }
body.single-product .woocommerce-tabs ul.tabs li.active a { color:#009852!important; border-bottom:3px solid #00ae62; }
body.single-product .mhs-standard-product .woocommerce-tabs .woocommerce-Tabs-panel { padding:24px!important; margin:0; border:0; }
body.single-product .mhs-standard-product .woocommerce-tabs h2 { text-transform:none; font-size:18px; margin-bottom:16px; }
.mhs-product-tab-content--description:has(.mhs-product-description-specs) { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.mhs-product-description-specs { border-left:1px solid #e1e7eb; padding-left:30px; }
.mhs-product-description-specs p { margin:0; padding:7px 0; border-bottom:1px solid #e1e7eb; }
.mhs-product-complements { margin:20px 0 0; }
.mhs-product-complements h2 { text-transform:none; color:#111; font-size:23px; margin:0 0 16px; letter-spacing:-.035em; }
.mhs-product-complements > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.mhs-product-complements a { display:flex; min-width:0; border:1px solid #e0e6ea; border-radius:4px; overflow:hidden; text-decoration:none; }
.mhs-product-complements img { width:45%; object-fit:cover; }
.mhs-product-complements a > span { display:flex; flex-direction:column; gap:12px; padding:16px; }
.mhs-product-complements strong { color:#111; font-size:15px; }
.mhs-product-complements small { color:#747d86; font-size:12px; line-height:1.6; }
.mhs-product-complements b { color:#00a75b; margin-top:auto; font-size:14px; }
.mhs-catalog-config--continuous .mhs-catalog-config__preview { max-height:none; overflow:visible; }
.mhs-catalog-config--continuous [data-catalog-group="opening_request"] { counter-increment:none!important; }
.mhs-catalog-config--continuous [data-catalog-group="opening_request"] legend { font-size:14px; font-weight:500; }
.mhs-catalog-config--continuous [data-catalog-group="opening_request"] legend::before { display:none; }
.mhs-catalog-config--continuous [data-catalog-group="opening_request"] .mhs-catalog-config__choices { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.mhs-catalog-config--continuous [data-catalog-group="opening_request"] .mhs-catalog-config__choice { min-height:44px; }
.mhs-catalog-config--continuous [data-catalog-group="opening_request"] .mhs-catalog-config__choice-name { font-size:12px; padding:10px 6px 10px 30px; }
.mhs-catalog-config--continuous [data-catalog-group="opening_request"] .mhs-catalog-config__choice > input { top:12px; left:8px; width:16px; height:16px; }
.mhs-catalog-config--continuous [data-catalog-group="opening_request"] .mhs-catalog-config__selected { display:none; }
@media(max-width:760px) {
 .mhs-product-tab-content--description:has(.mhs-product-description-specs) { grid-template-columns:1fr; gap:20px; }
 .mhs-product-description-specs { border-left:0; padding-left:0; }
 .mhs-product-complements > div { grid-template-columns:1fr; }
 .mhs-product-complements img { height:140px; }
 .mhs-catalog-config--continuous [data-catalog-group="opening_request"] .mhs-catalog-config__choices { grid-template-columns:1fr; }
}
body.woocommerce .mhs-shop-catalog .mhs-shop-product-excerpt { padding:0 12px; line-height:1.65; font-size:13px; color:#747b84; }
body.woocommerce .site-footer__logo-column > p { max-width:180px; margin:8px auto; }
body.single-product .woocommerce-tabs ul.tabs::before { border:0; }
/* Compact option cards keep the complete configuration within a readable flow. */
.mhs-catalog-config--continuous .mhs-catalog-config__form fieldset:not([hidden]) { margin-bottom:20px; }
.mhs-catalog-config--continuous .mhs-catalog-config__form legend { font-size:20px; margin-bottom:8px; }
.mhs-catalog-config--continuous .mhs-catalog-config__choice-image { padding:5px; }
.mhs-catalog-config--continuous .mhs-catalog-config__choices--materials .mhs-catalog-config__choice-image img { height:76px; }
.mhs-catalog-config--continuous .mhs-catalog-config__choices--profiles .mhs-catalog-config__choice-image img { height:88px; }
.mhs-catalog-config--continuous .mhs-catalog-config__brand { padding:8px 16px 0; }
.mhs-catalog-config--continuous .mhs-catalog-config__brand img { height:32px; }
.mhs-catalog-config--continuous .mhs-catalog-config__features { padding:4px 14px 14px; }
.mhs-catalog-config--continuous .mhs-catalog-config__features > span { padding:7px 0; font-size:13px; }
.mhs-catalog-config--continuous .mhs-catalog-config__card-footer { display:none; }
.mhs-catalog-config--continuous .mhs-catalog-config__choices--diagrams .mhs-catalog-config__choice { min-height:98px; }
.mhs-catalog-config--continuous .mhs-catalog-config__choices--diagrams .mhs-catalog-config__choice > svg { height:62px; margin:4px auto 0; }
.mhs-catalog-config--continuous .mhs-catalog-config__choices--diagrams .mhs-catalog-config__choice-name { padding:6px; font-size:11px; }
.mhs-catalog-config--continuous .mhs-catalog-opening-note { color:#69737b; font-size:11px; line-height:1.4; margin:-4px 0 8px; }
.mhs-catalog-config--continuous [data-catalog-group=opening_request] .mhs-catalog-config__choice-name { padding-block:8px; }
.mhs-catalog-config--continuous .mhs-choice-carousel [data-choice-track] > label { flex-basis:102px; min-height:100px; }
.mhs-catalog-config--continuous .mhs-choice-carousel .mhs-catalog-config__choice-image,
.mhs-catalog-config--continuous .mhs-choice-carousel .mhs-catalog-config__choice-image img { height:56px; flex-basis:56px; }
.mhs-catalog-config--continuous .mhs-choice-carousel .mhs-catalog-config__choice-name { min-height:36px; padding:6px; font-size:11px; }
.mhs-catalog-config--continuous .mhs-choice-carousel .mhs-catalog-config__choice-reference { min-height:0; font-size:9px; padding:3px; }
.mhs-catalog-config--continuous .mhs-choice-carousel .mhs-catalog-config__choice:not(.has-image) .mhs-catalog-config__choice-name { padding:36px 8px 8px; }
.mhs-catalog-config--continuous .mhs-choice-carousel__controls { gap:8px; margin-bottom:6px; font-size:11px; }
.mhs-catalog-config--continuous .mhs-choice-carousel__controls button { width:30px; height:30px; padding:5px; }
.mhs-catalog-config [data-catalog-group="screen_finish"] .mhs-catalog-config__choice > input { opacity:0; }
.mhs-catalog-config [data-catalog-group="screen_finish"] .mhs-shutter-swatch { flex:0 0 auto; width:48px; height:48px; margin:12px auto 0; border:1px solid #9ba9a2; box-shadow:none; }
.mhs-catalog-config [data-catalog-group="screen_finish"] .mhs-choice-carousel .mhs-catalog-config__choice:not(.has-image) .mhs-catalog-config__choice-name { min-height:54px; padding:8px 7px; font-size:11px; line-height:1.35; text-align:center; }
.mhs-mosquito-chart-links { margin:0 0 14px; padding:10px 14px; border-left:3px solid var(--catalog-green); background:#f2f7f4; color:#36564b; font-size:13px; }
.mhs-mosquito-chart-links a { color:#096b47; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.mhs-mosquito-chart-links a:hover { color:#004e32; }
.mhs-catalog-config--continuous .mhs-catalog-config__dimensions { margin-bottom:10px; }
.mhs-catalog-config--continuous .mhs-catalog-config__info { margin:0 0 10px; padding:9px 12px; font-size:11px; }
.mhs-catalog-config--continuous .mhs-catalog-config__notes > span { font-size:12px; }
.mhs-catalog-config--continuous .mhs-catalog-config__notes textarea { height:86px; }
.mhs-catalog-config--continuous .mhs-catalog-config__actions { margin-top:18px; }
body.single-product div.product.mhs-standard-product .mhs-product-buy-box__cart .single_add_to_cart_button { background:#00ae62; }
body.single-product div.product.mhs-standard-product .mhs-product-price-summary { border:0; }
body.single-product div.product.mhs-standard-product .mhs-product-short-description { margin:0 0 14px; padding:0; border:0; font-size:15px; }
body.woocommerce .mhs-shop-catalog ul.products li.product .woocommerce-loop-product__title { margin-bottom:10px; }
body.woocommerce .mhs-shop-catalog .mhs-shop-product-excerpt { margin:0 0 12px; }
body.woocommerce .mhs-shop-filter-form__actions button { border:1px solid #00ae62; background:#00ae62; color:white; padding:9px 12px; text-decoration:none; border-radius:3px; }
/* WooCommerce's variable form contains its own purchase wrapper. */
body.single-product div.product.mhs-standard-product .mhs-product-buy-box__cart form.variations_form { display:block; padding:0; }
body.single-product div.product.mhs-standard-product form.variations_form table.variations { width:100%; margin:0 0 18px; table-layout:fixed; }
body.single-product div.product.mhs-standard-product form.variations_form table.variations th { width:30%; padding:8px 12px 8px 0; font-size:14px; text-align:left; }
body.single-product div.product.mhs-standard-product form.variations_form table.variations td { padding:8px 0; }
body.single-product div.product.mhs-standard-product form.variations_form table.variations select { min-width:0; width:100%; min-height:42px; border:1px solid #d8e0e4; border-radius:3px; background:white; font-size:14px; padding:8px; }
body.single-product div.product.mhs-standard-product .woocommerce-variation-add-to-cart { display:grid; grid-template-columns:64px minmax(0,1fr) 44px; align-items:start; gap:10px; }
body.single-product div.product.mhs-standard-product .woocommerce-variation-add-to-cart > .quantity { grid-column:1; grid-row:1; margin:0; }
body.single-product div.product.mhs-standard-product .woocommerce-variation-add-to-cart > .single_add_to_cart_button { grid-column:2; grid-row:1; min-width:0; width:100%; }
body.single-product div.product.mhs-standard-product .woocommerce-variation-add-to-cart > .mhs-wishlist-toggle { grid-column:3; grid-row:1; width:44px; }
body.single-product div.product.mhs-standard-product .woocommerce-variation-add-to-cart > .mhs-purchase-details { grid-column:1/-1; grid-row:auto; }
body.single-product div.product.mhs-standard-product .single_variation { font-size:14px; }
@media(max-width:760px) {
 body.single-product div.product.mhs-standard-product form.cart table.variations,
 body.single-product div.product.mhs-standard-product form.cart table.variations tbody { display:block; width:100%; min-width:0; }
 body.single-product div.product.mhs-standard-product form.cart table.variations tr { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; margin-bottom:12px; }
 body.single-product div.product.mhs-standard-product form.cart table.variations th,
 body.single-product div.product.mhs-standard-product form.cart table.variations td { display:block; width:100%; padding:0; }
 body.single-product div.product.mhs-standard-product form.cart table.variations select { width:100%; min-width:0; max-width:100%; font-size:14px; }
}
