/**
 * CLMS v2 Dark Theme - Dropdown & Advanced Components
 * Consolidated dropdown, Select2, and advanced component styling
 */

/* ===== BASE DROPDOWN STYLING ===== */
[data-bs-theme="dark"] {
  .dropdown-menu,
  .dropdown-menu-end,
  .dropdown-menu-start {
    background-color: var(--clms-dropdown-bg) !important;
    border-color: var(--clms-dropdown-border) !important;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5) !important;
  }

  .dropdown-item {
    background-color: var(--clms-dropdown-bg) !important;
    color: var(--clms-dropdown-item-color) !important;
    transition: all 0.2s ease !important;
  }

  .dropdown-item:hover,
  .dropdown-item:focus {
    background-color: var(--clms-dropdown-item-hover-bg) !important;
    color: var(--clms-white) !important;
  }

  .dropdown-item.active,
  .dropdown-item:active {
    background-color: var(--clms-dropdown-item-active-bg) !important;
    color: var(--clms-white) !important;
  }

  .dropdown-item.disabled,
  .dropdown-item:disabled {
    background-color: var(--clms-dropdown-bg) !important;
    color: var(--clms-text-muted) !important;
  }

  .dropdown-header {
    color: var(--clms-text-secondary) !important;
  }

  .dropdown-divider {
    border-color: var(--clms-border-primary) !important;
  }
}

/* ===== DROPDOWN TOGGLES ===== */
[data-bs-theme="dark"] {
  .dropdown-toggle {
    color: var(--clms-text-primary) !important;
  }

  .dropdown-toggle:hover,
  .dropdown-toggle:focus {
    color: var(--clms-text-link-hover) !important;
  }

  .dropdown-toggle::after {
    border-top-color: var(--clms-text-primary) !important;
  }

  .dropdown-toggle:hover::after {
    border-top-color: var(--clms-text-link-hover) !important;
  }
}

/* ===== SPECIAL DROPDOWN TYPES ===== */
[data-bs-theme="dark"] {
  /* Company dropdown specific styling */
  #companyDropdown .companyMenuItem,
  .companyMenuItem {
    background-color: var(--clms-dropdown-bg) !important;
    color: var(--clms-dropdown-item-color) !important;
    transition: all 0.2s ease !important;
  }

  .companyMenuItem:hover,
  #companyDropdown .companyMenuItem:hover {
    background-color: var(--clms-dropdown-item-hover-bg) !important;
    color: var(--clms-white) !important;
  }

  /* Company search input - no hover effects */
  #companyDropdown input[type="text"],
  #companyDropdown .form-control,
  #companyDropdown input.form-control {
    background-color: var(--clms-form-bg) !important;
    border-color: var(--clms-form-border) !important;
    color: var(--clms-text-primary) !important;
  }

  #companyDropdown input[type="text"]:hover,
  #companyDropdown .form-control:hover,
  #companyDropdown input.form-control:hover {
    background-color: var(--clms-form-bg) !important;
  }

  #companyDropdown input[type="text"]:focus,
  #companyDropdown .form-control:focus,
  #companyDropdown input.form-control:focus {
    background-color: var(--clms-form-bg) !important;
    border-color: var(--clms-form-focus-border) !important;
    color: var(--clms-text-primary) !important;
    box-shadow: 0 0 0 0.2rem var(--clms-form-focus-shadow) !important;
  }

  /* Top menu dropdown items - NO hover effects */
  .dropdown-item.topMenuDropdownItem:hover,
  .dropdown-item.topMenuDropdownItem:focus,
  .topMenuDropdownItem:hover,
  .topMenuDropdownItem:focus {
    background-color: var(--clms-transparent) !important;
    color: var(--clms-dropdown-item-color) !important;
  }

  .topMenuDropdownItem {
    color: var(--clms-dropdown-item-color) !important;
  }
}

/* ===== DROPDOWN INPUT FIELDS ===== */
[data-bs-theme="dark"] {
  /* Input fields in dropdowns - no hover effects */
  .dropdown-menu input[type="text"],
  .dropdown-menu .form-control,
  .dropdown-menu input.form-control,
  .dropdown-menu input[type="search"],
  .dropdown-menu input[type="email"],
  .dropdown-menu input[type="password"] {
    background-color: var(--clms-form-bg) !important;
    border-color: var(--clms-form-border) !important;
    color: var(--clms-text-primary) !important;
  }

  .dropdown-menu input[type="text"]:hover,
  .dropdown-menu .form-control:hover,
  .dropdown-menu input.form-control:hover,
  .dropdown-menu input[type="search"]:hover,
  .dropdown-menu input[type="email"]:hover,
  .dropdown-menu input[type="password"]:hover {
    background-color: var(--clms-form-bg) !important;
  }

  .dropdown-menu input[type="text"]:focus,
  .dropdown-menu .form-control:focus,
  .dropdown-menu input.form-control:focus,
  .dropdown-menu input[type="search"]:focus,
  .dropdown-menu input[type="email"]:focus,
  .dropdown-menu input[type="password"]:focus {
    background-color: var(--clms-form-bg) !important;
    border-color: var(--clms-form-focus-border) !important;
    color: var(--clms-text-primary) !important;
    box-shadow: 0 0 0 0.2rem var(--clms-form-focus-shadow) !important;
  }
}

/* ===== SELECT2 INTEGRATION ===== */
[data-bs-theme="dark"] {
  /* Select2 container and selection box */
  .select2-container--default .select2-selection--single,
  .select2-container--default .select2-selection--multiple {
    background-color: var(--clms-form-bg) !important;
    border-color: var(--clms-form-border) !important;
    color: var(--clms-text-primary) !important;
  }

  /* Select2 selection text */
  .select2-container--default .select2-selection--single .select2-selection__rendered,
  .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    color: var(--clms-text-primary) !important;
  }

  /* Select2 placeholder text */
  .select2-container--default .select2-selection--single .select2-selection__placeholder,
  .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: var(--clms-form-placeholder) !important;
  }

  /* Select2 arrow */
  .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-top-color: var(--clms-text-primary) !important;
  }

  /* Select2 focused state */
  .select2-container--default.select2-container--focus .select2-selection--single,
  .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--clms-form-focus-border) !important;
    box-shadow: 0 0 0 0.2rem var(--clms-form-focus-shadow) !important;
  }

  /* Select2 dropdown */
  .select2-container .select2-dropdown,
  .select2-dropdown {
    background-color: var(--clms-dropdown-bg) !important;
    border-color: var(--clms-dropdown-border) !important;
  }

  /* Select2 search input in dropdown */
  .select2-container .select2-search--dropdown .select2-search__field {
    background-color: var(--clms-form-bg) !important;
    border-color: var(--clms-form-border) !important;
    color: var(--clms-text-primary) !important;
  }

  .select2-container .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--clms-form-focus-border) !important;
    outline: none !important;
    box-shadow: 0 0 0 0.2rem var(--clms-form-focus-shadow) !important;
  }

  /* Select2 results container */
  .select2-container .select2-results {
    background-color: var(--clms-dropdown-bg) !important;
  }

  /* Select2 result items */
  .select2-container .select2-results__option {
    background-color: var(--clms-dropdown-bg) !important;
    color: var(--clms-dropdown-item-color) !important;
  }

  /* Select2 result item hover */
  .select2-container .select2-results__option--highlighted {
    background-color: var(--clms-dropdown-item-hover-bg) !important;
    color: var(--clms-white) !important;
  }

  /* Select2 result item selected */
  .select2-container .select2-results__option[aria-selected="true"] {
    background-color: var(--clms-dropdown-item-active-bg) !important;
    color: var(--clms-white) !important;
  }

  /* Select2 no results message */
  .select2-container .select2-results__option--selectable {
    background-color: var(--clms-dropdown-bg) !important;
    color: var(--clms-dropdown-item-color) !important;
  }

  /* Select2 loading message */
  .select2-container .select2-results__option--loading {
    background-color: var(--clms-dropdown-bg) !important;
    color: var(--clms-text-secondary) !important;
  }

  /* Select2 disabled state */
  .select2-container--default.select2-container--disabled .select2-selection--single,
  .select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: var(--clms-form-disabled-bg) !important;
    color: var(--clms-form-disabled-color) !important;
  }

  /* Select2 multiple selection tags */
  .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--clms-bg-tertiary) !important;
    border-color: var(--clms-border-primary) !important;
    color: var(--clms-text-primary) !important;
  }

  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--clms-text-secondary) !important;
  }

  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: var(--clms-text-primary) !important;
  }
}