/* ============================================================
   ORVO Custom Select — Replaces native <select> dropdowns
   Theme: Dark, Teal accent (#188796), Deep Teal selected (#05616E)
   ============================================================ */

.orvo-select { position: relative; display: inline-block; width: 100%; }

/* Trigger button */
.orvo-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: #1a1a1a;
    color: #ccc;
    border: 1px solid #333;
    border-radius: 8px;
    padding: 8px 14px;
    font-family: 'Outfit', system-ui, -apple-system, sans-serif;
    font-size: 14px;
    cursor: pointer;
    transition: border-color 0.15s;
    user-select: none;
    -webkit-user-select: none;
    text-align: left;
    outline: none;
}
.orvo-select-trigger:hover { border-color: #444; }
.orvo-select-trigger:focus,
.orvo-select.open .orvo-select-trigger { border-color: #666; }
.orvo-select-trigger[disabled] { opacity: 0.5; cursor: not-allowed; }

/* Chevron */
.orvo-select-chevron {
    flex-shrink: 0;
    margin-left: 10px;
    transition: transform 0.2s;
}
.orvo-select.open .orvo-select-chevron { transform: rotate(180deg); }

/* Options panel */
.orvo-select-options {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 8px;
    max-height: 240px;
    overflow-y: auto;
    z-index: 100;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
    padding: 4px 0;
    opacity: 0;
    transform: translateY(-4px) scale(0.98);
    transition: opacity 0.12s ease-out, transform 0.12s ease-out;
    scrollbar-width: thin;
    scrollbar-color: #333 transparent;
}
.orvo-select-options::-webkit-scrollbar { width: 5px; }
.orvo-select-options::-webkit-scrollbar-track { background: transparent; }
.orvo-select-options::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; }

.orvo-select.open .orvo-select-options {
    display: block;
}
.orvo-select.open .orvo-select-options.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Individual option */
.orvo-select-option {
    padding: 9px 14px;
    font-size: 14px;
    color: #ccc;
    cursor: pointer;
    transition: background 0.1s, color 0.1s;
    user-select: none;
    -webkit-user-select: none;
    text-align: left;
}
.orvo-select-option:hover,
.orvo-select-option.focused {
    background: #188796;
    color: #fff;
}
.orvo-select-option.selected,
.orvo-select-option.selected.focused {
    background: #2a2a2a;
    color: #fff;
}
/* Hover on the selected item still shows teal so the pointer target is obvious */
.orvo-select-option.selected:hover {
    background: #188796;
    color: #fff;
}

/* Placeholder style */
.orvo-select-option.placeholder { color: #555; }
.orvo-select-option.placeholder:hover { color: #999; }
.orvo-select-placeholder { color: #555 !important; }

/* Adapt to .field wrapper (admin/owner forms) */
.field .orvo-select-trigger {
    background: #222;
    border: 1px solid #444;
    border-radius: 6px;
    padding: 9px 14px;
    font-size: 14px;
    color: #fff;
}
.field .orvo-select-trigger:hover { border-color: #555; }
.field .orvo-select-options { border-radius: 6px; }
.field .orvo-select-option { font-size: 14px; padding: 9px 14px; }
