/* Product finder, compare checkbox/bar and compare table on template pages. Only layout glue: the controls reuse
   the template's own .services-item, .input-field, .subtitle and .spec-table styles. */
.zb-finder { display: grid; gap: 1.25rem; margin-bottom: 2.5rem; }
.zb-finder fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.zb-finder legend, .zb-finder-q > .subtitle { display: block; margin-bottom: .6rem; }
.zb-finder-q { display: block; max-width: 28rem; }
.zb-finder-range { display: flex; gap: .75rem; max-width: 28rem; }
.zb-finder .input-field { margin-bottom: 0; }
.zb-chip-wrap { flex-wrap: wrap; gap: 8px; }
.zb-finder .services-item { border: 0; cursor: pointer; padding: 10px 18px; }
.zb-finder .services-item[aria-pressed="true"] { background: #111; color: #fff; }
.zb-finder-status { margin: 0; }
.zb-finder-empty { margin: 0 0 2rem; }
.zb-linkbtn { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
.zb-compare-check { display: inline-flex; align-items: center; gap: .3rem; margin-left: .75rem; font-size: .85rem; cursor: pointer; white-space: nowrap; }
.zb-comparebar { position: sticky; bottom: 1rem; z-index: 50; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin: .75rem 0; padding: .75rem 1rem; background: #111; color: #fff; }
.zb-comparebar[hidden] { display: none; }
.zb-comparebar .zb-compare-go { margin-left: auto; color: #fff; }
.zb-cat-table tr.zb-differ > * { background: rgba(0, 0, 0, .05); }
[data-zb-group][hidden], [data-zb-item][hidden] { display: none !important; }
