/* Variables CSS para facilitar la gestión de colores y sombras */
:root {
    --primary-text-color: #333;
    --button-bg-color: #1B2C65;
    --button-hover-bg-color: #FFD530;
    --white-color: #fff;
    --box-bg-color: rgba(255, 255, 255, 0.9);
    --box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    --language-selector-bg: #f8f9fa;
    --language-selector-border: #ced4da;
}

/* Estilos generales del cuerpo de la página */
body {
    font-family: 'ABeeZee', sans-serif;
    margin: 0;
    padding: 0;
    display: flex; /* Usamos flexbox para el diseño de dos columnas */
    min-height: 100vh; /* Asegura que la página ocupe al menos la altura completa de la ventana */
    overflow: hidden; /* Evita el scroll en el diseño principal para desktop */
}

/* Sección izquierda: Contiene el título y los botones */
.left-section {
    width: 40%; /* Ocupa el 40% del ancho para pantallas grandes */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centra verticalmente el contenido */
    align-items: center; /* Centra horizontalmente el contenido */
    padding: 20px;
    box-sizing: border-box; /* Incluye padding y borde en el ancho total */
    background-color: var(--white-color);
    position: relative; /* Necesario para el posicionamiento de elementos internos si fuera necesario */
}

/* Sección derecha: Contiene la imagen de fondo y el cuadro de texto "Título" */
.right-section {
    width: 60%; /* Ocupa el 60% del ancho para pantallas grandes */
    background-image: url('Snappet-LaSalle.jpg'); /* Ruta a la imagen de fondo */
    background-size: cover; /* La imagen cubre todo el contenedor */
    background-position: center; /* Centra la imagen de fondo */
    position: relative;
    display: flex;
    justify-content: flex-end; /* Alinea el cuadro de texto a la derecha */
    align-items: flex-start; /* Alinea el cuadro de texto arriba */
    padding: 20px; /* Padding para el cuadro de texto */
    box-sizing: border-box;
}

/* Estilos para el cuadro de texto arriba a la derecha */
.top-right-box {
    background-color: var(--box-bg-color);
    padding: 15px 25px;
    border-radius: 8px; 
    box-shadow: var(--box-shadow);
    color: var(--primary-text-color);
    font-weight: bold;
    font-size: 1.2em;
    display: flex;
    justify-content: center;
    align-items: center;
} 

/* Contenedor del contenido en la sección izquierda (título y botones) */
.content-container {
    text-align: center;
    color: var(--primary-text-color);
    max-width: 420px; /* Ancho máximo para el contenido para mejor legibilidad */
    padding: 20px;
    border-radius: 8px;
}

/* Título "Entra con tu cuenta La Salle" */
.content-container h1 {
    font-size: 2.2em;
    margin-bottom: 0px;
    color: var(--primary-text-color);
    font-weight: 700;
    text-align: center;
}

.button-column{
    display: flex;
    flex-direction: row;
    justify-content: center;
    column-gap: 20px;
}

/* Grupo de botones */
.button-group {
    margin-bottom: 25px; /* Espacio debajo de los botones antes del selector de idioma */
    width: 100%;
    border-radius: 15px;
    background-color: #c7c8ca60;
    padding: 10px;
}

.button-group a {
    display: block; /* Cada botón ocupa su propia línea */
    width: 100%; /* Ancho completo dentro del contenedor */
    padding: 12px 25px;
    margin-bottom: 15px; /* Espacio entre botones */
    border-radius: 6px;
    text-decoration: none; /* Elimina el subrayado de los enlaces */
    font-weight: 600;
    font-size: 1.1em;
    transition: background-color 0.3s ease, transform 0.2s ease; /* Transiciones suaves al interactuar */
    box-sizing: border-box;
    text-align: center;
}

.button-group a:last-child {
    margin-bottom: 0; /* No hay margen inferior para el último botón */
}

/* Estilos para el botón primario */
.button-primary {
    background-color: var(--button-bg-color);
    color: var(--white-color);
    border: 2px solid var(--button-bg-color);
}

/* Efecto hover para los botones */
.button-primary:hover {
    background-color: var(--button-hover-bg-color);
    border-color: var(--button-hover-bg-color);
    color: var(--button-bg-color);
}

/* Estilos del tipo de letra */
.abeezee-regular {
    font-family: "ABeeZee", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.abeezee-regular-italic {
    font-family: "ABeeZee", sans-serif;
    font-weight: 400;
    font-style: italic;
}

.pacifico-regular {
    font-family: "Pacifico", cursive;
    font-weight: 400;
    font-style: normal;
}

/* Estilos para el selector de idioma */
.language-selector-container {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.language-selector-container label {
    font-weight: 600;
    color: var(--primary-text-color);
}

.language-selector-container select {
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid var(--language-selector-border);
    background-color: var(--language-selector-bg);
    font-size: 1em;
    color: var(--primary-text-color);
    cursor: pointer;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.language-selector-container select:focus {
    border-color: var(--button-bg-color);
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
}

.logoSSO {
    display: flex; /* Usar flexbox para alinear el logo y el texto */
    align-items: center; /* Centrar verticalmente el logo y el texto */
    padding: 10px; /* Añade un padding de 10px alrededor del elemento */
    margin-top: 0em;
}

.logoSSO img {
    width: 1.5em;  /* Reducir el tamaño del logo ancho */
    height: 1.5em; /* Reducir el tamaño del logo alto (manteniendo la proporción) */
    margin: auto;
    object-fit: contain; /* Asegura que la imagen se ajuste dentro de sus dimensiones sin cortarse */
}


.logoLaSalle {
    width: 200px;
    margin-bottom: 30px;
}

.logoSnappet {
    max-width: 175px;
}

/* Adaptación a pantallas pequeñas (media queries) */
@media (max-width: 768px) {
    body {
        flex-direction: column; /* Las secciones se apilan verticalmente */
        overflow-y: auto; /* Permite el scroll si el contenido excede la altura */
    }

    .left-section, .right-section {
        width: 100%; /* Ambas secciones ocupan el ancho completo */
        min-height: 40vh; /* Ajusta la altura para que la sección de la imagen sea más pequeña en mobile */
    }

    .right-section {
        order: -1; /* Coloca la sección de la imagen arriba en móviles */
        justify-content: flex-end; /* Mantiene el "Título" a la derecha */
        align-items: flex-start; /* Mantiene el "Título" arriba */
        padding: 15px;
    }

    .left-section {
        padding: 15px;
    }

    .content-container h1 {
        font-size: 1.8em;
    }

    .top-right-box {
        padding: 10px 20px;
        font-size: 1em;
        max-width: 33%;
    }

    .button-group a {
        padding: 10px 20px;
        font-size: 1em;
    }

    .language-selector-container {
        margin-top: 15px;
        flex-direction: column;
        gap: 5px;
    }

}

/* Adaptación a pantallas muy pequeñas (smartphones) */
@media (max-width: 480px) {
    .content-container h1 {
        font-size: 1.5em;
    }
    .button-group a {
        padding: 8px 15px;
        font-size: 0.9em;
    }
    .top-right-box {
        padding: 8px 15px;
        font-size: 0.9em;
    }

    .button-column{
        display: flex;
        flex-direction: column;
    }

    .left-section, .right-section {
        min-height: 20vh; /* Ajusta la altura para que la sección de la imagen sea más pequeña en mobile */
    }

    .logoSSO {
        margin: 0px;
    }

    .logoSnappet {
        width: 80%;
    }

}
