body {
    margin: 0;
    padding: 0;
    height: 100vh; /* Asegura que el cuerpo ocupe toda la altura de la ventana */
    /*background: url('engine/imagenes/background_login_w.png') no-repeat center center fixed;    
    background-size: cover; /* Ajusta la imagen para que cubra toda la ventana */
    background-color: #121212; 
}

.login-container {
    max-width: 400px; /* Mantiene un ancho máximo de 400px */
    width: 100%; /* Ocupa el 100% del ancho disponible en dispositivos más pequeños */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #1f1f1f;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

@media (min-width: 576px) {
    .login-container {
        width: 400px; /* En pantallas más grandes, se fija el ancho a 400px */
    }
}

.login-container h2 {
    margin-bottom: 10px;
    color: #ffffff;
    text-align: center;
}
.login-container h3 {
    margin-bottom: 10px;
    color: #ffffff;
    text-align: center;
    font-size: 14px;
}

.login-container .form-group {
    margin-bottom: 20px;
}
.login-container .form-group label {
    color: #b0b0b0;
}
.login-container .form-control {
    background-color: #2c2c2c;
    border: 1px solid #444444;
    color: #e0e0e0;
}
.login-container .form-control::placeholder {
    color: #a0a0a0;
}
.login-container .btn-primary {
    background-color: #6200ea;
    border-color: #6200ea;
    width: 100%;
    padding: 10px;
    font-weight: 700;
    border-radius: 8px;
}
.login-container .btn-primary:hover {
    background-color: #3700b3;
    border-color: #3700b3;
}
.login-container .text-center a {
    color: #bb86fc;
    text-decoration: none;
}
.login-container .text-center a:hover {   
    color: #ffffff; /* blanco en hover */
    text-decoration: underline;
}

.login-container img {
    display: block; /* Asegura que los márgenes automáticos funcionen correctamente */
    width: 250px; /* Asegúrate de que el ancho coincida con el atributo width en tu HTML */
    margin: 0 auto; /* Centra la imagen horizontalmente */
  }

.modal-content {
    background-color: #1f1f1f;
    color: #e0e0e0;
    border: none;
    border-radius: 12px;
}
.modal-header {
    border-bottom: none;
    padding-bottom: 0;
}
.modal-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #bb86fc;
}
.modal-body {
    font-size: 1rem;
}
.modal-footer {
    border-top: none;
    padding-top: 0;
}

/* --- ENLACES LEGALES LOGIN --- */
.legal-links {
    font-size: 0.7rem;
    color: #b0b0b0;
    line-height: 1.4;
}

.legal-links a {
    color: #cfcfcf;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.legal-links a:hover {
    color: #ffffff; /* 👈 blanco al hover */
}

/* --- SOBRESCRIBIR HOVER SOLO PARA ENLACES LEGALES --- */
.login-container .legal-links a {
    color: #cfcfcf;
    text-decoration: underline;
}

.login-container .legal-links a:hover {
    color: #ffffff !important;
}

.modal-body.small {
    font-size: 0.85rem;
    line-height: 1.6;
}

.modal-body h1,
.modal-body h2,
.modal-body h3 {
    color: #bb86fc;
}


/* v2: formularios largos (registro, planes) sin centrado absoluto */
.login-container.alto {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    margin: 40px auto;
}
.login-container.ancho { max-width: 980px; width: calc(100% - 32px); }
.login-container .form-check-label, .login-container p, .login-container li { color: #cfcfcf; }
.plan-card { background: #2a2a2a; border: 1px solid #444; border-radius: 10px; color: #e0e0e0; }
.plan-card h4 { color: #fff; }
.plan-card .precio { font-size: 1.6rem; color: #bb86fc; font-weight: 700; }
