.registration-container {
    margin: 2rem auto;
    padding: 0 1rem;
}
.registration-title {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 2rem;
    color: #333;
}
.registration-wrapper,
.registration-card {
    max-width: 1350px;
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}
.registration-card {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.registration-left,
.registration-img {
    width: 100%;
    height: 100%;
}
.registration-img {
    object-fit: cover;
}
@media (max-width: 991.98px) {
    .registration-img {
        height: 280px;
    }
}
@media (max-width: 767.98px) {
    .registration-left,
    .registration-img {
        display: none;
    }
    .registration-wrapper,
    .registration-card {
        border-radius: 0;
    }
}
.registration-right {
    flex: 1 1 50%;
    min-width: 320px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.form-label {
    font-weight: 500;
    margin-bottom: 0.3rem;
    color: #555;
}
.form-control,
#phone_number.form-control {
    width: 100%;
    min-width: 0;
}
.iti {
    width: 100%;
}
.input-group .form-control {
    border-right: 0;
}
.input-group .toggle-pass {
    border-left: 0;
}
.registration-actions {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}
@media (max-width: 575.98px) {
    .registration-actions .btn {
        width: auto;
    }
}
.btn-outline-secondary {
    border-color: #273c75;
    color: #273c75;
}
.btn-outline-secondary:hover {
    background: #273c75;
    color: #fff;
}
.btn-primary {
    background: #273c75;
    border-color: #273c75;
}
.btn-primary:hover {
    background: #1b2a5a;
    border-color: #1b2a5a;
}

.text-danger {
    font-size: 0.85rem;
}
.is-invalid ~ .text-danger {
    display: block;
}
.iti--allow-dropdown .iti__flag-container {
    padding-right: 0.5rem;
}
/* input + botón ojo sin “cortes” */
.input-group .form-control {
    border-right: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group .toggle-pass {
    /* el propio botón */
    border-left: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    background: #fff; /* mismo fondo que el input */
    border-color: #ced4da; /* mismo color de borde Bootstrap */
    padding: 0 0.9rem; /* hace al ícono más centrado */
    display: flex;
    align-items: center;
}

.input-group .toggle-pass i {
    pointer-events: none;
} /* clic solo al botón */

/* corrige altura en Safari/Edge si fuese necesario */
.input-group > .form-control,
.input-group > .toggle-pass {
    height: calc(1.5em + 0.75rem + 2px);
}
