/* =========================================================
   8b. CHOSEN (selects con busqueda)
   ========================================================= */
.chosen-container {
    max-width: 100%;
    font-family: inherit;
    font-size: var(--ds-text-md);
}

.chosen-container-single .chosen-single {
    height: var(--ds-control-h);
    padding: 0 36px 0 var(--ds-control-px);
    line-height: calc(var(--ds-control-h) - 2px);
    color: var(--ds-ink-900);
    background: var(--ds-surface);
    border: 1px solid var(--ds-ink-400);
    border-radius: var(--ds-radius-sm);
    box-shadow: none;
    transition: border-color var(--ds-dur-fast) var(--ds-ease), box-shadow var(--ds-dur-fast) var(--ds-ease);
}

.chosen-container-single .chosen-default,
.chosen-container-single .chosen-default span {
    color: var(--ds-ink-500);
}

.chosen-container-single .chosen-single div {
    width: 36px;
}

/* plugins.css fija el sprite con !important en pantallas retina. */
.chosen-container-single .chosen-single div b,
.chosen-container-active.chosen-with-drop .chosen-single div b {
    margin: 0;
    background-image: var(--ds-chevron) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 14px 14px !important;
}

.chosen-container-active.chosen-with-drop .chosen-single div b {
    transform: rotate(180deg);
}

.chosen-container-multi .chosen-choices {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    min-height: var(--ds-control-h);
    padding: 4px 6px;
    background: var(--ds-surface);
    border: 1px solid var(--ds-ink-400);
    border-radius: var(--ds-radius-sm);
    box-shadow: none;
    cursor: text;
    transition: border-color var(--ds-dur-fast) var(--ds-ease), box-shadow var(--ds-dur-fast) var(--ds-ease);
}

.chosen-container-multi .chosen-choices li {
    float: none;
}

.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
    height: 30px;
    margin: 0;
    padding: 0 6px;
    font-family: inherit;
    font-size: var(--ds-text-md);
    color: var(--ds-ink-900);
}

.chosen-container-multi .chosen-choices li.search-field .default {
    color: var(--ds-ink-500);
}

.chosen-container-multi .chosen-choices li.search-choice {
    position: relative;
    margin: 0;
    padding: 4px 26px 4px 8px;
    font-size: var(--ds-text-sm);
    line-height: 1.35;
    color: var(--ds-ink-900);
    background: var(--ds-ink-100);
    border: 1px solid var(--ds-ink-200);
    border-radius: 4px;
    box-shadow: none;
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    top: 50%;
    right: 6px;
    width: 14px;
    height: 14px;
    margin-top: -7px;
    background: none !important;
    color: var(--ds-ink-500);
    font-size: 10px;
    line-height: 14px;
    text-align: center;
    text-decoration: none;
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::before {
    content: "\f00d";
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
    color: var(--ds-ink-900);
}

.chosen-container-active .chosen-single,
.chosen-container-active .chosen-choices,
.chosen-container-active.chosen-with-drop .chosen-single {
    border-color: var(--ds-ink-900);
    box-shadow: var(--ds-focus-ring);
    background: var(--ds-surface);
}

.chosen-container .chosen-drop {
    margin-top: 4px;
    background: var(--ds-surface);
    border: 1px solid var(--ds-ink-200);
    border-radius: var(--ds-radius-sm);
    box-shadow: var(--ds-shadow-3);
    overflow: hidden;
}

.chosen-container-single .chosen-search {
    padding: 8px 8px 4px;
}

.chosen-container-single .chosen-search input[type="text"] {
    height: 36px;
    padding: 0 10px;
    font-family: inherit;
    font-size: var(--ds-text-md);
    border: 1px solid var(--ds-ink-300);
    border-radius: var(--ds-radius-sm);
    background-image: none;
}

.chosen-container .chosen-results {
    margin: 0;
    padding: 4px;
    max-height: 264px;
    color: var(--ds-ink-900);
}

.chosen-container .chosen-results li {
    padding: 8px 10px;
    border-radius: 4px;
    font-size: var(--ds-text-md);
    line-height: 1.35;
}

.chosen-container .chosen-results li.highlighted {
    color: var(--ds-ink-900);
    background: var(--ds-ink-100);
}

.chosen-container .chosen-results li.result-selected {
    color: var(--ds-ink-500);
}

.chosen-container .chosen-results li.no-results {
    color: var(--ds-ink-500);
    background: transparent;
}

.chosen-container .chosen-results li em {
    font-style: normal;
    text-decoration: underline;
}

.chosen-container.chosen-disabled {
    opacity: 0.6;
}

/* Select2 (si una pagina lo usa) */
.select2-container .select2-selection--single {
    height: var(--ds-control-h);
    border: 1px solid var(--ds-ink-400);
    border-radius: var(--ds-radius-sm);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: calc(var(--ds-control-h) - 2px);
    color: var(--ds-ink-900);
    padding-left: var(--ds-control-px);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(var(--ds-control-h) - 2px);
}

.select2-dropdown {
    border: 1px solid var(--ds-ink-200);
    border-radius: var(--ds-radius-sm);
    box-shadow: var(--ds-shadow-3);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--ds-ink-100);
    color: var(--ds-ink-900);
}

/* =========================================================
   8c. DATEPICKER (bootstrap-datepicker)
   ========================================================= */
.datepicker.dropdown-menu,
.datepicker-dropdown {
    padding: 8px;
    font-family: inherit;
    font-size: var(--ds-text-sm);
    color: var(--ds-ink-900);
    background: var(--ds-surface);
    border: 1px solid var(--ds-ink-200);
    border-radius: var(--ds-radius);
    box-shadow: var(--ds-shadow-3);
}

.datepicker-dropdown::before,
.datepicker-dropdown::after {
    display: none;
}

.datepicker table tr td,
.datepicker table tr th {
    width: 34px;
    height: 32px;
    border-radius: var(--ds-radius-sm);
    font-variant-numeric: tabular-nums;
}

.datepicker table tr th {
    font-weight: 600;
    color: var(--ds-ink-600);
}

.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next {
    font-weight: 600;
    color: var(--ds-ink-900);
}

.datepicker table tr td.day:hover,
.datepicker table tr td.day.focused,
.datepicker table tr td span:hover,
.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover,
.datepicker tfoot tr th:hover {
    background: var(--ds-ink-100);
}

.datepicker table tr td.old,
.datepicker table tr td.new {
    color: var(--ds-ink-300);
}

.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
    color: var(--ds-ink-900);
    background-color: transparent;
    background-image: none;
    box-shadow: inset 0 0 0 1px var(--ds-ink-300);
}

.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active.active,
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.active {
    color: #FFFFFF;
    background-color: var(--ds-accent);
    background-image: none;
    border-color: var(--ds-accent);
    text-shadow: none;
    box-shadow: none;
}

.datepicker table tr td span {
    border-radius: var(--ds-radius-sm);
}
