.select2-container--default .select2-selection--single {
    height: calc(2.25rem + 2px); /* igual a form-control */
    padding: 0.375rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
}

.select2-container--default .select2-selection__rendered {
    line-height: 1.5;
}

.select2-container--default .select2-selection__arrow {
    height: 100%;
}

.congreso-input,
.congreso-radio {
    border: 2px solid #ced4da;
    transition: all 0.2s ease-in-out;
}

/* Cuando el usuario hace foco */
.congreso-input:focus {
    border-color: #198754;
    box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.25);
}

/* Hover para que invite a interactuar */
.congreso-input:hover {
    border-color: #198754;
}

/* Resaltar radios */
.form-check {
    padding: 10px;
    border-radius: 8px;
    transition: 0.2s;
}

.form-check:hover {
    background-color: #f1fdf7;
    border: 1px solid #198754;
}

/* Cuando está seleccionado */
.form-check-input:checked {
    background-color: #198754;
    border-color: #198754;
}
.float-group {
    position: relative;
    margin-top: 16px; /* para alinear con select */
}

.float-group input:not([type="file"]) {
    height: 42px;
    padding: 14px 12px;
}

/* LABEL DENTRO DEL INPUT */
.float-group label {
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    font-size: 14px;
    color: #6c757d;
    background: white;
    padding: 0 4px;
    pointer-events: none;
    transition: all 0.2s ease;
}

/* CUANDO HACE FOCO O TIENE TEXTO → SUBE */
.float-group input:focus + label,
.float-group input:not(:placeholder-shown) + label {
    top: -8px;
    transform: none;
    font-size: 12px;
    color: #f0ad4e;
}
.select-group {
    margin-top: 16px; /* MISMA altura que .float-group */
}

.select-group label {
    display: block;
    font-size: 12px;
    color: #6c757d;
    margin-bottom: 4px;
    padding-left: 12px;
}
#empresa {
    margin-top: 34px;
}