/* Shared selection surface for workbench controls and Dcat's existing Select2. */
:root {
  --bs-bg: var(--bv-bg, var(--bg, #fefeff));
  --bs-panel: var(--bv-panel, var(--panel-2, #f7f8fb));
  --bs-ink: var(--bv-ink, var(--ink-1, #202738));
  --bs-muted: var(--bv-soft, var(--ink-3, #697286));
  --bs-border: var(--bv-border, var(--border, rgba(31,40,63,.12)));
  --bs-accent: var(--bv-accent, var(--accent, #514ac4));
  --bs-selected: var(--bv-accent-soft, var(--accent-soft, #efedf9));
  --bs-shadow: var(--bv-shadow, var(--shadow-lg, 0 14px 40px rgba(26,33,62,.15)));
}
select.bv-select-native { display:none!important; }
.bv-select { position:relative; display:inline-flex; vertical-align:middle; min-width:0; max-width:100%; }
.field .bv-select, .form-group .bv-select, .market-navigation-filters .bv-select { display:flex; width:100%; }
.filters .bv-select { min-width:120px; }
.bv-select-trigger {
  display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-width:0;
  min-height:40px; padding:9px 12px; border:1px solid var(--bs-border); border-radius:9px;
  background:var(--bs-bg); color:var(--bs-ink); font:inherit; font-size:13px; line-height:1.5;
  text-align:left; box-shadow:none; cursor:pointer; transition:border-color .12s,box-shadow .12s;
}
.overlay-body .bv-select-trigger, .market-navigation-filters .bv-select-trigger { min-height:44px; }
.bv-select-trigger:hover { border-color:var(--bs-accent); }
.bv-select-trigger:focus-visible, .bv-select.is-open .bv-select-trigger {
  border-color:var(--bs-accent); outline:none!important; box-shadow:0 0 0 3px var(--bs-selected);
}
.bv-select-value { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; min-width:0; }
.bv-select-arrow { flex:none; width:7px; height:7px; border:solid var(--bs-muted); border-width:0 1.5px 1.5px 0; transform:rotate(45deg); margin:-4px 3px 0 0; }
.bv-select.is-open .bv-select-arrow { transform:rotate(225deg); margin-top:3px; }
.bv-select.is-disabled .bv-select-trigger { opacity:.55; cursor:not-allowed; background:var(--bs-panel); border-color:var(--bs-border); box-shadow:none; }
.bv-select-trigger[aria-invalid="true"] { border-color:var(--bv-danger,var(--down,#b83f4b)); }
.bv-select-menu {
  position:fixed; z-index:1080; box-sizing:border-box; display:flex; flex-direction:column; gap:4px;
  padding:6px; border:1px solid var(--bs-border); border-radius:11px; background:var(--bs-bg);
  color:var(--bs-ink); box-shadow:var(--bs-shadow); font:inherit; font-size:13px; line-height:1.5;
  overflow:hidden; min-height:0; max-width:calc(100vw - 16px);
}
.bv-select-menu[hidden], .bv-select-search[hidden], .bv-select-empty[hidden] { display:none!important; }
.bv-select-menu .bv-select-search {
  display:block; flex:none; box-sizing:border-box; width:100%; min-height:38px; margin:0 0 3px;
  padding:8px 10px; border:1px solid var(--bs-border); border-radius:7px; background:var(--bs-panel);
  color:var(--bs-ink); font:inherit; font-size:13px; box-shadow:none;
}
.bv-select-menu .bv-select-search:focus { border-color:var(--bs-accent); outline:none!important; box-shadow:0 0 0 2px var(--bs-selected); }
.bv-select-search::placeholder { color:var(--bs-muted); opacity:1; }
.bv-select-options { overflow:auto; overscroll-behavior:contain; min-height:0; scrollbar-width:thin; }
.bv-select-option { display:flex; align-items:center; gap:12px; min-height:38px; padding:9px 10px; border-radius:6px; cursor:pointer; }
.bv-select-option-label { flex:1; min-width:0; overflow-wrap:anywhere; }
.bv-select-option.is-active { background:var(--bs-panel); }
.bv-select-option[aria-selected="true"] { color:var(--bs-accent); background:var(--bs-selected); font-weight:550; }
.bv-select-option[aria-disabled="true"] { opacity:.42; cursor:not-allowed; }
.bv-select-check { width:16px; flex:none; visibility:hidden; font-size:15px; text-align:center; }
.bv-select-option[aria-selected="true"] .bv-select-check { visibility:visible; }
.bv-select-option.is-active:not([aria-selected="true"]) { box-shadow:inset 2px 0 0 var(--bs-accent); }
.bv-select-group { padding:9px 10px 5px; color:var(--bs-muted); font-size:11px; font-weight:600; }
.bv-select-empty { padding:19px 10px; color:var(--bs-muted); text-align:center; }

/* Preserve Select2's remote queries, tags, multi-select and Dcat change listeners. */
.basvero-admin .select2-container--default .select2-selection {
  min-height:40px!important; border:1px solid var(--bs-border)!important; border-radius:9px!important;
  background:var(--bs-bg)!important; color:var(--bs-ink)!important; box-shadow:none!important;
}
.basvero-admin .select2-container--default.select2-container--focus .select2-selection,
.basvero-admin .select2-container--default.select2-container--open .select2-selection {
  border-color:var(--bs-accent)!important; box-shadow:0 0 0 3px var(--bs-selected)!important;
}
.basvero-admin .select2-container--default .select2-selection--single .select2-selection__rendered { color:var(--bs-ink)!important; line-height:38px!important; padding:0 36px 0 12px!important; font-size:13px; }
.basvero-admin .select2-container--default .select2-selection__placeholder { color:var(--bs-muted)!important; }
.basvero-admin .select2-container--default .select2-selection--single .select2-selection__arrow { width:30px; height:38px; right:3px; }
.basvero-admin .select2-container--default .select2-selection--single .select2-selection__arrow b { border:solid var(--bs-muted)!important; border-width:0 1.5px 1.5px 0!important; width:7px; height:7px; transform:rotate(45deg); margin:-5px 0 0 -3px; }
.basvero-admin .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { transform:rotate(225deg); margin-top:-1px; }
.basvero-admin .select2-container--disabled .select2-selection { opacity:.55; background:var(--bs-panel)!important; cursor:not-allowed!important; }
.basvero-admin .select2-dropdown {
  background:var(--bs-bg)!important; color:var(--bs-ink)!important; border:1px solid var(--bs-border)!important;
  border-radius:11px!important; box-shadow:var(--bs-shadow); padding:6px; overflow:hidden;
}
.basvero-admin .select2-dropdown--below { margin-top:6px; }
.basvero-admin .select2-dropdown--above { margin-top:-6px; }
.basvero-admin .select2-container--open { z-index:1080; }
.basvero-admin .select2-search--dropdown { padding:0 0 7px; }
.basvero-admin .select2-search--dropdown .select2-search__field {
  width:100%; min-height:38px; padding:8px 10px!important; border:1px solid var(--bs-border)!important;
  border-radius:7px!important; background:var(--bs-panel)!important; color:var(--bs-ink)!important; font-size:13px!important;
}
.basvero-admin .select2-search--dropdown .select2-search__field:focus { border-color:var(--bs-accent)!important; outline:none!important; box-shadow:0 0 0 2px var(--bs-selected)!important; }
.basvero-admin .select2-results, .basvero-admin .select2-results__options { background:var(--bs-bg)!important; color:var(--bs-ink)!important; scrollbar-width:thin; overscroll-behavior:contain; }
.basvero-admin .select2-container--default .select2-results>.select2-results__options { max-height:280px; }
.basvero-admin .select2-results__option { font-size:13px; line-height:1.5; padding:9px 30px 9px 10px; border-radius:6px; min-height:38px; position:relative; overflow-wrap:anywhere; }
/* This bundled Select2 uses aria-selected for keyboard focus too. Only its
   --selected class represents the native field's actual selection. */
.basvero-admin .select2-container--default .select2-results__option:not(.select2-results__option--selected) { background:var(--bs-bg)!important; color:var(--bs-ink)!important; font-weight:400; }
.basvero-admin .select2-container--default .select2-results__option.select2-results__option--highlighted { background:var(--bs-panel)!important; color:var(--bs-ink)!important; box-shadow:inset 2px 0 0 var(--bs-accent); }
.basvero-admin .select2-container--default .select2-results__option.select2-results__option--selected { background:var(--bs-selected)!important; color:var(--bs-accent)!important; font-weight:550; }
.basvero-admin .select2-results__option--selected::after { content:'✓'; position:absolute; right:10px; top:9px; font-size:15px; color:var(--bs-accent); }
.basvero-admin .select2-container--default .select2-results__option[aria-disabled="true"] { color:var(--bs-muted)!important; opacity:.5; }
.basvero-admin .select2-results__group { font-size:11px; color:var(--bs-muted); padding:9px 10px 5px; }
.basvero-admin .select2-results__option[role="group"] { padding:0; }
.basvero-admin .select2-container--default .select2-selection--multiple { padding:4px 7px!important; }
.basvero-admin .select2-container--default .select2-selection--multiple .select2-selection__rendered { padding:0!important; display:flex; align-items:center; flex-wrap:wrap; gap:4px; }
.basvero-admin .select2-container--default .select2-selection--multiple .select2-selection__choice { margin:0!important; padding:4px 8px!important; border:0!important; border-radius:5px!important; background:var(--bs-selected)!important; color:var(--bs-accent)!important; font-size:12px; line-height:1.6; max-width:100%; overflow-wrap:anywhere; }
.basvero-admin .select2-selection__choice__remove { color:var(--bs-accent)!important; margin-right:6px!important; }
.basvero-admin .select2-selection__clear { color:var(--bs-muted)!important; padding:0 5px; margin-right:5px; }
.basvero-admin .select2-search--inline { margin:0; }
.basvero-admin .select2-search--inline .select2-search__field { background:transparent!important; color:var(--bs-ink)!important; border:0!important; box-shadow:none!important; outline:none!important; margin:3px 0!important; padding:2px 4px!important; min-height:26px!important; }
@media(max-width:600px) {
  .bv-select-trigger { min-height:44px; }
  .bv-select-option, .basvero-admin .select2-results__option { min-height:42px; }
}
@media(prefers-reduced-motion:reduce) { .bv-select-trigger { transition:none; } }
