/* Compact, progressively disclosed catalog search. */
body.storefront .catalog-search-panel {
    display: grid;
    gap: 12px;
    margin-bottom: 2px;
    padding: clamp(14px, 2vw, 20px);
}

body.storefront .catalog-advanced-filters__grid > label {
    display: block;
    margin-bottom: 7px;
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .10em;
    text-transform: uppercase;
}

body.storefront .catalog-search-panel__input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 9px;
}

body.storefront .catalog-search-panel :is(input[type="search"], select) {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    padding: 11px 13px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 12px;
    outline: none;
    background: rgba(7, 8, 10, .72);
    color: #f7f9fc;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
    transition: border-color var(--ui-transition), box-shadow var(--ui-transition), background var(--ui-transition);
}

body.storefront .catalog-search-panel select { color-scheme: dark; }
body.storefront .catalog-search-panel option { background: #111; color: #f7f9fc; }
body.storefront .catalog-search-panel :is(input[type="search"], select):focus { border-color: rgba(255, 119, 19, .78); background: rgba(7, 7, 8, .94); box-shadow: 0 0 0 4px rgba(255, 102, 0, .13); }
body.storefront .catalog-search-panel__input-row .btn { min-height: 46px; }
body.storefront .catalog-search-panel__main > p { margin: 7px 0 0; color: rgba(255, 255, 255, .48); font-size: 10.5px; line-height: 1.4; }

body.storefront .catalog-filter-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 46px;
    padding: 9px 13px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: var(--ui-radius-control);
    background: rgba(255, 255, 255, .035);
    color: rgba(255, 255, 255, .84);
    font: inherit;
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
    cursor: pointer;
}

body.storefront .catalog-filter-toggle:hover,
body.storefront .catalog-filter-toggle[aria-expanded="true"] { border-color: rgba(255, 102, 0, .34); background: rgba(255, 102, 0, .10); color: #fff; }
body.storefront .catalog-filter-toggle__count { display: grid; min-width: 18px; min-height: 18px; place-items: center; padding: 0 4px; border-radius: 999px; background: rgba(255, 255, 255, .10); color: #fff; font-size: 10px; }

body.storefront .catalog-advanced-filters { display: grid; gap: 13px; margin-top: 10px; padding: 14px 2px 2px; border-top: 1px solid rgba(255, 255, 255, .08); }
body.storefront .catalog-advanced-filters[hidden] { display: none !important; }
body.storefront .catalog-advanced-filters__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
body.storefront .catalog-advanced-filters__grid > label { margin: 0; }
body.storefront .catalog-advanced-filters__grid > label > select { display: block; margin-top: 7px; }
body.storefront .catalog-advanced-filters__actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
body.storefront .catalog-advanced-filters__actions-spacer { flex: 1 1 auto; }
body.storefront .catalog-advanced-filters__actions .btn,
body.storefront .catalog-advanced-filters__actions .btn-outline { min-height: 40px; }
body.storefront .catalog-search-panel .catalog-stock-filter { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: rgba(255, 255, 255, .75); font-size: 12px; font-weight: 700; letter-spacing: normal; text-transform: none; cursor: pointer; }
body.storefront .catalog-search-panel .catalog-stock-filter input { width: 16px; min-height: 16px; margin: 0; accent-color: #ff6d0b; }

@media (max-width: 900px) {
    body.storefront .catalog-advanced-filters__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    body.storefront .catalog-search-panel { padding: 13px; }
    body.storefront .catalog-search-panel__input-row { grid-template-columns: minmax(0, 1fr) auto; }
    body.storefront .catalog-search-panel__input-row .btn { grid-column: 2; grid-row: 1; }
    body.storefront .catalog-filter-toggle { grid-column: 1 / -1; }
    body.storefront .catalog-advanced-filters__grid { grid-template-columns: 1fr; }
    body.storefront .catalog-advanced-filters__actions { align-items: stretch; }
    body.storefront .catalog-advanced-filters__actions-spacer { display: none; }
    body.storefront .catalog-advanced-filters__actions :is(.btn, .btn-outline) { flex: 1 1 calc(50% - 5px); }
}
