/* RK Vacancy shared UI: the custom dropdown (button + listbox) used by the public request form
   and the staff workspace. Page stylesheets size and colour the closed box; this file holds the
   behaviour-critical rules (the hidden native select, the menu, options and group headings). */
.rk-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rk-select { position: relative; display: block; min-width: 0; max-width: 100%; }
.rk-select-inline { display: inline-block; vertical-align: middle; }
/* The native select stays in the document as the value store (forms, validation, autosave). */
select.rk-native { position: absolute !important; left: 0 !important; bottom: 0 !important; display: block !important; width: 1px !important; height: 1px !important; min-width: 0 !important; min-height: 0 !important; max-width: 1px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; opacity: 0 !important; pointer-events: none !important; overflow: hidden !important; }
.rk-select-button { display: flex; align-items: center; gap: 8px; width: 100%; margin: 0; text-align: left; cursor: pointer; }
.rk-select-button:disabled { cursor: default; }
/* Long labels wrap inside the box: never clipped, never wider than the box. */
.rk-select-text { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.rk-select-inline .rk-select-text { white-space: nowrap; }
.rk-select-label { color: #667365; margin-right: 2px; }
.rk-select-value { color: inherit; }
.rk-select-chev { flex: none; width: 12px; height: 12px; color: #556352; }
.rk-select.is-set .rk-select-value { font-weight: 600; }
.rk-select-error { margin: 6px 0 0; color: #9B2C20; font-size: 13px; line-height: 1.45; font-weight: 600; overflow-wrap: anywhere; }
.rk-menu { position: fixed; z-index: 1300; box-sizing: border-box; margin: 0; padding: 4px; list-style: none; background: #fff; border: 1px solid #CDD6C9; border-radius: 8px; box-shadow: 0 10px 28px rgba(23,33,26,.16), 0 1px 2px rgba(23,33,26,.06); overflow-y: auto; overscroll-behavior: contain; font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.35; color: #17211A; text-align: left; outline: none; }
.rk-menu[hidden] { display: none !important; }
.rk-menu:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(61,115,37,.18), 0 10px 28px rgba(23,33,26,.16); }
.rk-menu ul { margin: 0; padding: 0; list-style: none; }
.rk-option { display: flex; align-items: center; gap: 8px; min-height: 36px; margin: 0; padding: 7px 12px 7px 8px; border: 0; border-radius: 6px; cursor: pointer; overflow-wrap: anywhere; }
.rk-option-text { min-width: 0; }
.rk-option-check { flex: none; width: 14px; height: 14px; color: #3D7325; visibility: hidden; }
.rk-option[aria-selected=true] { color: #1F3D14; font-weight: 600; }
.rk-option[aria-selected=true] .rk-option-check { visibility: visible; }
.rk-option.is-active { background: #F1F6EE; color: #1F3D14; }
.rk-option[aria-disabled=true] { color: #9AA39A; cursor: default; }
/* Option groups (e.g. warehouses by state): a quiet heading, options indented under it. */
.rk-group { margin: 0; padding: 0; }
.rk-group + .rk-group, .rk-option + .rk-group, .rk-group + .rk-option { margin-top: 4px; padding-top: 4px; border-top: 1px solid #E3E8E0; }
.rk-group-label { padding: 6px 12px 4px 8px; color: #5D6B5E; font-size: 12px; font-weight: 700; letter-spacing: .02em; cursor: default; user-select: none; overflow-wrap: anywhere; }
.rk-group-options .rk-option { padding-left: 16px; }
@media (max-width: 960px), (pointer: coarse) { .rk-option { min-height: 44px; } }
@media (prefers-reduced-motion: reduce) { .rk-select-button { transition: none !important; } }
