:root {
    --colorprincipal: #7C444F;
    --colorclaro1: #9F5255;
    --colorclaro2: #E16A54;
    --colorclaro3: #F39E60;
    --fuente: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}

/* --- ESTRUCTURA PRINCIPAL --- */
body {
    margin: 0;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 3fr 1fr;
    grid-template-rows: 70px 1fr 70px;
    grid-template-areas:
        "header header"
        "main aside"
        "footer footer";
    min-height: 100vh;
    background-color: var(--colorclaro1);
}

/* --- HEADER --- */
.header {
    grid-area: header;
    background-color: var(--colorprincipal);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menusuperior {
    width: 100%;
}

.menusuperior nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    padding: 10px 0;
}

.menusuperior > nav > a {
    font-family: var(--fuente);
    color: white;
    text-decoration: none;
    font-size: 16px;
}

.menusuperior > nav > a:hover {
    color: var(--colorclaro3);
}

/* --- MAIN --- */
.main {
    grid-area: main;
    background-color: var(--colorclaro3);
    padding: 20px;
}

/* --- FILTROS --- */
#filtro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 20px;
}

/* --- SECCIÓN DE ARTÍCULOS --- */
.seccion {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.seccion article {
    background: white;
    border-radius: 10px;
    padding: 10px;
    text-align: center;
}

.seccion img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

/* --- ASIDE --- */
.aside {
    grid-area: aside;
    background-color: var(--colorclaro2);
    padding: 20px;
}

.aside ul {
    list-style: none;
    padding: 0;
}

.aside li {
    margin: 10px 0;
}

.aside a {
    color: white;
    text-decoration: none;
    font-family: var(--fuente);
}

.aside a:hover {
    text-decoration: underline;
}

/* --- FOOTER --- */
.footer {
    grid-area: footer;
    background-color: var(--colorprincipal);
}

/* --- RESPONSIVE DESIGN --- */

/* Tablets */
@media (max-width: 1024px) {
    body {
        grid-template-columns: 2fr 1fr;
        grid-template-rows: 70px auto 70px;
    }

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

/* Móviles */
@media (max-width: 768px) {
    body {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        grid-template-areas:
            "header"
            "main"
            "aside"
            "footer";
        min-height: 100vh;
    }

    .header {
        position: relative;
        z-index: 10;
        padding: 10px 0;
    }

    .main {
        padding: 15px;
        margin-top: 0;
    }

    #filtro {
        grid-template-columns: 1fr;
    }

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

    .menusuperior nav {
        flex-direction: column;
        gap: 10px;
    }

    .menusuperior > nav > a {
        font-size: 14px;
        padding: 5px 0;
    }
}

/* Teléfonos pequeños */
@media (max-width: 480px) {
    .menusuperior > nav > a {
        font-size: 13px;
    }

    .seccion article h2 {
        font-size: 15px;
    }
}
