.catalogue-dock-slot{position:relative;margin:0;min-height:0;z-index:9}
.catalogue-dock[hidden]{display:none!important}
.catalogue-dock{display:flex;align-items:center;gap:14px;position:relative;min-height:48px;padding:6px 12px;border:1px solid #bdd3eb;border-radius:9px;background:#fff;color:#12345b;font:500 14px/1.4 var(--body,Arial,sans-serif);box-sizing:border-box}
.catalogue-dock.is-floating{position:fixed;top:var(--dock-top,0);left:var(--dock-left,12px);width:var(--dock-width,calc(100% - 24px));border-radius:0 0 10px 10px;box-shadow:0 6px 18px #102e5620}
.catalogue-dock button,.catalogue-dock input{font:inherit;box-sizing:border-box}
.catalogue-dock button,.catalogue-price-menu>summary{min-height:40px;border:1px solid #b6ccdf;border-radius:7px;padding:8px 12px;color:#12345b;background:#f2f7fc;cursor:pointer;white-space:nowrap}
.catalogue-dock button:focus-visible,.catalogue-dock input:focus-visible,.catalogue-price-menu>summary:focus-visible{outline:2px solid #087ade;outline-offset:2px}
.catalogue-dock-search{display:none;flex:1;min-width:0;gap:6px;margin:0}
.catalogue-dock.is-floating .catalogue-dock-search{display:flex}
.catalogue-dock-search input{width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid #b6ccdf;border-radius:7px;font-size:16px;background:#fff;color:#12345b}
.catalogue-dock .catalogue-dock-search button,.catalogue-price-form button{background:#0872c8;color:#fff;border-color:#0872c8}
.catalogue-price-menu{position:static;border:0;background:none;margin:0;padding:0;flex:none}
.catalogue-price-menu>summary{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;list-style:none}
.catalogue-price-menu>summary::-webkit-details-marker{display:none}
.catalogue-price-menu>summary::after{content:'⌄';font-size:18px;margin-left:6px;line-height:1}
.catalogue-price-menu[open]>summary::after{transform:rotate(180deg)}
.catalogue-price-panel{position:absolute;top:calc(100% + 6px);left:0;width:min(420px,100%);max-height:70vh;overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:20px;border:1px solid #c7d7e5;border-radius:12px;background:#fff;box-shadow:0 8px 30px #12345b24;z-index:1}
.is-floating .catalogue-price-panel{left:auto;right:0}
.catalogue-price-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.catalogue-price-heading strong{font-size:18px;color:#183347}
.catalogue-price-heading button{border:0;background:transparent;font-size:22px;padding:2px 10px;min-width:40px}
.catalogue-price-form{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 0 20px}
.catalogue-price-form label{min-width:0}
.catalogue-price-form input{width:100%;min-width:0;min-height:44px;padding:9px;border:1px solid #c2d2df;border-radius:8px;font-size:16px;background:#fff;color:#183347}
.catalogue-price-form button{min-height:44px;border-radius:22px}
.catalogue-price-form button:disabled{background:#e0e7ed;border-color:#e0e7ed;color:#566777;cursor:default}
.catalogue-price-bands{display:grid;gap:8px}
.catalogue-price-bands label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;color:#183347}
.catalogue-price-bands input{appearance:auto;position:static;width:20px;height:20px;min-width:20px;margin:0;accent-color:#087ade}
.catalogue-price-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}
.catalogue-price-footer small{color:#53677b}
.catalogue-price-footer button{border:0;background:transparent;text-decoration:underline}
#dock-price-error{color:#9b2424;font-size:13px;margin:0 0 12px}
.catalogue-dock-count{margin-left:auto;white-space:nowrap;color:#53677b}
.catalogue-dock .catalogue-dock-all{display:none}
.dock-filter-caption{display:none}
.catalogue-dock-manufacturer,.catalogue-dock-type{display:block;min-width:0;max-width:180px;flex:0 1 180px}
.catalogue-dock-manufacturer select,.catalogue-dock-type select{width:100%;min-height:40px;padding:8px 28px 8px 10px;border:1px solid #b6ccdf;border-radius:7px;background:#f2f7fc;color:#12345b;font:inherit;text-overflow:ellipsis}
.catalogue-dock-manufacturer select:focus-visible,.catalogue-dock-type select:focus-visible{outline:2px solid #087ade;outline-offset:2px}
.catalogue-dock.is-floating .catalogue-dock-all{display:block}
#products,.category-listing>.product-grid{scroll-margin-top:calc(var(--navigation-header-height,0px) + var(--catalogue-dock-height,0px) + 16px)}
@media(max-width:1100px){.catalogue-dock.is-floating .catalogue-dock-count{display:none}}
@media(max-width:760px){
 .catalogue-dock{gap:6px;padding:5px 8px;flex-wrap:wrap}
 .catalogue-dock.is-floating .catalogue-dock-search{flex-basis:100%}
 .catalogue-dock-manufacturer,.catalogue-dock-type{flex:1 1 calc(50% - 6px);max-width:none}
 .catalogue-dock-manufacturer select,.catalogue-dock-type select{min-height:44px;font-size:16px}
 .catalogue-dock button,.catalogue-price-menu>summary{padding:7px 9px;min-height:44px}
 .catalogue-dock.is-floating .catalogue-dock-count{display:none}
 .catalogue-dock-search button{display:none}
 .catalogue-dock-search input{min-height:44px;padding:7px 8px}
 .catalogue-price-panel{padding:14px}
 .catalogue-price-form{gap:6px}
 .catalogue-price-form button{padding:8px 10px}
}

/* Compact phone filters; the main header already supplies model search. */
@media(max-width:760px){
 .catalogue-dock,.catalogue-dock.is-floating{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.82fr) minmax(0,1.15fr) minmax(0,.65fr);gap:4px;padding:5px 6px}
 .catalogue-dock.is-floating .catalogue-dock-search{display:none}
 .catalogue-dock-manufacturer,.catalogue-dock-type{width:100%;max-width:none;min-width:0}
 .catalogue-dock-manufacturer select,.catalogue-dock-type select{height:44px;padding:6px 24px 6px 9px;font-size:16px}
 .catalogue-price-menu>summary{height:44px;box-sizing:border-box;justify-content:space-between;font-size:16px;padding:6px 9px}
}

/* Every filter opens below the full toolbar, including on touch devices. */
.catalogue-dock .has-type-menu{position:static}
.catalogue-dock .has-type-menu select[hidden],.catalogue-type-trigger[hidden],.catalogue-type-options[hidden]{display:none!important}
.catalogue-dock .catalogue-type-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font:inherit;padding:8px 10px;min-height:40px;white-space:normal}
.catalogue-type-trigger::after{content:'⌄';flex:none}
.catalogue-type-trigger[aria-expanded="true"]::after{transform:rotate(180deg)}
.catalogue-type-options{position:absolute;top:calc(100% + 6px);bottom:auto;left:0;width:min(420px,100%);box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid #bdd3eb;border-radius:8px;background:#fff;box-shadow:0 8px 24px #102e5626;z-index:3}
.catalogue-dock .catalogue-type-options button{display:block;width:100%;text-align:left;white-space:normal;overflow-wrap:break-word;padding:8px;min-height:36px;border:0;border-radius:5px;background:transparent;color:#12345b;font:inherit;line-height:1.35}
.catalogue-dock .catalogue-type-options button[aria-selected="true"]{background:#e8f2ff;color:#075ba7;font-weight:700}
.catalogue-dock .catalogue-type-options button:focus-visible{background:#e8f2ff;outline:2px solid #087ade;outline-offset:-2px}

/* Navy catalogue toolbar matching the site's main navigation. */
.catalogue-dock{background:#102e56;border-color:#294c75;color:#fff}
.catalogue-dock-count{color:#e2ecf8}
.catalogue-dock .catalogue-type-trigger,.catalogue-dock-manufacturer select,.catalogue-dock-type select,.catalogue-price-menu>summary{background:#1c426e;border-color:#557597;color:#fff}
.catalogue-dock-manufacturer select option,.catalogue-dock-type select option{background:#fff;color:#12345b}
.catalogue-dock .catalogue-dock-search button{background:#1c426e;border-color:#557597;color:#fff}
.catalogue-dock .catalogue-dock-search button:hover,.catalogue-dock .catalogue-type-trigger:hover,.catalogue-price-menu>summary:hover{background:#285581}
.catalogue-dock-search input{border-color:#557597}
.catalogue-dock :is(button,input,select,summary):focus-visible{outline-color:#8bd2ff}
.catalogue-price-panel{color:#12345b}

.catalogue-dock.has-no-results .catalogue-dock-search{display:flex}
@media(max-width:760px){.catalogue-dock.has-no-results .catalogue-dock-search{grid-column:1/-1;flex-basis:100%}}

/* One phone row; native pickers retain full choices, counts and selected values. */
@media(max-width:760px){
 .catalogue-dock .dock-filter-control{position:relative;align-self:stretch;margin:0}
 .catalogue-dock .dock-filter-caption{display:flex;position:absolute;inset:0 15px 0 6px;align-items:center;pointer-events:none;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;color:#fff}
 .catalogue-dock .dock-filter-control::after{content:'';position:absolute;right:6px;top:18px;width:5px;height:5px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg);pointer-events:none}
 .catalogue-dock .dock-filter-control select{appearance:none;-webkit-appearance:none;display:block;width:100%;height:44px;min-height:44px;padding:0;border-radius:6px;color:transparent;-webkit-text-fill-color:transparent;font-size:16px;cursor:pointer;box-sizing:border-box}
 .catalogue-dock .dock-filter-control select option{color:#12345b;-webkit-text-fill-color:#12345b;background:#fff}
 .catalogue-dock .dock-filter-control[data-active="true"] select{background:#285581;border-color:#8bd2ff}
 .catalogue-dock .dock-filter-control[data-active="true"] .dock-filter-caption{text-decoration:underline;text-decoration-color:#8bd2ff;text-underline-offset:4px;text-decoration-thickness:2px}
 .catalogue-dock .catalogue-price-menu{min-width:0}
 .catalogue-dock .catalogue-price-menu>summary{height:44px;min-height:44px;padding:0 6px;font-size:12px;line-height:1.2;border-radius:6px;gap:2px;justify-content:center}
 .catalogue-dock .catalogue-price-menu>summary::after{font-size:14px;margin-left:0}
 .catalogue-dock .dock-price-indicator{font-size:9px}
 .catalogue-dock .catalogue-dock-count{display:none}
 .catalogue-dock.has-no-results .catalogue-dock-search{grid-column:1/-1}
}
@media(min-width:390px) and (max-width:760px){.catalogue-dock .dock-filter-caption,.catalogue-dock .catalogue-price-menu>summary{font-size:13px}}

/* Both floating phone bars share 24px side insets and a 48px height. */
@media(max-width:760px){
 .catalogue-dock,.catalogue-dock.is-floating{min-height:48px;padding:3px 5px}
 .catalogue-dock.is-floating{left:24px;width:calc(100% - 48px);border-radius:0 0 9px 9px}
 .catalogue-dock .dock-filter-control select,
 .catalogue-dock .catalogue-price-menu>summary{height:40px;min-height:40px}
 .catalogue-dock .dock-filter-control::after{top:16px}
}

/* Five compact controls, with Price last, at every phone width. */
@media(max-width:760px){
 .catalogue-dock .has-type-menu{position:static}
 .catalogue-dock .has-type-menu>.dock-filter-caption,.catalogue-dock .has-type-menu::after{display:none}
 .catalogue-dock .catalogue-type-trigger{height:40px;min-height:40px;gap:2px;padding:0 4px;font-size:0;border-radius:6px;white-space:nowrap}
 .catalogue-dock .catalogue-type-trigger::before{content:attr(data-caption);font-size:clamp(9px,2.55vw,12px);font-weight:600;letter-spacing:-.2px}
 .catalogue-dock .catalogue-type-trigger::after{font-size:12px}
 .catalogue-dock .has-type-menu[data-active="true"]>.catalogue-type-trigger{background:#285581;border-color:#8bd2ff}
 .catalogue-dock .has-type-menu[data-active="true"]>.catalogue-type-trigger::before{text-decoration:underline;text-decoration-color:#8bd2ff;text-underline-offset:4px}
 .catalogue-dock .catalogue-type-options{width:100%;max-width:100%;padding:5px}
 .catalogue-dock .catalogue-type-options button{min-height:44px;padding:10px 12px;font-size:16px}
 .catalogue-dock,.catalogue-dock.is-floating{grid-template-columns:minmax(0,1.18fr) minmax(0,.8fr) minmax(0,1.2fr) minmax(0,.82fr) minmax(0,.64fr);gap:3px}
 .catalogue-dock .dock-filter-caption{font-size:clamp(9px,2.55vw,12px);inset:0 12px 0 4px;letter-spacing:-.2px}
 .catalogue-dock .dock-filter-control::after{right:4px;width:4px;height:4px}
 .catalogue-dock .catalogue-price-menu>summary{padding:0 3px;font-size:clamp(9px,2.55vw,12px)}
}

.hob-type-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:100%;margin:8px 0}
.hob-type-filter select{min-height:44px;max-width:100%}
.hob-type-filter[hidden],#installation-filters[hidden],.catalogue-dock .dock-filter-control[hidden]{display:none!important}

/* Keep search readable before filters can squeeze it into a vertical strip. */
@media(min-width:761px){
 .catalogue-dock{flex-wrap:wrap;align-items:stretch}
 .catalogue-dock-search{flex:1 0 16rem;min-width:min(16rem,100%);align-items:stretch}
 .catalogue-dock-search input{flex:1 1 0;width:0}
 .catalogue-dock .catalogue-dock-search button{flex:0 0 auto;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
 html[data-ge-text-enlarged]:not([data-ge-measuring-text]) .catalogue-dock .catalogue-dock-search button{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
 .catalogue-dock .dock-filter-control{display:flex;align-items:stretch}
 .catalogue-dock .catalogue-price-menu{display:flex;align-items:stretch}
 .catalogue-dock .catalogue-price-menu>summary{flex:1}
 .catalogue-dock .catalogue-type-trigger,.catalogue-dock .catalogue-price-menu>summary{height:100%;box-sizing:border-box}
}
/* Tablet and enlarged laptop reading: search first, aligned filters below. */
@media(min-width:761px) and (max-width:1400px){
 .catalogue-dock,.catalogue-dock.is-floating{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px}
 .catalogue-dock .catalogue-dock-search{grid-column:1/-1;min-width:0;width:100%}
 .catalogue-dock .dock-filter-control{width:100%;max-width:none;min-width:0}
 .catalogue-dock .catalogue-dock-count{display:none}
 .catalogue-dock .catalogue-type-trigger,.catalogue-dock .catalogue-price-menu>summary{min-height:44px}
}

/* The floating toolbar is filters only; use the main catalogue/header search. */
.catalogue-dock.is-floating .catalogue-dock-search{display:none!important}
