@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap');
*{
     letter-spacing: 3px;

    font-family: 'Bebas Neue';
}
body {
    background-color: #e8781c;
    color: #cbd5e1;
    margin: 0;
    }
header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1rem 2rem;
            margin: 10px;
    }
    a {
            color: #3bf66a;
            text-decoration: none;
    }
        .logo {
            display: flex;
            margin-left: -20px;
            font-size: 1.2rem;
            color: #ffffff;
            letter-spacing: 2px;
            text-transform: uppercase;
        }
        /* Estilos exclusivos para la Landing Page Pública */
        .hero-section {
            text-align: center;
            padding: 5rem 1rem;
            background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
            border-bottom: 1px solid #334155;
        }
        .hero-title {
            font-size: 2.5rem;
            color: #ffffff;
            margin-bottom: 0.5rem;
            text-shadow: 0 2px 4px rgba(182, 222, 78, 0.5);
            text-transform: uppercase;
            letter-spacing: 2px;
        }
        .school-title {
            font-size: 1.2rem;
            color: #94a3b8;
            letter-spacing: 2px;
            text-transform: uppercase;
        }
        .info-cards {
            color: #fff;
            display: grid;
            text-align: center;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 20px;
            margin: 0rem 0;
            background: linear-gradient(135deg, #064e31 0%, #0b6e29 50%, #022c22 100%); }
        .card img {
            width: 320px;
            height: 200px;
            object-fit: cover;
            border-radius: 10px;
            margin-bottom: 1rem;
        }
        .btn-login-main {
            background: linear-gradient(90deg, #fa0f0f 0%, #e35454 50%, #fa7d0f 100%);
            color: white;
            text-decoration: none;
            padding: 0.8rem 2rem;
            border-radius: 50px;
            transition: 0.3s;
            position: relative;
            display: flex;
            margin-top: -8px;
            left: 30px;
            text-decoration: none;
            border: 0;
            font-size: 0.8rem;
            letter-spacing: 2px;
            text-transform: uppercase;
        }
        .btn-page {
            background: linear-gradient(90deg, #fa7d0f 0%, #e35454 50%, #fa0f0f 100%);
            color: white;
            text-decoration: none;
            padding: 0.8rem 2rem;
            border-radius: 50px;
            transition: 0.3s;
            position: relative;
            display: flex;
            margin-top: -8px;
            text-decoration: none;
            border: 0;
            font-size: 0.8rem;    font-size: 0.8rem;
            letter-spacing: 2px;
            text-transform: uppercase;
        }
        .btn-login-main:hover { background: linear-gradient(90deg, #fa0f0f 0%, #e35454 50%, #fa7d0f 100%); }
        .status-badge {
            display: inline-block;
            padding: 0.5rem 1rem;
            border-radius: 20px;
            font-weight: bold;
            margin-top: 1rem;
        }
        .badge-open { background: rgba(16, 185, 129, 0.2); color: #10b981; border: 1px solid #10b981; }
        .badge-closed { background: rgba(239, 68, 68, 0.2); color: #ef4444; border: 1px solid #ef4444; }
        /* Animation */
        .hero-title {
                width: 480px;
                overflow: hidden; /* Ensures the content is not revealed until the animation */
                border-right: .10em solid white; /* The typwriter cursor */
                white-space: nowrap; /* Keeps the content on a single line */
                margin: 0 auto; /* Gives that scrolling effect as the typing happens */
            animation: 
                typing 3.5s steps(50, end), 
                blinkingCursor .5s step-end infinite;
            }
        @keyframes typing {
            from { width: 0 }
            to { width: 480px }
            }
         @keyframes blinkingCursor{
            from, to { border-color: transparent }
            50% { border-color: white }
            }
/* header */
@media (max-width: 550px) {
    .btn-page{
        padding: 0.5rem 1rem; 
        font-size: 0.7rem;
    }
    .btn-login-main {
        padding: 0.5rem 1rem; 
        font-size: 0.7rem;
    }
}
@media (max-width: 550px) {
    .btn-page{
        padding: 0.2rem 0.5rem; 
        font-size: 0.5rem;
    }
    .btn-login-main {
        padding: 0.2rem 0.5rem; 
        font-size: 0.5rem;
    }
}

/* medio */

@media (max-width: 800px){
    .hero-section{
        padding: 4rem .8rem;
    }
    .hero-title {
        font-size: 1rem;
        width: 220px;
    }
    .school-title {
        font-size: 0.6rem;
    }
    @keyframes typing {
        from { width: 0 }
        to { width: 220px }
    }
    .card img{
            width: 280px;
            height: 180px;
    }
}

@media (max-width: 300px){
    .hero-title {
        font-size: 0.8rem;
        width: 180px;
    }
    .school-title {
        font-size: 0.6rem;
    }
    @keyframes typing {
        from { width: 0 }
        to { width: 180px }
    }
    .card img{
            width: 200px;
            height: 100px;
    }
}

/* card */

@media (max-width: 1150px) {
    .info-cards {   
        grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
        gap: 10px;
        font-size: 0.8rem;
    }

}

@media (max-width: 800px){
    .info-cards {
                place-items: center;
                align-items: center;
                justify-content: center;
    }
     .card{

        margin-bottom: 20px;
        align-items: center;
        width: 75%;
        height: 75%;
        position: relative;
        left: auto;
    }
}