/* HDsign Hos Birger - filter og sortering. Brudpunkter: panel nedefra under 1024, ind fra venstre fra 1024; sortering er en rullemenu.
   Farver og maal er aflaest fra hosbirger.dk (Elementor-kit 64) og fra mockuppen ui/index.html. */
.hb-scope{
  --hb-navy:#30477B;--hb-blue:#2C75BA;--hb-ink:#111111;--hb-text:#414141;--hb-muted:#5B6472;
  --hb-line:#D9D9D9;--hb-ctl:#94A3B8;--hb-surf:#F8F8F8;--hb-sale:#FCD34D;--hb-sale-bg:#FFF6D6;
  --hb-r:4px;--hb-tap:44px;
  font-family:inherit;font-size:16px;line-height:1.5;color:var(--hb-text);box-sizing:border-box;
}
.hb-scope *,.hb-scope *::before,.hb-scope *::after{box-sizing:border-box}
.hb-scope [hidden]{display:none!important}
.hb-scope h2,.hb-scope p,.hb-scope fieldset,.hb-scope legend{margin:0;padding:0}
.hb-scope fieldset{border:0;min-width:0;background:transparent;margin:0}
.hb-scope button,.hb-scope input,.hb-scope select{font:inherit;color:inherit}
.hb-scope button{cursor:pointer}
.hb-scope :focus-visible{outline:3px solid var(--hb-blue);outline-offset:2px}
.hb-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hb-i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html.hb-lock,html.hb-lock body{overflow:hidden}

/* Knapper */
.hb-scope .hb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--hb-r);border:1px solid var(--hb-navy);background:var(--hb-navy);color:#fff;font-weight:500;text-decoration:none;white-space:nowrap;box-shadow:none;text-transform:none;letter-spacing:0}
.hb-scope .hb-btn:hover{background:var(--hb-ink);border-color:var(--hb-ink);color:#fff}
.hb-scope .hb-btn.hb-sm{min-height:var(--hb-tap);padding:0 14px}
.hb-scope .hb-btn.hb-out{background:#fff;color:var(--hb-ink);border-color:var(--hb-ctl)}
.hb-scope .hb-btn.hb-out:hover{background:var(--hb-surf);border-color:var(--hb-ink);color:var(--hb-ink)}
.hb-scope .hb-lnk{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-height:var(--hb-tap);padding:0 4px;background:none;border:0;color:var(--hb-navy);font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;box-shadow:none}
.hb-scope .hb-xbtn{width:var(--hb-tap);height:var(--hb-tap);display:inline-flex;align-items:center;justify-content:center;background:none;border:0;border-radius:var(--hb-r);color:var(--hb-ink);padding:0}
.hb-scope .hb-xbtn:hover{background:var(--hb-surf)}

/* Vaerktoej, fast linje, aktive valg, antal */
.hb-f{margin:0 0 8px}
.hb-tools{display:flex;gap:12px;position:sticky;top:0;z-index:20;background:#fff;padding:6px 0;margin-bottom:6px;height:60px}
.hb-tools .hb-filtbtn{flex:0 0 auto;min-width:120px}
.hb-sortwrap{position:relative;flex:1 1 0;min-width:0;display:flex}
.hb-sortwrap .hb-sortbtn{flex:1;min-width:0;padding:0 12px;gap:6px;justify-content:space-between}
.hb-sortbtn .hb-sl{flex:1;text-align:left;white-space:nowrap}
.hb-sortbtn .hb-chev{width:16px;height:16px;transition:transform .15s}
.hb-sortbtn[aria-expanded=true] .hb-chev{transform:rotate(180deg)}
.hb-scope .hb-pop{position:absolute;top:calc(100% + 4px);right:0;min-width:230px;margin:0;padding:6px 0;list-style:none;background:#fff;border:1px solid var(--hb-line);border-radius:var(--hb-r);box-shadow:0 8px 24px rgba(20,26,40,.16);z-index:30}
.hb-pop li{margin:0;padding:0;list-style:none}
.hb-pop a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 16px;color:var(--hb-ink);text-decoration:none;white-space:nowrap}
.hb-pop a:hover,.hb-pop a:focus{background:var(--hb-surf);outline:0}
.hb-pop a:focus-visible{outline:3px solid var(--hb-blue);outline-offset:-3px}
.hb-pop a[aria-selected=true]{font-weight:600;color:var(--hb-navy)}
@media(min-width:640px){.hb-tools{max-width:420px}}
@media(max-width:359px){.hb-sortbtn>.hb-i:first-child{display:none}.hb-tools{gap:8px}}

.hb-act{display:flex;align-items:center;gap:8px;height:52px;overflow:hidden;white-space:nowrap}
.hb-fc{display:inline-flex;align-items:center;gap:2px;min-height:44px;border-radius:22px;max-width:100%;padding:0 4px 0 12px;border:1px solid var(--hb-ctl);background:#fff;color:var(--hb-ink);font-weight:500}
.hb-fc a,.hb-fc button{width:var(--hb-tap);height:var(--hb-tap);margin-right:-4px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;border-radius:22px;color:inherit;padding:0;text-decoration:none}
.hb-fc.hb-fmore{padding-right:12px;background:var(--hb-surf);cursor:pointer}

.hb-cnt{display:flex;align-items:center;justify-content:space-between;gap:12px;height:48px}
.hb-cnt .hb-rc{font-weight:500;color:var(--hb-ink)}

.hb-empty{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px 16px;border:1px dashed var(--hb-ctl);border-radius:var(--hb-r);background:var(--hb-surf)}
.hb-empty h2{font-family:inherit;font-weight:600;font-size:18px;line-height:1.35;color:var(--hb-ink);max-width:34ch}
.hb-empty .hb-btn{min-height:52px;min-width:200px}
.woocommerce-info.woocommerce-no-products-found{display:none}

/* Felter i panelet */
.hb-fset{padding:0;margin:0 0 22px}
.hb-fset .hb-lg,.hb-fset legend{font-weight:600;color:var(--hb-ink);padding:0;margin-bottom:8px;line-height:1.3}
.hb-fset legend{display:block}
.hb-fh{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--hb-tap);margin-bottom:0}
.hb-fh .hb-lg{margin:0}
.hb-bt{display:none!important}
html.hb-js .hb-bt{display:inline-flex!important}
html.hb-js .hb-bt[hidden]{display:none!important}
html.hb-js .hb-lst:not(.hb-all) .hb-xrow{display:none}
.hb-tabs{display:flex;gap:4px;padding:4px;background:var(--hb-surf);border-radius:8px;margin:0 0 12px}
.hb-scope .hb-tab{flex:1;min-height:var(--hb-tap);border:0;border-radius:6px;background:none;color:var(--hb-ink);box-shadow:none;text-transform:none;letter-spacing:0;font-weight:400}
.hb-scope .hb-tab[aria-selected=true]{background:#fff;color:var(--hb-navy);font-weight:600;box-shadow:0 1px 3px rgba(20,26,40,.15)}
.hb-tabs,.hb-tl{display:none}
html.hb-js .hb-tabs{display:flex}
.hb-tp+.hb-tp{margin-top:14px}
html.hb-js .hb-tp[data-off]{display:none}
html.hb-js .hb-tp:not(.hb-all) .hb-xchip{display:none}
.hb-tl{margin:0 0 8px}
html:not(.hb-js) .hb-tl{display:block}
.hb-dot{display:inline-block;width:20px;height:20px;border-radius:50%;border:1px solid #C5CAD3;vertical-align:middle;margin-right:10px}
.hb-sub{margin:0 0 8px;color:var(--hb-muted);font-size:15px;line-height:1.3}
.hb-chips{display:flex;flex-wrap:wrap;gap:8px}
.hb-chip{position:relative;min-width:var(--hb-tap);min-height:var(--hb-tap);padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:#fff;border:1px solid var(--hb-ctl);border-radius:var(--hb-r);font-weight:500;color:var(--hb-ink);cursor:pointer;margin:0}
.hb-chip:hover{border-color:var(--hb-navy)}
.hb-chip-in{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.hb-chip-tx{pointer-events:none}
.hb-chip:has(input:checked){background:var(--hb-navy);border-color:var(--hb-navy);color:#fff}
.hb-chip:has(input:focus-visible){box-shadow:0 0 0 2px #fff,0 0 0 5px var(--hb-blue);border-radius:10px}
.hb-chip.hb-wide{padding:0 14px}
.hb-chk{display:flex;align-items:center;gap:12px;min-height:var(--hb-tap);padding:4px 0;cursor:pointer;margin:0}
.hb-chk input{width:24px;height:24px;margin:0;flex:none;accent-color:var(--hb-navy)}
.hb-chk .hb-c{margin-left:auto;color:var(--hb-muted);font-weight:500;min-width:3ch;text-align:right}
.hb-pris{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hb-pris label{min-width:0;display:block;font-weight:500;color:var(--hb-ink);margin:0}
.hb-pris input{min-width:0;width:100%;min-height:48px;margin-top:4px;padding:0 12px;border:1.5px solid var(--hb-ink);border-radius:var(--hb-r);background:var(--hb-surf);color:var(--hb-ink);font-weight:500}
.hb-pris input::placeholder{color:#94A3B8;opacity:1;font-weight:400}

/* Ark */
.hb-scrim{position:fixed;inset:0;background:rgba(17,17,17,.5);z-index:99990;visibility:hidden;opacity:0;transition:opacity .25s,visibility 0s .25s}
.hb-scrim.hb-on{visibility:visible;opacity:1;transition:opacity .25s}
.hb-sheet:focus{outline:none}
.hb-sheet{position:fixed;z-index:99999;left:0;right:0;bottom:0;max-height:92vh;max-height:92dvh;display:flex;flex-direction:column;background:#fff;border-radius:12px 12px 0 0;box-shadow:0 -4px 24px rgba(0,0,0,.2);visibility:hidden;transform:translateY(100%);transition:transform .25s,visibility 0s .25s}
.hb-sheet.hb-open{visibility:visible;transform:none;transition:transform .25s}
.hb-sh-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 4px 16px;border-bottom:1px solid var(--hb-line);flex:none;min-height:56px}
.hb-scope .hb-sh-h h2{font-family:inherit!important;font-size:18px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;color:var(--hb-ink)!important;margin:0!important;padding:0!important}
.hb-sh-b{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:12px 16px 16px;-webkit-overflow-scrolling:touch}
.hb-sh-f{flex:none;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--hb-line);background:#fff;display:flex;flex-wrap:wrap;gap:8px 12px}
.hb-sh-f .hb-btn{flex:1;min-height:52px}
.hb-sh-f .hb-btn.hb-out{flex:0 0 auto;min-width:110px}
@media(min-width:1024px){
  .hb-sheet{left:0;right:auto;top:0;bottom:0;width:380px;max-height:none;border-radius:0;transform:translateX(-105%);box-shadow:8px 0 32px rgba(0,0,0,.35);transition:transform .25s,visibility 0s .25s}
  .hb-sheet.hb-open{transform:none;transition:transform .25s}
}
@media(prefers-reduced-motion:reduce){.hb-sheet,.hb-scrim{transition:none!important}}

/* Fallback-gitter for temaer uden eget (Elementor bruger sit eget) */
.hb-f+.products,.hb-f~ul.products{margin-top:0}
