/* Select2 theme scoped to the public archive; native selects remain the fallback. */
.filter-form .field { position: relative; min-width: 0; }
.filter-form .select2-container { width: 100% !important; min-width: 0; }
.select2-container--ravina { color: var(--ink); font: inherit; text-align: start; }

.select2-container--ravina .select2-selection--single {
    display: flex;
    align-items: center;
    min-height: 48px;
    height: auto;
    padding: .65rem .85rem;
    background: var(--white);
    border: 1px solid #cbd4d1;
    border-radius: var(--radius-sm);
    transition: border-color .2s, box-shadow .2s;
}
.select2-container--ravina .select2-selection--single .select2-selection__rendered {
    flex: 1;
    min-width: 0;
    padding: 0;
    line-height: 1.75;
    color: var(--ink);
}
.select2-container--ravina .select2-selection__placeholder { color: var(--muted); }
.select2-container--ravina .select2-selection__arrow {
    display: grid;
    place-items: center;
    flex: none;
    order: 2;
    width: 14px;
    margin-inline-start: .55rem;
}
.select2-container--ravina .select2-selection__arrow b {
    width: 7px;
    height: 7px;
    border-right: 1.5px solid var(--ink-soft);
    border-bottom: 1.5px solid var(--ink-soft);
    transform: rotate(45deg) translateY(-2px);
    transition: transform .2s;
}
.select2-container--ravina.select2-container--open .select2-selection__arrow b { transform: rotate(225deg) translate(-1px, -1px); }
.select2-container--ravina .select2-selection--single .select2-selection__clear {
    display: grid;
    place-items: center;
    flex: none;
    order: 1;
    width: 26px;
    height: 26px;
    margin-inline-start: .45rem;
    padding: 0;
    color: var(--muted);
    background: var(--paper-warm);
    border: 0;
    border-radius: 50%;
    font-size: 1.2rem;
    line-height: 1;
}
.select2-container--ravina .select2-selection__clear:hover { color: var(--red-deep); background: var(--red-pale); }
.select2-container--ravina.select2-container--focus .select2-selection--single,
.select2-container--ravina.select2-container--open .select2-selection--single {
    border-color: var(--teal);
    box-shadow: 0 0 0 4px rgba(1,152,147,.12);
}
.select2-container--ravina.select2-container--disabled .select2-selection--single { opacity: .6; cursor: not-allowed; }

.filter-form .field > .select2-container--open { z-index: 60; }
.select2-container--ravina .select2-dropdown {
    overflow: hidden;
    color: var(--ink);
    background: var(--white);
    border: 1px solid var(--teal);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow);
}
.select2-container--ravina .select2-dropdown--below { margin-block-start: 6px; }
.select2-container--ravina .select2-dropdown--above { margin-block-start: -6px; }
.select2-container--ravina .select2-search--dropdown { padding: .65rem; }
.select2-container--ravina .select2-search--dropdown .select2-search__field {
    width: 100%;
    min-height: 44px;
    padding: .55rem .75rem;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: .45rem;
    font: inherit;
    font-size: 1rem;
}
.select2-container--ravina .select2-search--dropdown .select2-search__field:focus { border-color: var(--teal); outline: none; }
.select2-container--ravina .select2-results__options {
    max-height: min(280px, 40dvh);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--teal) var(--paper);
}
.select2-container--ravina .select2-results__option {
    padding: .65rem .85rem;
    font-size: .9rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}
.select2-container--ravina .select2-results__option--selectable { cursor: pointer; }
.select2-container--ravina .select2-results__option--selected { color: var(--teal-deep); background: var(--teal-pale); }
.select2-container--ravina .select2-results__option--highlighted[aria-selected] { color: var(--white); background: var(--teal-deep); }
.select2-container--ravina .select2-results__option--disabled { color: var(--muted); cursor: default; }
.select2-container--ravina .select2-results__message { color: var(--muted); text-align: center; }

@media (prefers-reduced-motion: no-preference) {
    .select2-container--ravina .select2-dropdown { animation: ravina-filter-open .16s ease-out; }
    @keyframes ravina-filter-open {
        from { opacity: 0; translate: 0 -4px; }
        to { opacity: 1; translate: 0 0; }
    }
}

@media print {
    .filter-form .select2-container { display: none !important; }
    .filter-form select.select2-hidden-accessible { position: static !important; width: 100% !important; height: auto !important; clip: auto !important; clip-path: none !important; }
}
