.st-product-filters { margin: 0 0 2rem; padding: 1.75rem 0 0; background: transparent; border: 0; border-top: 1px solid #d8dcdf; }
.st-product-filters h2 { font-size: 1.15rem; margin: 0 0 1.5rem; }
.st-filter-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
.st-product-filters label, .st-product-filters legend { display: block; font-size: .875rem; font-weight: 600; color: #303b44; }
.st-product-filters fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.st-product-filters legend { margin-bottom: .35rem; }
.st-product-filters input, .st-product-filters select { width: 100%; min-width: 0; min-height: 44px; margin: .35rem 0 0; background-color: #fff; border: 1px solid #78838c; border-radius: 3px; color: #222; }
.st-filter-range { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.st-filter-range label { font-weight: 400; }
.st-filter-actions { display: grid; grid-template-columns: minmax(0,1fr); gap: .75rem; margin-top: 1.5rem; }
.st-product-filters .st-filter-actions .button_group_item { display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; min-height: 44px; margin: 0; padding: .85rem 1rem; border-radius: .4rem !important; font-weight: 400 !important; text-transform: none; letter-spacing: normal; line-height: 1.3; text-decoration: none !important; cursor: pointer; }
.st-product-filters .st-filter-submit { background: #fcd12a; border: 1px solid #fcd12a; color: #394855; }
.st-product-filters .st-filter-reset { background: transparent !important; border: 1px solid #78838c; color: #394855 !important; }
.st-product-filters .st-filter-reset:hover { background: #e2e7eb !important; border-color: #394855; }
.st-product-filters .st-filter-submit:hover { background: #edc21c; }
.st-filter-help, .st-filter-result-count { font-size: .875rem; margin: .75rem 0 0; }
.st-filter-error { color: #9c2020; }
.st-product-filters :focus-visible { outline: 3px solid #254f83; outline-offset: 2px; }
/* The same form remains visible above the results on small screens. */
.st-catalog-sidebar { padding-right: 1.5rem; min-width: 0; }
@media (max-width: 1023px) {
    .st-catalog-sidebar { padding-right: 0; }
    .st-product-filters { padding-bottom: 1.5rem; border-bottom: 1px solid #d8dcdf; }
}
.st-catalog-sidebar .st-category-tree { margin-bottom: 2rem; }
.st-category-tree .st-all-categories { display: inline-block; margin-bottom: .75rem; font-size: .875rem; text-decoration: underline; }
.st-category-tree .children { margin-left: .85rem; padding-left: .5rem; border-left: 1px solid #d8dcdf; }
.st-category-tree li > a { overflow-wrap: anywhere; }
.st-category-tree a[aria-current="page"] { font-weight: 700; }

/* Render the final count immediately; theme JS only rewrites span.count. */
.st-category-tree .st-category-count {
    float: right;
    display: inline-block;
    min-width: 1.75rem;
    margin: 0 0 0 .3rem;
    padding: .375rem .625rem;
    border-radius: .625rem;
    background: #394855;
    color: #fff;
    font-size: .6875rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}
/* The theme hides these at window.load and waits for scroll callbacks.
   Keep catalog information stable before, during and after that initialization. */
.st-product-catalog .sequential,
.st-product-catalog .sequential-multiple {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}
