/* landing-style.css */

*, *::before, *::after {
    box-sizing: border-box;
}

/* --- Configuración General y Fondo Animado --- */
body {
    font-family: 'Teachers', sans-serif;
    margin: 0;
    color: #333;
    /* ACTUALIZADO: Paleta de colores más claros y ajuste de tamaño para móviles */
    background: linear-gradient(-45deg, #FFB347, #FFEEA2, #C3B1E1, #FFB6C1, #87CEEB);
    background-size: 300% 300%;
    animation: gradientBackground 18s ease infinite;
}

@keyframes gradientBackground {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.landing-container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

/* --- Header "Flotante" --- */
.landing-header {
    position: sticky; top: 10px; z-index: 100; margin: 10px 20px;
    display: flex; justify-content: space-between; align-items: center;
    padding: 5px 30px; background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px); border-radius: 50px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.landing-header .logo {
    font-size: 26px;
    font-weight: 700;
    color: #007bff;
    text-decoration: none;
}
.landing-header .cta-button {
    background: #007bff;
    color: white;
    padding: 12px 25px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: bold;
    transition: all 0.3s ease;
	   text-decoration: none;
}
.landing-header .cta-button:hover {
    background-color: #0056b3;
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
}

/* --- Sección Principal (Hero) --- */
.hero-section {
    text-align: center;
    padding: 30px 0 30px 0;
}

.features-section {
    text-align: center;
    padding: 30px 0 30px 0;
}
.hero-section h1 {
    font-size: 3.8em;
    font-weight: 800;
    color: #1A202C;
    margin: 0 0 20px 0;
    text-shadow: 0 2px 15px rgba(255, 255, 255, 0.5);
}
.hero-section p {
    font-size: 1.4em;
    max-width: 700px;
    margin: 0 auto 40px auto;
    line-height: 1.6;
    color: #4A5568;
    text-shadow: 0 1px 5px rgba(255, 255, 255, 0.5);
}
.hero-section .cta-button {
    background: linear-gradient(45deg, #ff4081, #f50057);
    color: white;
    font-size: 1.3em;
    padding: 20px 45px;
    border-radius: 50px;
    box-shadow: 0 8px 25px rgba(255, 64, 129, 0.4);
	text-decoration: none;
}
.hero-section .cta-button:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 30px rgba(255, 64, 129, 0.5);
	
}

/* --- Secciones de Contenido --- */
.content-section {
    padding: 60px 0;
}
.content-section h2 {
    text-align: center;
    font-size: 3em;
    font-weight: 800;
    margin-bottom: 30px;
    color: #2D3748;
}

/* Video */
.video-section { text-align: center; padding: 10px 0; }
.main-video {
    max-width: 900px;
    width: 100%;
    display: block;
    margin: 0 auto;
    border-radius: 20px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
}

/* Cómo Funciona */
.steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px;
}
.step-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(5px);
    padding: 40px 30px;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    text-align: center;
    transition: all 0.3s ease;
}
.step-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}
.step-card .icon {
    font-size: 4em;
    line-height: 1;
    margin-bottom: 20px;
    background: -webkit-linear-gradient(45deg, #007bff, #ff4081);
    -webkit-background-clip: text;
 /* ----webkit-text-fill-color: transparent; --- */
}
.step-card h3 {
    font-size: 1.6em;
    color: #1A202C;
    margin-bottom: 15px;
}
.step-card p {
    line-height: 1.7;
    color: #4A5568;
}

/* --- Footer --- */
.landing-footer {
    padding: 30px 0;
    text-align: center;
    color: #fff;
    background: rgba(45, 55, 72, 0.7);
    backdrop-filter: blur(5px);
}
.landing-footer a {
    color: #a0aec0;
    font-weight: bold;
    text-decoration: none;
    transition: color 0.3s;
}
.landing-footer a:hover {
    color: #fff;
}

.features-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    background: rgba(255, 255, 255, 0.8);
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}
.feature-item {
    display: flex;
    align-items: center;
    gap: 20px;
}
.feature-item .icon {
    font-size: 2.5em;
    color: #007bff;
}

/* --- Sección Final de CTA --- */
.final-cta-section {
    padding: 80px 20px;
    text-align: center;
}

/* --- Footer --- */
.landing-footer {
    padding: 40px 0;
    text-align: center;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.landing-footer a {
    color: #fff;
    font-weight: bold;
}

/* --- Media Queries para Responsividad --- */
@media (max-width: 992px) {
    .features-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .landing-header { margin: 0; border-radius: 0; top: 0; }
    .hero-section h1 { font-size: 2.8em; }
    .hero-section p { font-size: 1.1em; }
    .content-section h2 { font-size: 2.5em; }
    .steps-grid { grid-template-columns: 1fr; }
}


/* Ajuste para pantallas pequeñas */
@media (max-width: 768px) {
    .landing-header {
        align-items: flex-start;
    }

    .landing-nav {
        margin-top: 20px;
    }

   .landing-header .cta-button {
		
  padding: 15px 15px;
    border-radius: 50px;
    text-decoration: none;

        width: 90%;
    }
}

/* ===============================================
   ESTILOS MEJORADOS PARA BOTÓN DE ACCESO ALUMNOS
   =============================================== */
.login-button.student-login {
    background: linear-gradient(45deg, #28a745, #228b22); /* Gradiente sutil */
    color: white;
    font-size: 1.1em; /* Tamaño de fuente ajustado */
    font-weight: bold;
    padding: 15px 25px; /* Relleno equilibrado */
    border-radius: 50px; /* Bordes completamente redondeados */
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px; /* Espacio entre el ícono y el texto */
    border: 2px solid transparent;
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3); /* Sombra suave */
    transition: all 0.3s ease; /* Transición suave para todos los efectos */
}

.login-button.student-login i {
    font-size: 1.2em; /* Ícono ligeramente más grande */
    transition: transform 0.3s ease;
}

.login-button.student-login:hover {
    background: linear-gradient(45deg, #228b22, #28a745); /* Gradiente invertido al pasar el mouse */
    box-shadow: 0 6px 20px rgba(34, 139, 34, 0.4); /* Sombra más pronunciada */
    transform: translateY(-3px); /* Efecto de elevación */
}

.login-button.student-login:hover i {
    transform: scale(1.1) rotate(-15deg); /* Efecto de animación en el ícono */
}

.login-button.student-login:active {
    transform: translateY(-1px); /* Efecto de clic */
    box-shadow: 0 2px 10px rgba(34, 139, 34, 0.3);
}