
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family: Arial, Helvetica, sans-serif;
}

body{
    background:#fff;
    color:#111;
    line-height:1.6;
}

header{
    background:#273A81;
    position:sticky;
    top:0;
    z-index:1000;
}

.navbar{
    max-width:1200px;
    margin:auto;
    padding:15px 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
}

.logo{
    display:flex;
    align-items:center;
    gap:12px;
    color:white;
}

.logo-box{
    width:50px;
    height:50px;
    background:white;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#273A81;
    font-weight:bold;
}

.nav-links{
    display:flex;
    list-style:none;
    gap:18px;
    flex-wrap:wrap;
}

.nav-links a{
    color:white;
    text-decoration:none;
    font-weight:bold;
}

.hero{
    background:#273A81;
    color:white;
    padding:90px 20px;
    text-align:center;
}

.hero h1{
    font-size:3rem;
    margin-bottom:20px;
}

.section{
    max-width:1200px;
    margin:auto;
    padding:60px 20px;
}

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
    gap:25px;
}

.card{
    border:1px solid #ddd;
    border-radius:12px;
    overflow:hidden;
    background:white;
    box-shadow:0 3px 8px rgba(0,0,0,0.08);
}

.placeholder{
    height:180px;
    background:#dfe5ff;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#273A81;
    font-weight:bold;
}

.card-content{
    padding:20px;
}

.folder-grid{
    display:grid;

    /* SOLO 2 columnas */
    grid-template-columns:repeat(1, 1fr);

    gap:30px;

    max-width:1200px;
    margin:auto;
}

@media(max-width:768px){

    .folder-grid{
        grid-template-columns:1fr;
    }

}

.folder-card{
    background:#f7f7f7;
    border-left:5px solid #273A81;
    border-radius:10px;
    padding:20px;
}

.folder-card h3{
    color:#273A81;
    margin-bottom:10px;
}

.file-list{
    list-style:none;
}

.file-list li{
    margin-bottom:8px;
}

.file-list a{
    color:#111;
    text-decoration:none;
}

.viewer-box{
    margin-top:15px;
    padding:12px;
    background:#e9edff;
    border-radius:8px;
    color:#273A81;
    font-size:0.95rem;
}

footer{
    background:#111;
    color:white;
    padding:20px;
    text-align:center;
}

@media(max-width:768px){
    .hero h1{
        font-size:2rem;
    }

    .navbar{
        flex-direction:column;
        gap:20px;
    }
}

.hero-banner{
    width:100%;
    height:500px;

    /* Imagen del banner */
    background-image: linear-gradient(
        rgba(0,0,0,0.45),
        rgba(0,0,0,0.45)
    ),
    url('../img/banner_prep2.png');

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;
    color:white;
}

.banner-overlay h1{
    font-size:4rem;
    margin-bottom:15px;
    font-weight:bold;
}

.banner-overlay p{
    font-size:1.3rem;
}

@media(max-width:768px){

    .hero-banner{
        height:350px;
        padding:20px;
    }

    .banner-overlay h1{
        font-size:2.2rem;
    }

    .banner-overlay p{
        font-size:1rem;
    }
}

.card-image{
    width:100%;
    height:250px;
    overflow:hidden;
}

.card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.pdf-section{
    padding:60px 20px;
    background:#f5f5f5;
}

.pdf-container{
    max-width:1200px;
    margin:auto;
    background:white;
    padding:30px;
    border-radius:12px;
    box-shadow:0 4px 10px rgba(0,0,0,0.08);
}

.pdf-container h2{
    color:#273A81;
    margin-bottom:15px;
    font-size:2rem;
}

.pdf-container p{
    margin-bottom:25px;
    color:#555;
}

.pdf-container iframe{
    border:none;
    border-radius:10px;
}

.logo img{
    height:90px;
    width:auto;
    display:block;
}

.autoprueba-section{
    padding:80px 20px;
    background:#f5f7ff;
}

.autoprueba-container{
    max-width:1200px;
    margin:auto;
}

.autoprueba-header{
    text-align:center;
    margin-bottom:50px;
}

.autoprueba-header h2{
    font-size:3rem;
    color:#273A81;
    margin-bottom:20px;
}

.autoprueba-header p{
    max-width:850px;
    margin:auto;
    font-size:1.1rem;
    color:#444;
    line-height:1.8;
}

.autoprueba-content{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:center;
    margin-bottom:60px;
}

.autoprueba-image img{
    width:100%;
    border-radius:18px;
    box-shadow:0 5px 15px rgba(0,0,0,0.12);
}

.autoprueba-text{
    background:white;
    padding:35px;
    border-radius:18px;
    box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

.autoprueba-text h3{
    color:#273A81;
    margin-bottom:20px;
    font-size:2rem;
}

.autoprueba-text p{
    margin-bottom:18px;
    color:#444;
    line-height:1.8;
}

.pdf-viewer{
    background:white;
    padding:30px;
    border-radius:18px;
    box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

.pdf-viewer h3{
    color:#273A81;
    margin-bottom:20px;
    font-size:2rem;
}

.pdf-viewer iframe{
    border:none;
    border-radius:12px;
}

@media(max-width:900px){

    .autoprueba-content{
        grid-template-columns:1fr;
    }

    .autoprueba-header h2{
        font-size:2.2rem;
    }

    .autoprueba-text h3,
    .pdf-viewer h3{
        font-size:1.6rem;
    }

}

.logos-section{
    padding:70px 20px 40px;
    background:#ffffff;
}

.logos-container{
    max-width:1000px;
    margin:auto;

    display:flex;
    justify-content:center;
    align-items:center;
    gap:60px;
    flex-wrap:wrap;
}

.logo-card{
    background:white;
    padding:30px;
    border-radius:20px;
    box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

.logo-card img{
    height:120px;
    width:auto;
    display:block;
}


/* ========================= */
/* BOLETINES */
/* ========================= */

.boletines-section{
    padding:60px 20px 90px;
    background:#f5f7ff;
}

.section-header{
    text-align:center;
    margin-bottom:50px;
}

.section-header h2{
    font-size:3rem;
    color:#273A81;
    margin-bottom:20px;
}

.section-header p{
    color:#555;
    font-size:1.1rem;
}

.pdf-list{
    max-width:1100px;
    margin:auto;

    display:flex;
    flex-direction:column;
    gap:25px;
}

.pdf-card{
    background:white;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:25px;

    padding:25px 30px;

    border-radius:18px;

    box-shadow:0 5px 15px rgba(0,0,0,0.08);

    transition:0.3s;
}

.pdf-card:hover{
    transform:translateY(-4px);
}

.pdf-icon{
    font-size:3rem;
    color:#273A81;
}

.pdf-info{
    flex:1;
}

.pdf-info h3{
    margin-bottom:10px;
    color:#273A81;
}

.pdf-info p{
    color:#555;
}

.pdf-button a{
    background:#273A81;
    color:white;

    padding:12px 22px;

    border-radius:10px;

    text-decoration:none;
    font-weight:bold;

    transition:0.3s;
}

.pdf-button a:hover{
    background:#1b2c66;
}

@media(max-width:768px){

    .section-header h2{
        font-size:2.2rem;
    }

    .pdf-card{
        flex-direction:column;
        align-items:flex-start;
    }

    .logo-card img{
        height:90px;
    }

}

/* ====================================== */
/* ZONA MULTIMEDIA */
/* ====================================== */

.multimedia-section{
    padding:80px 20px;
    background:#f5f7ff;
}

.section-header{
    text-align:center;
    margin-bottom:60px;
}

.section-header h2{
    font-size:3rem;
    color:#273A81;
    margin-bottom:20px;
}

.section-header p{
    max-width:900px;
    margin:auto;
    color:#555;
    line-height:1.8;
    font-size:1.1rem;
}


/* ================= BLOQUES ================= */

.content-block{
    margin-bottom:80px;
}

.block-title{
    display:flex;
    align-items:center;
    gap:15px;

    margin-bottom:30px;

    color:#273A81;
}

.block-title i{
    font-size:2rem;
}

.block-title h3{
    font-size:2rem;
}


/* ================= PDFS ================= */

.multimedia-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.media-card{
    background:white;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 5px 15px rgba(0,0,0,0.08);
    transition:0.3s;
}

.media-card:hover{
    transform:translateY(-5px);
}

.media-icon{
    height:160px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:4rem;
    color:white;
}

.pdf-bg{
    background:#273A81;
}

.media-content{
    padding:25px;
}

.media-content h4{
    margin-bottom:15px;
    color:#273A81;
}

.media-content p{
    color:#555;
    margin-bottom:20px;
}

.media-content a{
    display:inline-block;

    background:#273A81;
    color:white;

    padding:10px 18px;

    border-radius:10px;

    text-decoration:none;
    font-weight:bold;
}


/* ================= GALERÍA ================= */

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.gallery-card{
    overflow:hidden;
    border-radius:18px;
    box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

.gallery-card img{
    width:100%;
    height:300px;
    object-fit:cover;
    transition:0.3s;
}

.gallery-card img:hover{
    transform:scale(1.05);
}


/* ================= VIDEOS ================= */

.video-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.video-card{
    background:white;
    border-radius:18px;
    padding:20px;
    box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

.video-card video{
    width:100%;
    border-radius:12px;
    margin-bottom:15px;
}

.video-card h4{
    color:#273A81;
}


/* ================= RESPONSIVE ================= */

@media(max-width:900px){

    .multimedia-grid,
    .gallery-grid,
    .video-grid{
        grid-template-columns:1fr;
    }

    .section-header h2{
        font-size:2.2rem;
    }

    .block-title h3{
        font-size:1.5rem;
    }

}














/* ========================= */
/* MODAL DE IMAGEN */
/* ========================= */

.image-modal{
    display:none;

    position:fixed;
    z-index:9999;

    left:0;
    top:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,0.9);

    justify-content:center;
    align-items:center;

    padding:30px;
}

.modal-content{
    max-width:90%;
    max-height:90%;
    border-radius:12px;

    animation:zoomIn 0.3s ease;
}

.close-modal{
    position:absolute;
    top:20px;
    right:35px;

    color:white;
    font-size:45px;
    font-weight:bold;

    cursor:pointer;
}

.gallery-card img{
    cursor:pointer;
}

@keyframes zoomIn{

    from{
        transform:scale(0.8);
        opacity:0;
    }

    to{
        transform:scale(1);
        opacity:1;
    }

}