
/* ----------------------------LOGIN---------------------*/

 @import url('https://fonts.googleapis.com/css2?family=Archivo+Black&display=swap');
/* Estilos generales */
 body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            color: #fff;
        }

        /* Overlay para oscurecer el fondo */
        body::before {
            display: none;
        }

        .contenedor-principal-login{
            position: relative;
            display: flex;
            background-color: white;
            width: 100%;
            height: 100vh;
            min-height: 100vh;
        }

        .left-container-login{
            position: relative;
            width: 70%;
            background: var(--login-bg-image, url('../asset/fondoweb.webp')) no-repeat center center/cover;
            min-height: 100%;
        }

        .left-container-login::after {
            content: '';
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.144);
            pointer-events: none;
        }

        .login-selector-mode .left-container-login::after {
            background: rgba(255, 255, 255, 0.08);
        }

        .login-container {
            position: absolute;
            z-index: 1;
            top: 50%;
            left: 70%;
            transform: translate(-50%, -50%);
            background-color: rgb(255, 255, 255);
            color: #333333b8;
            padding: 30px 40px;
            border-radius: 10px;
            box-shadow: 0px 4px 16px rgba(129, 128, 128, 0.589);
            width: 30%;
            max-width: 400px;
            height: auto;
        }

        .contenedor-titulo{
            position: absolute;
            display: flex;
            top: 5%;
            left: 75%;
            gap: 10px;
            align-items: center;
        }

        .titulo-scolaris {
            font-size: 2.5rem;
            letter-spacing: 1px;
            font-family: 'Poppins', sans-serif;
            font-weight: 800;
            color: var(--login-title-color, #014ec3ef);
            letter-spacing: 1px;
            text-shadow: 0px 2px 4px #2c2c2c9b;
        }

        .logo-scolaris{
            width: 120px;
            border-radius: 20px;
        }

        .login-container h1 {
            margin-bottom: 30px;
            font-size: 1.8em;
            text-align: center;
        }

        .form-group {
            position: relative;
            margin-bottom: 30px;
        }

        .form-group input {
            width: 100%;
            padding: 12px 12px 12px 5px;
            font-size: 1em;
            border: 1px solid #ddd;
            border-radius: 5px;
            outline: none;
            background: none;
            transition: all 0.3s ease;
        }

        .form-group input:focus {
            border-color: var(--login-primary, #2575fc);
        }

        .form-group input:focus + label,
        .form-group input:not(:placeholder-shown) + label {
            top: -20px; /* Posición flotante del label */
            font-size: 0.85em;
            color: var(--login-primary, #2575fc);
        }
       
        label {
            position: absolute;
            top: 15px; /* Separación inicial del label */
            left: 5px;
            font-size: 1em;
            color: #888;
            transition: all 0.3s ease;
            pointer-events: none;
        }
   
        .form-group .toggle-password {
            position: absolute;
            top: 50%;
            right: 10px;
            transform: translateY(-50%);
            cursor: pointer;
            font-size: 1.2em;
            color: #888;
        }

        .form-group .toggle-password:hover {
            color: var(--login-primary, #2575fc);
        }

        .btn-login {
            display: block;
            width: 100%;
            padding: 12px;
            margin-top: 10px;
            margin-bottom: 20px;
            background-color: var(--login-primary, #2575fc);
            color: #fff;
            border: none;
            border-radius: 5px;
            font-size: 1.1em;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }

        .btn-login:hover {
            background-color: color-mix(in srgb, var(--login-primary, #2575fc) 78%, #000);
        }

        .link {
            text-align: center;
            margin-top: 10px;
        }

        .link a {
            color: var(--login-primary, #2575fc);
            text-decoration: none;
        }

        .link a:hover {
            text-decoration: underline;
        }

        a.texto-reset-contrasena-a{
            display: inline-block;
            transform: scale(1);
            transition: transform 0.3s ease-in-out;
        }

        a.texto-reset-contrasena-a:hover{
            text-decoration: none;
            transform: scale(1.02);
        }

        .selector-colegio-container {
            position: absolute;
            z-index: 1;
            top: 50%;
            left: 70%;
            transform: translate(-50%, -50%);
            width: min(34%, 470px);
            min-width: 390px;
            background: #fff;
            color: #182334;
            border-radius: 10px;
            box-shadow: 0px 4px 16px rgba(129, 128, 128, 0.48);
            padding: 30px;
        }

        .selector-colegio-encabezado {
            margin-bottom: 22px;
        }

        .selector-colegio-eyebrow {
            display: block;
            color: #66758b;
            font-size: 0.78rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            margin-bottom: 8px;
        }

        .selector-colegio-container h1 {
            margin: 0;
            color: #1a2433;
            font-size: 1.65rem;
            font-weight: 700;
        }

        .selector-colegio-container p {
            margin: 10px 0 0;
            color: #5f6f86;
            font-size: 0.98rem;
            line-height: 1.45;
        }

        .selector-colegio-lista {
            display: grid;
            gap: 12px;
        }

        .selector-colegio-card {
            display: grid;
            grid-template-columns: 54px minmax(0, 1fr) 22px;
            align-items: center;
            gap: 14px;
            min-height: 82px;
            padding: 14px 16px;
            border: 1px solid #d5e2f4;
            border-radius: 8px;
            background: #f8fbff;
            color: #123b7c;
            text-decoration: none;
            transition: border-color 0.2s ease, background-color 0.2s ease;
        }

        .selector-colegio-card:hover {
            border-color: var(--login-primary, #2575fc);
            background: #eef5ff;
            text-decoration: none;
        }

        .selector-colegio-logo {
            display: grid;
            place-items: center;
            width: 54px;
            height: 54px;
            border-radius: 8px;
            background: #eaf2ff;
            overflow: hidden;
        }

        .selector-colegio-logo img {
            max-width: 42px;
            max-height: 42px;
            object-fit: contain;
        }

        .selector-colegio-texto {
            min-width: 0;
        }

        .selector-colegio-texto strong,
        .selector-colegio-texto small,
        .selector-colegio-texto em {
            display: block;
            overflow-wrap: anywhere;
        }

        .selector-colegio-texto strong {
            color: #0b3f8f;
            font-size: 1rem;
            font-weight: 700;
            line-height: 1.2;
        }

        .selector-colegio-texto small {
            color: #64748b;
            font-size: 0.88rem;
            line-height: 1.28;
            margin-top: 4px;
        }

        .selector-colegio-texto em {
            width: fit-content;
            margin-top: 8px;
            padding: 3px 8px;
            border-radius: 999px;
            background: #eaf2ff;
            color: #1f5fbf;
            font-size: 0.72rem;
            font-style: normal;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }

        .selector-colegio-card i {
            color: var(--login-primary, #2575fc);
            font-size: 1.1rem;
        }

        .selector-colegio-vacio {
            display: grid;
            place-items: center;
            gap: 10px;
            min-height: 140px;
            border: 1px dashed #b9c8dc;
            border-radius: 8px;
            color: #66758b;
            text-align: center;
            padding: 24px;
        }

        .selector-colegio-vacio i {
            font-size: 1.8rem;
            color: #8aa2c3;
        }

        .selector-colegio-vacio p {
            margin: 0;
        }

/* Responsive login */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    min-height: 100dvh;
    height: 100vh;
    overflow-x: hidden;
}

.contenedor-principal-login {
    height: 100vh;
    min-height: 100dvh;
}

.login-container,
.contenedor-titulo,
.selector-colegio-container {
    z-index: 1;
}

@media (max-width: 1199.98px) and (min-width: 768px) {
    .left-container-login {
        width: 70%;
    }

    body::before {
        display: none;
    }

    .login-container {
        left: 70%;
        width: clamp(420px, 42vw, 540px);
        min-width: 420px;
        max-width: none;
        padding: 34px 42px;
        border-radius: 12px;
    }

    .selector-colegio-container {
        left: 70%;
        width: clamp(430px, 44vw, 560px);
        min-width: 430px;
        max-width: none;
        padding: 34px;
        border-radius: 12px;
    }

    .contenedor-titulo {
        top: 5%;
        left: 72%;
    }

    .logo-scolaris {
        width: 105px;
    }

    .titulo-scolaris {
        font-size: 2.15rem;
    }

    .login-container h1 {
        font-size: 2em;
        margin-bottom: 34px;
    }

    .form-group input {
        padding: 14px 12px 14px 8px;
    }

    .btn-login {
        padding: 14px;
    }
}

@media (max-width: 767.98px) {
    body {
        align-items: stretch;
    }

    body::before {
        display: none;
    }

    .contenedor-principal-login {
        display: grid;
        min-height: 100dvh;
        height: auto;
        grid-template-rows: auto 1fr;
        padding: 24px 16px;
        background: var(--login-bg-image, url('../asset/fondoweb.webp')) no-repeat center center / cover;
    }

    .contenedor-principal-login::before {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.28);
        pointer-events: none;
    }

    .left-container-login {
        display: none;
    }

    .contenedor-titulo {
        position: relative;
        top: auto;
        left: auto;
        justify-content: center;
        align-self: start;
        margin-top: 4px;
    }

    .login-container {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        justify-self: center;
        align-self: center;
        width: min(100%, 430px);
        min-width: 0;
        max-width: none;
        padding: 28px;
    }

    .selector-colegio-container {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        justify-self: center;
        align-self: center;
        width: min(100%, 460px);
        min-width: 0;
        max-width: none;
        padding: 28px;
    }
}

@media (max-width: 575.98px) {
    .contenedor-principal-login {
        padding: 18px 12px;
    }

    .contenedor-titulo {
        gap: 8px;
    }

    .logo-scolaris {
        width: 70px;
        border-radius: 14px;
    }

    .titulo-scolaris {
        font-size: 1.6rem;
    }

    .login-container {
        padding: 24px 18px;
        border-radius: 8px;
    }

    .selector-colegio-container {
        padding: 24px 18px;
        border-radius: 8px;
    }

    .login-container h1 {
        font-size: 1.45rem;
        margin-bottom: 24px;
    }

    .selector-colegio-container h1 {
        font-size: 1.38rem;
    }

    .selector-colegio-card {
        grid-template-columns: 48px minmax(0, 1fr) 20px;
        gap: 12px;
        padding: 12px;
    }

    .selector-colegio-logo {
        width: 48px;
        height: 48px;
    }

    .selector-colegio-logo img {
        max-width: 38px;
        max-height: 38px;
    }
}
