/* Módulo «selectores» del front: se carga solo si la página trae sus clases (App\Core\View\CssFront::MODULOS). */
/* La misma lista en todos los navegadores. JS solo sincroniza esta vista
   con el <select> real; sin JS permanece el control nativo de arriba. */
.vc-select { display: inline-block; position: relative; max-width: 100%; min-width: 0; vertical-align: middle; }
.vc-select__trigger:hover:not(:disabled), .vc-select__trigger--abierto { border-color: color-mix(in srgb, var(--campo-borde, #dddddd) 70%, var(--campo-foco-borde, var(--color-primario))); box-shadow: 0 2px 7px color-mix(in srgb, var(--color-sombra) 9%, transparent); }
.vc-select__trigger:focus, .vc-select--invalido .vc-select__trigger { outline: none; border-color: var(--campo-foco-borde, var(--color-primario)); }
.vc-select__trigger:disabled { opacity: .65; cursor: not-allowed; }
.vc-select__valor { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-align: left; }
.vc-select--vacio .vc-select__valor { color: var(--color-texto-suave); }
.vc-select__flecha { flex: none; width: .5em; height: .5em; margin: -.25em .15em 0 .3em; border-right: 2px solid var(--color-texto-suave); border-bottom: 2px solid var(--color-texto-suave); transform: rotate(45deg); transition: transform .18s ease; }
.vc-select__menu { position: fixed; z-index: 1010; max-height: min(48vh, 25rem); overflow-y: auto; padding: .35rem; border: var(--campo-borde-px, 1px) solid var(--campo-borde, #dddddd); border-radius: calc(var(--campo-radio, 8px) + 3px); background: var(--campo-fondo, var(--color-fondo)); color: var(--color-texto); box-shadow: 0 14px 32px color-mix(in srgb, var(--color-texto) 16%, transparent); }
.vc-select__opcion { display: flex; align-items: center; gap: .6rem; width: 100%; min-height: 2.25rem; padding: .42rem .7rem; border: 0; border-radius: max(4px, calc(var(--campo-radio, 8px) - 3px)); background: transparent; color: var(--color-texto); font: inherit; font-size: .9rem; line-height: 1.35; text-align: left; cursor: pointer; }
.vc-select__opcion:hover, .vc-select__opcion:focus-visible, .vc-select__opcion[aria-selected="true"] { outline: none; background: var(--color-fondo-suave); }
.vc-select__opcion[aria-selected="true"] { font-weight: 700; }
.vc-select__opcion:disabled { opacity: .55; cursor: not-allowed; }
.vc-select--invalido .vc-select__trigger { border-color: var(--color-error, #b3261e); }
body[data-campo-foco="anillo"] .vc-select__trigger:is(:focus, :focus-visible, .vc-select__trigger--abierto) { border-color: transparent; background-clip: padding-box; box-shadow: 0 0 0 3px color-mix(in srgb, var(--campo-foco-color, var(--color-primario)) 22%, transparent); }
