/* Searchable filter dropdowns on the listing pages. Behaviour: assets/js/filter-select.js.
   The native <select> stays in the form (hidden) so submission is unchanged. */
select.fs-native {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.fs { position: relative; }
.fs-button {
    width: 100%; text-align: left; padding: 10px 32px 10px 10px; font: inherit; font-size: 14px;
    color: #1a1a1a; background: #fff; border: 1px solid #ddd; border-radius: 4px; cursor: pointer;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fs-button::after {
    content: ""; position: absolute; right: 12px; top: 50%; width: 7px; height: 7px;
    border-right: 2px solid #666; border-bottom: 2px solid #666; transform: translateY(-70%) rotate(45deg);
}
.fs-button:focus { outline: none; border-color: #0066cc; box-shadow: 0 0 0 3px rgba(0,102,204,.15); }
.fs-panel {
    position: absolute; z-index: 60; left: 0; right: 0; top: calc(100% + 3px);
    background: #fff; border: 1px solid #cfd6dd; border-radius: 6px;
    box-shadow: 0 8px 22px rgba(20,30,45,.16); padding: 6px;
}
.fs-search {
    display: block; width: 100%; box-sizing: border-box; padding: 9px 10px; font: inherit; font-size: 14px;
    border: 1px solid #cfd6dd; border-radius: 4px; margin-bottom: 6px; -webkit-appearance: none;
}
.fs-search:focus { outline: none; border-color: #0066cc; box-shadow: 0 0 0 3px rgba(0,102,204,.15); }
.fs-list { max-height: 260px; overflow-y: auto; }
.fs-opt { padding: 8px 10px; font-size: 14px; color: #1a1a1a; border-radius: 4px; cursor: pointer; }
.fs-opt:hover, .fs-opt.active { background: #eef4fb; }
.fs-opt.selected { font-weight: 700; }
.fs-empty { padding: 10px; font-size: 13px; color: #6b7280; }
