

/* =========================
   GENERAL
   ========================= */

body {
    background-color: #e2decd;
    margin: 0;
    font-family: "Bebas Neue", sans-serif;
}


/* =========================
   MENÚ
   ========================= */

.menu-principal {
    background-color: #058a17;
    padding: 30px 10px;
    text-align: center;
}

.logo-dgpc {
    width: 100px;
    height: auto;
    display: block;
    margin: 0 auto 15px;
}

.menu {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.menu a {
    background-color: white;
    color: #4866eb;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 25px;
    font-weight: bold;
}

.menu a:hover {
    background-color: #ff3b8d;
    color: white;
}


/* =========================
   SOBRE MÍ
   ========================= */

.tarjeta {
    width: 50%;
    margin: 30px auto;
    background-color: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}

.titulo {
    background-color: #058a17;
    color: white;
    text-align: center;
    padding: 12px;
}

.titulo h1 {
    margin: 0;
    font-size: 30px;
}

.titulo h2 {
    margin: 5px 0 0;
    font-size: 17px;
}

.contenido {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    padding: 30px;
    font-family: Georgia, serif;
    font-size: 18px;
    border: 3px solid #058a17;
}

.foto {
    width: 40%;
}

.foto img {
    width: 100%;
    height: auto;
    display: block;
}

.texto {
    width: 60%;
}

.texto p {
    margin-top: 0;
}

.links {
    margin-top: 20px;
}

.links a {
    margin-right: 20px;
}


/* =========================
   MATERIAS
   ========================= */

.columnas {
    display: flex;
    gap: 15px;
    width: 60%;
    margin: 30px auto;
}

.anio {
    flex: 1;
    background-color: white;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
    font-family: Georgia, serif;
    font-size: 14px;
    border: 3px solid #058a17;
    border-radius: 25px;
}

.anio h3 {
    background-color: #058a17;
    color: white;
    text-align: center;
    margin: 0;
    padding: 12px;
    font-family: "Bebas Neue", sans-serif;
    font-size: 18px;
}

.anio ul {
    padding: 15px 20px 20px 35px;
    margin: 0;
}


/* =========================
   PELÍCULAS
   ========================= */

.peliculas {
    width: 50%;
    max-width: 760px;
    margin: 30px auto;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;

    padding: 20px;
    list-style: none;

    background-color: white;
    border: 3px solid #058a17;
    border-radius: 25px;

    box-sizing: border-box;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}

.peliculas li {
    text-align: center;
    font-family: Georgia, serif;
    font-size: 14px;
}

.peliculas img {
    width: 100%;
    height: auto;
    display: block;
}

.peliculas p {
    margin: 8px 0 0;
}


/* =========================
   MÚSICA
   ========================= */

.Musica {
    width: 50%;
    max-width: 760px;
    margin: 30px auto;

    background-color: white;
    overflow: hidden;

    border: 3px solid #058a17;
    border-radius: 25px;

    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);

    font-family: Georgia, serif;
    font-size: 14px;
}

.Musica h3 {
    background-color: #058a17;
    color: white;
    text-align: center;

    margin: 0;
    padding: 12px;

    font-family: "Bebas Neue", sans-serif;
    font-size: 17px;
}

.Musica ul {
    padding: 15px 20px 20px 35px;
    margin: 0;
}


/* =========================
   EQUIPO VM14
   ========================= */

.equipoVM14 {
    width: 50%;
    max-width: 760px;
    margin: 30px auto;

    background-color: white;

    border: 3px solid #058a17;
    border-radius: 25px;

    overflow: hidden;

    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);

    font-family: "Bebas Neue", sans-serif;
}

.equipoVM14 > h2 {
    background-color: #058a17;
    color: white;
    text-align: center;

    margin: 0;
    padding: 12px;

    font-size: 18px;
}

.equipo-columnas {
    display: flex;
    justify-content: space-around;
    align-items: center;

    background-color: white;

    padding: 25px;
}

.persona-equipo {
    width: 40%;
    text-align: center;
}

.persona-equipo img {
    width: 120px;
    height: 120px;
    object-fit: cover;

    display: block;

    margin: 0 auto 10px;
}

.persona-equipo a {
    color: blue;
    font-weight: bold;
}


/* =========================
   FICHA DEL PROYECTO
   ========================= */

.ficha-proyecto {
    width: 70%;
    max-width: 1000px;

    margin: 30px auto;

    background-color: white;

    border-radius: 12px;

    overflow: hidden;

    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}

.titulo-ficha {
    background-color: #058a17;
    color: white;

    text-align: center;

    margin: 0;
    padding: 12px;

    font-size: 26px;

    font-family: "Bebas Neue", sans-serif;
}

.columnas-ficha {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    gap: 15px;

    padding: 20px;
}

.ficha {
    padding: 15px;

    border: 3px solid #058a17;
    border-radius: 25px;
}

.ficha h3 {
    font-size: 16px;

    margin-top: 0;

    color: #4866eb;
}

.ficha p {
    font-size: 13px;

    font-family: Georgia, serif;
}


/* =========================
   MOBILE
   ========================= */

@media (max-width: 600px) {

    /* SOBRE MÍ */

    .tarjeta {
        width: 90%;
        margin: 20px auto;
    }

    .contenido {
        flex-direction: column;
        padding: 20px;
        gap: 15px;
    }

    .foto {
        width: 100%;
    }

    .foto img {
        width: 120px;
        margin: 0 auto;
    }

    .texto {
        width: 100%;
    }


    /* MATERIAS */

    .columnas {
        width: 90%;
        flex-direction: column;
    }


    /* PELÍCULAS */

    .peliculas {
        width: 90%;
        grid-template-columns: repeat(2, 1fr);
    }


    /* MÚSICA */

    .Musica {
        width: 90%;
    }


    /* EQUIPO VM14 */

    .equipoVM14 {
        width: 90%;
        margin: 20px auto;
    }

    .equipo-columnas {
        flex-direction: column;
        gap: 25px;
    }

    .persona-equipo {
        width: 100%;
    }


    /* FICHA */

    .ficha-proyecto {
        width: 90%;
    }

    .columnas-ficha {
        grid-template-columns: 1fr;
    }
}


/* =========================
   FOOTER
   ========================= */

footer {
    background-color: #000000;
    color: white;

    padding: 20px;

    text-align: center;

    margin-top: 30px;
}