/* Generated from assets/source/storefront.css; preserve source rule order. */
@keyframes bs-notice-in {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

.bs-category-filters { clear:both; margin:0 0 24px; padding:14px 18px; border:1px solid var(--bs-line); border-radius:10px; }
.bs-catalog-sidebar .bs-category-filters { margin:0; padding:18px 16px; }
.bs-filter-toggle { display:none; }
.bs-filter-dialog { width:min(480px,100%); max-width:100%; height:min(88dvh,820px); max-height:calc(100dvh - 16px); margin:auto auto 0; padding:0; overflow:hidden; border:0; border-radius:24px 24px 0 0; color:var(--bs-ink); background:#fff; box-shadow:0 -12px 48px #102b2526; }
.bs-filter-dialog[open] { display:flex; flex-direction:column; }
.bs-filter-dialog::backdrop { background:rgba(15,30,25,.48); }
.bs-filter-heading { flex:none; background:#fff; display:flex; align-items:center; justify-content:space-between; padding:20px; border-bottom:1px solid var(--bs-line); }
.bs-filter-heading h2 { margin:0; font-size:24px; line-height:1.2; letter-spacing:-.5px; }
.bs-filter-status { margin:6px 0 0; font-size:13px; color:var(--bs-muted); }
.bs-filter-close { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#f0f5f3; color:var(--bs-green); font-size:28px; line-height:1; cursor:pointer; }
.bs-filter-body { display:flex; flex:1; min-height:0; }
.bs-filter-dialog .bs-category-filters { display:flex; flex-direction:column; width:100%; min-height:0; border:0; margin:0; padding:0; }
.bs-filter-fields { min-width:0; }
.bs-filter-dialog .bs-filter-fields { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 20px 20px; }
.bs-filter-dialog .bs-attribute-filter { padding:0; }
.bs-filter-dialog .bs-attribute-filter > summary { display:flex; align-items:center; justify-content:space-between; min-height:56px; margin:0; list-style:none; font-size:15px; }
.bs-filter-dialog .bs-attribute-filter > summary::-webkit-details-marker { display:none; }
.bs-filter-dialog .bs-attribute-filter > summary::after { content:""; width:8px; height:8px; margin-right:4px; border-right:2px solid #627a73; border-bottom:2px solid #627a73; transform:rotate(45deg); }
.bs-filter-dialog .bs-attribute-filter[open] > summary::after { transform:rotate(225deg); }
.bs-filter-dialog .bs-attribute-filter fieldset { margin:0; }
.bs-filter-dialog .bs-category-options { max-height:none; overflow:visible; padding:0 0 12px; gap:4px; }
.bs-filter-dialog .bs-category-options label { min-height:44px; padding:8px 10px; border-radius:10px; gap:10px; font-size:15px; line-height:1.4; }
.bs-filter-dialog .bs-category-options label:has(input:checked) { background:#eaf5f0; color:var(--bs-green); font-weight:600; }
.bs-filter-dialog .bs-category-options input { flex:0 0 20px; width:20px; height:20px; margin:0; }
.bs-filter-dialog .bs-filter-count { font-size:12px; font-weight:400; padding:2px 6px; border-radius:6px; background:#f2f5f3; color:#52655f; }
.bs-filter-dialog .bs-category-actions { position:static; flex:none; display:flex; flex-wrap:nowrap; gap:16px; margin:0; padding:16px 20px max(16px,env(safe-area-inset-bottom)); border-top:1px solid var(--bs-line); background:#fff; box-shadow:0 -4px 16px #102b2508; }
.bs-filter-dialog .bs-category-actions .button { flex:1; min-height:48px; border:0; border-radius:12px; padding:12px 16px; background:var(--bs-green); color:#fff; font-size:15px; font-weight:600; text-align:center; }
.bs-filter-dialog .bs-category-actions a { display:flex; align-items:center; min-height:44px; color:var(--bs-green); font-size:14px; white-space:nowrap; }
.bs-filter-dialog :is(button,a,input,summary):focus-visible { outline:2px solid var(--bs-green); outline-offset:3px; }
.bs-filter-dialog .bs-price-filter { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-top:16px; }
.bs-filter-dialog .bs-price-filter input { max-width:none; min-height:44px; font-size:16px; }
html:has(.bs-filter-dialog[open]) { overflow:hidden; }
@media(max-width:760px) {
    .bs-filters-enhanced .bs-catalog-sidebar { display:none; }
    .bs-filters-enhanced .bs-filter-toggle { display:inline-flex; align-items:center; gap:8px; float:left; height:44px; padding:10px 14px; margin:0 12px 16px 0; border:1px solid var(--bs-line); border-radius:10px; background:#fff; color:var(--bs-green); font:inherit; font-weight:600; cursor:pointer; }
    .bs-filters-enhanced .bs-catalog-results .woocommerce-result-count { clear:both; float:none; margin:0 0 12px; }
    .bs-filters-enhanced .bs-catalog-results .woocommerce-ordering { float:right; margin:0 0 16px; width:calc(100% - 112px); max-width:260px; }
    .bs-filters-enhanced .bs-catalog-results .woocommerce-ordering select { width:100%; height:44px; padding:8px 12px; border-radius:10px; color:var(--bs-ink); font:inherit; font-size:16px; }
    .bs-filters-enhanced .bs-catalog-results .woocommerce-result-count { display:none; }
}

.bs-category-filters fieldset{border:0;padding:0;margin:0 0 16px;min-width:0}
.bs-category-filters legend,.bs-attribute-filter>summary{font-weight:600;color:var(--bs-ink);margin-bottom:10px}
.bs-attribute-filter{border-top:1px solid var(--bs-line);padding:12px 0}
.bs-attribute-filter>summary{cursor:pointer}
.bs-attribute-filter .bs-category-options{max-height:240px;overflow:auto;display:flex;flex-direction:column;flex-wrap:nowrap}
.bs-price-filter label{display:block;font-size:12px;margin:8px 0}
.bs-price-filter input{display:block;width:100%;max-width:180px;padding:8px;border:1px solid var(--bs-line);border-radius:6px}
.bs-filter-count { margin-left:auto; color:var(--bs-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.bs-filter-swatch { width:16px; height:16px; flex:0 0 16px; border-radius:50%; border:1px solid #d5d9db; }
.bs-attribute-filter:first-child { border-top:0; padding-top:0; }
.bs-attribute-filter .bs-category-options { padding-right:6px; }
.woocommerce nav.woocommerce-pagination {
    max-width:100%;
    margin:28px 0 12px;
    padding:4px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers {
    display:flex;
    width:max-content;
    flex-wrap:nowrap;
    gap:8px;
    margin:0 auto;
    padding:0;
    border:0;
    white-space:nowrap;
    list-style:none;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li {
    float:none;
    flex:0 0 auto;
    border:0;
    overflow:visible;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:0 12px;
    box-sizing:border-box;
    border:1px solid var(--bs-line);
    border-radius:12px;
    background:#fff;
    color:var(--bs-green);
    font-size:14px;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    transition:background-color .15s,border-color .15s,color .15s;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover {
    background:#edf6f2;
    border-color:var(--bs-green);
    color:var(--bs-green);
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:focus-visible {
    outline:2px solid var(--bs-green);
    outline-offset:2px;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current {
    background:var(--bs-green);
    border-color:var(--bs-green);
    color:#fff;
    box-shadow:0 3px 8px #104c3f18;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.dots {
    min-width:28px;
    padding:0 4px;
    border-color:transparent;
    background:transparent;
    color:var(--bs-muted);
}
@media(max-width:700px) {
    .woocommerce nav.woocommerce-pagination ul.page-numbers { gap:6px; }
}
@keyframes bs-register-spin { to { transform:rotate(360deg); } }
