/* ══ Select2 "vs" theme (wwwroot/js/villa-select.js) ══════════════════════════
   Two looks: borderless inside the search bars (.vr-field), a bordered field elsewhere
   (filter panels). The theme's own .select2-* rules are overridden here. */

.select2-container--vs { width: 100% !important; }
/* Block, and no empty inline wrapper: otherwise a blank text line opens under each field. */
.select2.select2-container--vs { display: block; }
.select2-container--vs .selection { display: block; }
.select2-container--vs .dropdown-wrapper { display: none; }
.select2-container--vs .select2-selection { outline: none; cursor: pointer; }

/* Single selection */
.select2-container--vs .select2-selection--single {
    display: flex; align-items: center; height: auto; min-height: 44px; padding: 8px 34px 8px 14px;
    background: #fff; border: 1px solid rgba(189, 148, 90, .28); border-radius: 12px; position: relative;
    transition: border-color .2s, box-shadow .2s;
}
.select2-container--vs .select2-selection--single .select2-selection__rendered {
    padding: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
    font-family: "Urbanist", sans-serif; font-size: 15px; font-weight: 600; line-height: 1.5; color: #141414;
}
.select2-container--vs .select2-selection__placeholder { color: #8a8478; font-weight: 500; }
.select2-container--vs .select2-selection--single .select2-selection__arrow {
    position: absolute; top: 50%; right: 14px; width: 10px; height: 6px; margin-top: -3px; display: block;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23BD945A' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat center;
    transition: transform .2s;
}
.select2-container--vs .select2-selection--single .select2-selection__arrow b { display: none; }
.select2-container--vs.select2-container--open .select2-selection__arrow { transform: rotate(180deg); }
.select2-container--vs.select2-container--focus .select2-selection,
.select2-container--vs.select2-container--open .select2-selection { border-color: #BD945A; box-shadow: 0 0 0 3px rgba(189, 148, 90, .14); }

/* Inside the search bars: plain text, like the date fields next to it */
.vr-field .select2-container--vs .select2-selection--single {
    min-height: 0; padding: 2px 18px 2px 0; border: none; border-radius: 0; background: transparent; box-shadow: none;
}
.vr-field .select2-container--vs .select2-selection--single .select2-selection__rendered { font-size: 16px; }
.vr-field .select2-container--vs .select2-selection--single .select2-selection__arrow { right: 0; }

/* Multiple selection: chips */
.select2-container--vs .select2-selection--multiple {
    display: block; min-height: 44px; padding: 5px 34px 5px 6px; position: relative;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23BD945A' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 14px center;
    border: 1px solid rgba(189, 148, 90, .28); border-radius: 12px; transition: border-color .2s, box-shadow .2s;
}
.select2-container--vs .select2-selection--multiple .select2-selection__rendered {
    display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 0; list-style: none;
}
.select2-container--vs .select2-selection__choice {
    display: inline-flex; flex-direction: row-reverse; align-items: center; gap: 6px; max-width: 100%;
    margin: 0; padding: 3px 6px 3px 11px; border-radius: 20px;
    background: rgba(189, 148, 90, .12); border: 1px solid rgba(189, 148, 90, .3); color: #6b4d24;
    font-size: 13px; font-weight: 700; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.select2-container--vs .select2-selection__choice__remove {
    display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; flex-shrink: 0;
    border-radius: 50%; background: rgba(189, 148, 90, .25); color: #6b4d24; font-size: 13px; line-height: 1; cursor: pointer;
}
.select2-container--vs .select2-selection__choice__remove:hover { background: #BD945A; color: #fff; }
.select2-container--vs .select2-selection__clear { display: none; }
.select2-container--vs .select2-search--inline { flex: 1; min-width: 60px; }
.select2-container--vs .select2-search--inline .select2-search__field {
    width: 100% !important; min-width: 60px; height: 28px; margin: 0; padding: 0 0 0 6px;
    border: none; background: transparent; box-shadow: none; outline: none;
    font-family: "Urbanist", sans-serif; font-size: 14px; color: #141414;
}
.select2-container--vs .select2-search--inline .select2-search__field::placeholder { color: #8a8478; }

/* Dropdown */
.select2-container--vs .select2-dropdown {
    min-width: 280px; z-index: 1060; overflow: hidden; background: #fff; border: 1px solid #ece7df; border-radius: 14px;
    box-shadow: 0 18px 50px rgba(20, 16, 10, .16);
}
.select2-container--vs .select2-dropdown--below { margin-top: 6px; }
.select2-container--vs .select2-dropdown--above { margin-top: -6px; }
.select2-container--vs .select2-search--dropdown { padding: 10px 10px 4px; }
.select2-container--vs .select2-search--dropdown .select2-search__field {
    width: 100%; height: 40px; padding: 0 12px 0 36px; border: 1px solid rgba(189, 148, 90, .35); border-radius: 10px;
    background: #fbf8f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5' fill='none' stroke='%23BD945A' stroke-width='2'/%3E%3Cpath d='M15.5 15.5L21 21' stroke='%23BD945A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 12px center;
    font-family: "Urbanist", sans-serif; font-size: 15px; color: #141414; outline: none;
}
.select2-container--vs .select2-search--dropdown .select2-search__field:focus { border-color: #BD945A; background-color: #fff; }
.select2-container--vs .select2-results > .select2-results__options {
    max-height: 300px; overflow-y: auto; padding: 6px; margin: 0; list-style: none; box-shadow: none; border-radius: 0;
}
.select2-container--vs .select2-results__option {
    padding: 9px 12px; margin: 0; border: none; border-radius: 8px; background: transparent; text-align: left;
    font-family: "Urbanist", sans-serif; font-size: 15px; line-height: 1.4; color: #2a2622; cursor: pointer;
}
.select2-container--vs .select2-results__option--highlighted[aria-selected] { background: #f5f0e7; color: #141414; }
.select2-container--vs .select2-results__option[aria-selected=true] { background: rgba(189, 148, 90, .14); color: #6b4d24; font-weight: 700; }
.select2-container--vs .select2-results__option[aria-selected=true].select2-results__option--highlighted { background: rgba(189, 148, 90, .22); }
.select2-container--vs .select2-results__option[aria-disabled=true] { opacity: .45; cursor: default; }
.select2-container--vs .select2-results__option[role=group] { padding: 0; }
.select2-container--vs .select2-results__group {
    display: block; padding: 10px 12px 6px; font-size: 11px; font-weight: 800; letter-spacing: .12em;
    text-transform: uppercase; color: #a07a44;
}
.select2-container--vs .select2-results__option .select2-results__option { padding-left: 12px; }
.select2-container--vs .select2-results__message { color: #8a8478; cursor: default; }

/* Option body (villa-select.js templateResult) */
.vs-opt { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.vs-opt-text { display: flex; flex-direction: column; min-width: 0; }
.vs-opt-sub { font-size: 12px; font-weight: 500; color: #8a8478; }
.vs-opt-count {
    flex-shrink: 0; min-width: 26px; padding: 1px 8px; border-radius: 10px; text-align: center;
    background: #f3eee6; color: #8a8478; font-size: 12px; font-weight: 700; line-height: 1.6;
}
.select2-results__option[aria-selected=true] .vs-opt-count { background: #BD945A; color: #fff; }
/* Multi selects: a check box in front of each option */
.vs-multi-dropdown .select2-results__option[aria-selected] { position: relative; padding-left: 38px; }
.vs-multi-dropdown .select2-results__option[aria-selected]::before {
    content: ""; position: absolute; left: 12px; top: 50%; width: 17px; height: 17px; margin-top: -8.5px;
    border: 1.5px solid rgba(189, 148, 90, .45); border-radius: 5px; background: #fff;
}
.vs-multi-dropdown .select2-results__option[aria-selected=true]::before {
    border-color: #BD945A;
    background: #BD945A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='9' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
}
