/* Base y reset */
html {
    font-size: calc(1em + 0.3vw);
}

body {
    background: linear-gradient(rgba(51, 51, 51, 0.95), rgba(51, 51, 51, 0.95)),
        url('./otramedia/ruido.png');
    background-color: #333 !important;
    margin: 0;
    padding: 0;
    line-height: 1.6;
}

body::-webkit-scrollbar {
    display: none;
}

div #telon {
    position: fixed;
    top: 25%;
    left: auto;
    width: 75%;
    height: 0.25%;
    background-color: #35A335;
    border: #35A335;
    z-index: 9999;
}

div #suelo {
    position: fixed;
    top: 75%;
    left: auto;
    width: 75%;
    height: 0.25%;
    background-color: #35A335;
}

#loading-screen {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0%;
    width: 100%;
    height: 100%;
    font-size: 2rem;
    background-color: #333;
    z-index: 900;
}

#titulo_load {
    display: flex;
    justify-content: center;
}

#loading-screen #titulo_load img {
    width: 75%;
}

/* Navegación */
nav ul {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
}

nav li {
    margin: 0 1rem;
}

a {
    text-decoration: underline !important;
    font-weight: bold !important;
}

/* Focus visible para accesibilidad */
h1 {
    padding: 3rem 1em;
    color: #35A335;
}

h2{
    color: #35A335;
    padding-bottom: 2rem;
}

p{
    color: #35A335;
}

/* Secciones y artículos */
main {
    padding: 2rem;
}

/*GRID*/
body {
    display: grid;
    height: 40em;
    row-gap: 7rem;
    column-gap: 1rem;
    grid-template-columns: 1fr 0.5fr 1fr;
    grid-template-rows: 1fr 1fr;
    grid-template-areas:
        "header2 header2 nav2"
        "main2 main2 main2"
}   

@media (max-width: 768px) {

body {
    row-gap: 2rem;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-areas:

"header2"
"nav2"
"main2";

}
}

main { 
    display: grid;
    height: 40em;
    row-gap: 5rem;
    column-gap: 1rem;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 35%;
    grid-template-areas:
        "section2 section2 section2"
        "section4 section5 section5"
        "section3 section3 section3"
        "footer2 footer2 footer2";
}

@media (max-width: 768px) {

main {
padding:0;
grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr 1fr 1fr 35%;

grid-template-areas:

"section2"

"section4"

"section5"

"section3"

"footer2";

}

}

main {
    grid-area: main2;
}

header {
    grid-area: header2;
}

nav {
    grid-area: nav2;
}

#about {
    grid-area: section2;
}

#creatures {
    grid-area: section3;
}

#filtro-caracteristicas {
    grid-area: section4;
}

#filtro-zonas {
    grid-area: section5;
}

footer {
    grid-area: footer2;
}

/*Fin del grid*/

article {
    border: 1px solid #35A335;
    border-left-style: none;
    border-right-style: none;
    padding: 1rem;
    margin-bottom: 1.5rem;
    border-radius: 5px;
}

#titulo_ani {
    display: inline;
}

/* About */
#about {
    margin-bottom: 6rem;
}

section footer {
    padding: 0;
    margin-top: 3rem;
    margin-bottom: -1rem;
    font-size: 0.6rem;
}

/* Criaturas */
#creatures {
    margin-top: -2rem;
}

.flex-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5rem;
    padding-left: 0;
    list-style-type: none;
}


#creatures .flex-container>li a {
    width: 300px;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: 4px solid #35A335;
}

#creatures .flex-container>li a:hover {
    transform: scale(1.05);
}

#creatures .flex-container>li a img {
    width: 90%;
    height: 90%;
}

/* Filtros */
/* Características */
#filtro-caracteristicas .flex-container {
    gap: 2rem;
}

#filtro-caracteristicas .flex-container>button {
    box-sizing: border-box;
    border: 4px solid #35A335;
    padding: 0.5rem;
    list-style-type: none;
    background-color: transparent;
}

/* Zonas */
#filtro-zonas .flex-container {
    gap: 2rem;
}

#filtro-zonas .flex-container>button {
    box-sizing: border-box;
    border: 4px solid #35A335;
    padding: 0.5rem;
    list-style-type: none;
}

/* Footer */
footer {
    text-align: center;
    padding: 1rem;
}

footer>a i {
    font-size: 2.5rem;
    margin: 0.5rem;
    margin-bottom: 1rem;
}

footer>a i:hover {
    transition-duration: 0.2s;
    transform: scale(1.15);
}

footer .flex-container {
    gap: 0.5rem;
    padding-bottom: 1rem;
}