.elf-wrapper { position: relative; width: 100%; }

.elf-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 24px;
    margin-bottom: 24px;
}

.elf-radio-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
}

/* Radio nativo visible — círculo a la izquierda */
.elf-radio {
    appearance: auto;
    -webkit-appearance: radio;
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    flex-shrink: 0;
    accent-color: currentColor;
}

.elf-radio-text {
    font-size: 0.9rem;
    line-height: 1.4;
}

/* Loader */
.elf-loader {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 10;
}

.elf-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid rgba(0,0,0,0.1);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: elf-spin 0.7s linear infinite;
}

@keyframes elf-spin { to { transform: rotate(360deg); } }
