@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap');

/* Estilos Especiales y Variables */
:root {
    --color01: #ffffff; /* 255, 255, 255, */
    --color02: #ffe000; /* 255, 224, 0 */
    --color03: #87c300; /* 135, 195, 0 */
    --color04: #00abe3; /* 0, 171, 227 */
    --color05: #005f7f; /* 0, 95, 127 */
    --color06: #000000; /* 0, 0, 0 */
    --color07: #f8f9f9; /* 248, 249, 249 */
    /*
    --color08: #f2f3f4; /* 242, 243, 244 */
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
    text-decoration: none;
}

body {
    background-color: var(--color07);
    font-family: "Roboto", sans-serif;
    box-sizing: border-box;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    background: var(--color01);
    height: 100vh;
    display: grid;
    grid-template-columns: 6fr repeat(2, 2fr) repeat(2, 1fr);
    grid-template-rows: 80px 60px 39.4% 39.4% 60px;
    grid-template-rows: 80px 48px 6fr 6fr 60px;
}


/* Header - Correcto */
.header {
    width: 100%;
    grid-area: 1 / 1 / span 1 / span 5 ;
    display: flex;
    height: 80px;
    align-items: center;
    justify-content: space-between;
    padding: .4rem 2rem;
    z-index: 10;
    max-width: 1200px;
}

.isotipo {
    max-width: 3.6rem;
}

.nav-list {
    display: flex;
    gap: 1rem;
}

.nav-list li a {
    color: var(--color05);
    text-transform: uppercase;
    font-weight: bold;
}

.nav-list li:hover a {
    color: var(--color04);
    box-shadow: 0 4px 0 0  var(--color04);
}

.nav-list .activo {
    color: var(--color04);
    box-shadow: 0 4px 0 0  var(--color04);
    text-transform: uppercase;
    font-weight: bold;
}


/* Boton de abrir en Móbil */
.abrir-menu,
.cerrar-menu {
    display: none;
}

/* Social - Correcto */
.social {
    grid-area: 3 / 5 / span 1 /span 1;
    background: rgba(255, 255, 255, .6); 
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.social .social__link {
    width: 40px;
    height: 40px;
    color: var(--color01);
    background: var(--color04);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 4px;
}

.social .social__uno:hover {
    color: var(--color01);
    background: #0e76a8;
} 
  
.social .social__dos:hover {
    color: var(--color01);
    background: #41579a;
}
  
.social .social__tres:hover {
    color: var(--color01);
    background: linear-gradient(to top right, #fcde30, #e9712a, #d2313b, #ae4198, #7540a1, #5443a8);
}

.anime {
    animation: fadeIn 4s infinite;
}

@keyframes fadeIn {
    0% { opacity: 1;}
    50% { opacity: 0.5;}
    100% { opacity: 1;}
}

/* Footer - Correcto */
.footer {
    grid-area: 5 / 2 / span 1 /span 4;
    background: rgba(0, 95, 127, .8);
    display: flex;
    justify-content: center;
    align-items: center;
    border-top-left-radius: 20px;
    bottom: 0;
    right: 0;
    z-index: 1;
    box-sizing: border-box;
}

.footer h3 {
    font-size: .9rem;
    color: var(--color01);
}

.footer span {
    color: var(--color01);
}


/* Media Queries */
@media screen and (max-width: 900px) {
    .title h1 {
        font-size: 1.6rem;
    }

    .footer {
        text-align: center;
    }
}


@media screen and (max-width: 600px) {
    .header {
        grid-area: "header";
        z-index: 10;
    }    

    .abrir-menu,
    .cerrar-menu {
        display: block;
        border: 0;
        font-size: 1.25rem;
        color: var(--color04);
        background: transparent;
        cursor: pointer;
    }

    .nav {
        opacity: 0;
        visibility: hidden;
        display: flex;
        flex-direction: column;
        align-items: end;
        gap: 1rem;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        background-color: var(--color05);
        padding: 2rem;
        box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .5);
    }

    .nav.visible {
        opacity: 1;
        visibility: visible;
    }

    .nav-list {
        flex-direction: column;
        align-items: end;
        margin-top: 20px;
    }

    .nav-list li a {
        color: var(--color01);
        
    }

    .social {
        grid-area: "redes";
        width: 100%;
        grid-column: 1 / 2; 
        grid-row: 2 / 3;
        background: var(--color01);
        z-index: 0;
        border-top-left-radius: 0px;
        border-bottom-left-radius: 0px;
        box-shadow: none;
        flex-direction: row;
    }

    .social .social__link:nth-child(2) {
        padding: 0px 10px;
        background: var(--color03);
    }

    .title {
        grid-area: "title";
        width: 100%;
        grid-column: 1 / 2; 
        grid-row: 3 / 3;
        border-bottom-right-radius: 0px;
    }

    .footer {
        grid-area: "footer";
        width: 100%;
        grid-column: 1 / 5; 
        grid-row: 7 / 8;
        border-top-left-radius: 0px;
        padding: 0 10px;
        font-size: 0.75rem;
        text-align: center;
    }
}