#plantilla {
    display: grid;
    background-color: white;
    grid-template-areas:
        "navbar header" 
        "main main"
        "footer footer";
    grid-template-columns: auto auto;
    grid-template-rows: auto 1fr auto;
    margin: 0 auto;
    /*max-width: 160rem;*/
    min-height: 100vh;

    #header { grid-area: header; }

    #navbar { grid-area: navbar; }

    #main { grid-area: main; }

    #footer { grid-area: footer; }
}

@media (min-width: 768px) {

    #plantilla {
        grid-template-areas:
        "navbar header" 
        "navbar main"
        "navbar main"
        "navbar footer";
        grid-template-columns: auto 1fr;
    }
}

@media (min-width: 1024px) {
}

#header {
    display: flex;
    gap: 2rem;
    justify-content: right;
    padding: 1.5rem;
    position: sticky;
    top: 0;
    z-index: 1;
    
    .usuario {
        color: var(--color-4);
    }
    .logout {
        a {
            background-color: white;
            border: 1px solid var(--rojo-2);
            border-radius: .5rem;
            color: var(--rojo-2);
            padding: .6rem;
        }
        a:hover {
            border: 1px solid var(--rojo-1);
            color: var(--rojo-1);
        }
    }
}

#navbar {
    
    .navbar {
        position: sticky;
        top: 1rem;
    }
    
    background-color: var(--color-1);
    .seccion-navbar {
        margin-bottom: 1.2rem;
        a {
            display: block;
            color: var(--color-2);
            margin-bottom: .4rem;
        }
        a:hover {
            color: var(--color-3);
        }
        .titulo-navbar {
            display: flex;
            align-items: center;
            gap: 2rem;
            justify-content: space-between;
            padding: 0 1.5rem;
            text-transform: uppercase;
            span {
                font-size: 1.2rem;
            }
        }
        .enlaces-navbar {
            display: none;
            background-color: var(--color-1-1);
            border-top: 1px solid var(--color-3);
            padding: .5rem 2.5rem;
        }
    }
    .seccion-navbar.activo {
        .enlaces-navbar {
            display: block;
        }
        .titulo-navbar {
            span {
                transform: rotate(90deg);
            }
        }
    }
}

#main {
    
    padding: 1.5rem;

    .nav-cabecera-pagina {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        margin-bottom: 1.8rem;
        position: sticky;
        top: 1rem;

        .vista, .btn {
            border-radius: .5rem;
            padding: .4rem 1rem;
        }

        .vista {
            background-color: white;
            border: 1px solid var(--color-4);
            color: var(--color-4);

            span {
                font-style: italic;
            }
        }

        .btn {
            background-color: var(--color-4-2);
            color: white;
            cursor: pointer;
        }

        .btn:hover {
            background-color: var(--color-4);
        }
    }
}

#footer {
    border-top: 1px solid var(--color-2);
    color: var(--color-2);
    padding: .2rem;
    text-align: center;
}

#buscador-paginador {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: right;
    margin-bottom: 2rem;
    position: sticky;
    top: 5.5rem;
    width: 100%;

    input {
        background-color: white;
        border: 1px solid var(--color-2);
        border-radius: .5rem;
        color: var(--color-4);
        flex: 1;
        padding: .5rem;
        text-align: center;
        margin: 0 auto;
        max-width: 60rem;
    }

    p {
        color: var(--color-2);
        font-style: italic;
    }
}

#paginacion {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    justify-content: center;
    margin: 2rem;

    button {
        color: var(--color-4);
        cursor: pointer;
        font-size: 2rem;
        opacity: .5;
        padding: .5rem 1rem;
    }

    button:hover, button.activo {
        background-color: var(--color-4);
        border-radius: .5rem;
        color: var(--color-3);
        opacity: 1;
    }
}