/**
 * Dropdown Components
 * Styles for dropdown menus and related elements
 */

/* ========================================
 * Base Dropdown Styles
 * ======================================== */
.dropdown-menu {
    z-index: var(--z-dropdown, 1010);
    background-color: var(--color-bg-surface, #ffffff);
    border: 1px solid var(--color-border-default, #dee2e6);
    border-radius: var(--radius-lg, 0.5rem);
    box-shadow: var(--shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1));
}

/* Dark mode dropdowns */
[data-bs-theme="dark"] .dropdown-menu {
    background-color: var(--tblr-bg-surface-dark, #1e293b);
    border-color: var(--tblr-border-color-dark, #334155);
    box-shadow: var(--shadow-dark-md, 0 0.5rem 1rem rgba(0, 0, 0, 0.3));
}

/* ========================================
 * Dropdown Items
 * ======================================== */
.dropdown-item {
    color: var(--color-text-primary, #1e293b);
    padding: var(--space-2, 0.5rem) var(--space-4, 1rem);
    transition: all var(--transition-fast, 150ms);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--color-interactive-hover, #f8f9fa);
    color: var(--color-text-primary, #1e293b);
}

.dropdown-item:active {
    background-color: var(--color-interactive-active, #e2e8f0);
    color: var(--color-text-primary, #1e293b);
}

/* Dark mode dropdown items */
[data-bs-theme="dark"] .dropdown-item {
    color: var(--tblr-body-color-dark, #cbd5e1);
}

[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
    background-color: var(--tblr-bg-surface-secondary-dark, #334155);
    color: var(--tblr-body-color-dark, #ffffff);
}

[data-bs-theme="dark"] .dropdown-item:active {
    background-color: var(--tblr-primary);
    color: #ffffff;
}

/* ========================================
 * Dropdown Dividers
 * ======================================== */
.dropdown-divider {
    border-color: var(--color-border-default, #dee2e6);
    margin: var(--space-2, 0.5rem) 0;
}

[data-bs-theme="dark"] .dropdown-divider {
    border-color: var(--tblr-border-color-dark, #334155);
}

/* ========================================
 * Dropdown Headers
 * ======================================== */
.dropdown-header {
    padding: var(--space-3, 0.75rem) var(--space-4, 1rem) var(--space-2, 0.5rem);
    color: var(--color-text-secondary, #1e293b);
    font-size: var(--font-size-sm, 0.875rem);
    white-space: nowrap;
    font-weight: var(--font-weight-semibold, 600);
}

[data-bs-theme="dark"] .dropdown-header {
    color: var(--tblr-body-color-dark, #cbd5e1);
}

.dropdown-header .text-muted {
    color: var(--color-text-muted, #6c757d) !important;
    font-size: var(--font-size-xs, 0.75rem);
    font-weight: var(--font-weight-normal, 400);
}

[data-bs-theme="dark"] .dropdown-header .text-muted {
    color: var(--tblr-text-muted-dark, #94a3b8) !important;
}

/* ========================================
 * Dropdown in Modals
 * Higher z-index to appear above modal content
 * ======================================== */
.modal .dropdown-menu {
    z-index: var(--z-modal, 1060);
}

/* ========================================
 * Dark Mode Fixes
 * ======================================== */
[data-bs-theme="dark"] .dropdown-menu {
    background-color: var(--tblr-dark);
    border-color: var(--tblr-border-color-dark);
}

[data-bs-theme="dark"] .dropdown-item {
    color: var(--tblr-body-color-dark);
}

[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
    background-color: var(--tblr-bg-surface-dark);
    color: var(--tblr-body-color-dark);
}
