/* ===== FUENTE ===== */
@font-face {
    font-family: "DPComic";
    src: url("dpcomic.ttf");
}

html {
    background-color: black;
}

/* ===== TÍTULO DE PÁGINA ===== */
#title {
    text-align: center;
}

/* ===== BOTÓN DE DESCARGA ===== */
#download {
    background-image: url("backgroundparalax2.png");
    background-size: cover;
    background-position: center;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: white;
    width: 30vh;
    height: 30vh;
    font-size: 5vh;
    border-radius: 10vh;
    text-shadow: 
        -2px -2px 0 black,
         2px -2px 0 black,
        -2px  2px 0 black,
         2px  2px 0 black;
    border: none;
    cursor: pointer;
    transition: transform 0.2s ease;
}


#shop {
    background-image: url("backgroundparalax2.png");
    background-size: cover;
    background-position: center;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: white;
    width: 30vh;
    height: 30vh;
    font-size: 5vh;
    border-radius: 10vh;
    text-shadow: 
        -2px -2px 0 black,
         2px -2px 0 black,
        -2px  2px 0 black,
         2px  2px 0 black;
    border: none;
    cursor: pointer;
    transition: transform 0.2s ease;
}

#Privacy-Policy {
    background-image: url("backgroundparalax2.png");
    background-size: cover;
    background-position: center;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: white;
    width: 30vh;
    height: 30vh;
    font-size: 5vh;
    border-radius: 10vh;
    text-shadow: 
        -2px -2px 0 black,
         2px -2px 0 black,
        -2px  2px 0 black,
         2px  2px 0 black;
    border: none;
    cursor: pointer;
    transition: transform 0.2s ease;
}

#avisois {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: white;
    text-shadow: 
        -2px -2px 0 black,
         2px -2px 0 black,
        -2px  2px 0 black,
         2px  2px 0 black;
}

#menu-juegos button {
    background-repeat: repeat;
    display: flex;
    justify-content: bottom;
    align-items: center;  
    flex-direction: column;  
    text-align: center;  
    width: 30vh;
    height: 10vh;
    font-size: 3vh;
    border-radius: 10vh;
    background-image: url("backgroundparalax2.png");
    background-size: cover;
    background-position: center;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: white;
    text-shadow: 
        -2px -2px 0 black,
         2px -2px 0 black,
        -2px  2px 0 black,
         2px  2px 0 black;
    border: none;
    cursor: pointer;
    margin-top: 25px;
    margin-bottom: 25px;
    transition: transform 0.2s ease;
}


#usercont button {
    background-repeat: repeat;
    display: flex;
    justify-content: center;
    align-items: center;  
    flex-direction: column;  
    text-align: center;  
    width: 100%;
    height: 10vh;
    font-size: 3vh;
    border-radius: 10vh;
    background-image: url("backgroundparalax2.png");
    background-size: cover;
    background-position: center;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: white;
    text-shadow: 
        -2px -2px 0 black,
         2px -2px 0 black,
        -2px  2px 0 black,
         2px  2px 0 black;
    border: none;
    cursor: pointer;
    margin-top: 25px;
    margin-bottom: 25px;
    transition: transform 0.2s ease;
}

#usercont button:hover {
    transform: scale(1.05);
    filter: brightness(1.2);
}

#menu-juegos button:hover {
    transform: scale(1.05);
    filter: brightness(1.2);
}

#download:hover {
    transform: scale(1.05);
    filter: brightness(1.2);
}

#shop:hover {
    transform: scale(1.05);
    filter: brightness(1.2);
}
#Privacy-Policy:hover {
    transform: scale(1.05);
    filter: brightness(1.2);
}


#banner-titulo {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    display: flex;
    flex-direction: column;
    transform-origin: bottom;
    height: 40vh;
    justify-content: center;
    align-items: center;
    padding-left: 0px;
    top: 0;
    z-index: 100;
    background-image: url("rect30138.svg");
    background-size: cover;
    background-repeat: repeat-x;
}

#bannertt {
    display: flex;
    flex-direction: column;
    transform-origin: bottom;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
}

#banner-bg {
    transform-origin: bottom;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: -1;

}

#Logo {
    height: 15vh;
    width: auto;
    transition: height 0.3s ease;
}

#Logo:hover {
    height: 30vh;
    width: auto;
    transition: height 0.3s ease;
}

#banner-titulo h1 {
    font-size: 4vh;
    white-space: nowrap;
    overflow: hidden;      
    width: auto;
    max-width: 500px;      
    transition: font-size 0.3s ease, max-width 0.5s ease, opacity 0.3s ease;
}



#user {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    background-color: rgba(0, 0, 0, 0.356);
    border-radius: 20vh;
    background-repeat: repeat;
    display: flex;
    /* justify-content: bottom;  <-- Esto está mal escrito, es flex-end o center */
    justify-content: center; 
    align-items: center;  
    flex-direction: column;  
    width: 100%;       
    min-height: 100vh; /* Esto hace que ocupe al menos toda la pantalla */
    text-align: center;
    padding-bottom: 50px; /* Espacio para que la imagen no choque con el footer */
}

#contenido {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    background-image: url("backgroundparalax2.png");
    background-repeat: repeat;
    display: flex;
    /* justify-content: bottom;  <-- Esto está mal escrito, es flex-end o center */
    justify-content: center; 
    align-items: center;  
    flex-direction: column;  
    width: 100%;       
    min-height: 100vh; /* Esto hace que ocupe al menos toda la pantalla */
    text-align: center;
    padding-bottom: 50px; /* Espacio para que la imagen no choque con el footer */
}

#menu-juegos {
    transform-origin: center;
    position: fixed;   /* Flota sobre la pantalla */
    top: 50%;          /* Lo centramos */
    left: 50%;
    transform: translate(-50%, -50%) scale(0); /* Empieza invisible y pequeño */
    background-color: rgba(169, 169, 169, 0.95); /* darkgray con un toque de transparencia */
    border: none; /* Un borde sólido tipo cartón grueso */
    border-radius: 20px;
    padding: 20px;
    z-index: 1000;     /* Por encima de todo */
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Animación con rebote */
    opacity: 0;
    pointer-events: none; /* Para que no se pueda clickear mientras está invisible */
}

#usercont {
    transform-origin: center;
    position: fixed;
    justify-content: center; 
    align-items: center;    
    background-color: rgba(202, 202, 202, 0.685); /* darkgray con un toque de transparencia */
    border: none; /* Un borde sólido tipo cartón grueso */
    border-radius: 20px;
    padding: 20px;
    z-index: 1000;     /* Por encima de todo */
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    pointer-events: auto; /* Para que no se pueda clickear mientras está invisible */
}

#user {
    transform-origin: center;
    position: fixed;
    justify-content: center; 
    align-items: center;   
    top: 50%;     
    left: 50%;
    transform: translate(-50%, -50%) scale(0); /* Empieza invisible y pequeño */
    border: none; 
    border-radius: 20px;
    padding: 20px;
    z-index: 1000;     /* Por encima de todo */
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Animación con rebote */
    opacity: 0;
    pointer-events: none; /* Para que no se pueda clickear mientras está invisible */
}

#menu-juegos img {
    width: auto;
    height: 5vh;
}

/* Esta clase la activarás con JavaScript */
.menu-activo {
    transform: translate(-50%, -50%) scale(1) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

#banner-final {
    background-image: url("backgroundparalax2.png");
    background-repeat: repeat;
    display: flex;
    justify-content: center; /* Cambiado de bottom */
    align-items: center;  
    flex-direction: column;  
    width: 100%;       
    height: auto; /* Que se ajuste al contenido */
    padding: 20px 0;
    text-align: center;
    position: relative;
    clear: both; /* Evita interferencias de elementos flotantes */
}

#Siluetas {
    width: auto;
    /* 40vh es mucho para un banner final, mejor bajarlo un poco */
    max-height: 25vh; 
    height: auto;
    max-width: 100%;
    object-fit: contain;
}

#Reserved {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 2vh;
}


#netlify {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 2vh;
}

#contnet {
    background-repeat: repeat;
    display: flex;
    justify-content: center; /* Cambiado de bottom */
    align-items: center;  
    flex-direction: row;     
    height: auto; /* Que se ajuste al contenido */
    padding: 20px 0;
    text-align: center;
    position: relative;
    clear: both; /* Evita interferencias de elementos flotantes */
    background-color: darkslategray;
    color: white;
    width: 100%;
    height: 16vh;

}

#mantenimiento {
    width: auto;
    /* Cambiamos height fijo por max-height para que se adapte */
    max-height: 70vh; 
    max-width: 90%;
    height: auto;
    object-fit: contain;
}
#mantenimientoTHEKAT {
    font-size: 3vh;
}

#IIOImg {
    width: auto;
    height: 70px;
    transform: translate(-10px, 15px);

}

#netlifyimg {
    width: auto;
    height: 15vh;
    transform: translate(-50px, 0px);

}

#PSImg {
    width: auto;
    height: 70px;
}

#AmaImg {
    width: auto;
    height: 70px;
}

#me p {
    font-size: 2vh;
}

#me h1 {
    font-size: 4vh;
}

#homebutton {
    position: fixed;
    border: none;
    z-index: 500;
    background-color: dimgrey;
    color: white;
    width: 20vh;
    height: 10vh;
    border-radius: 50px;
    font-size: 3vh;
    display: flex;
    text-align: center;
    justify-content: center; /* Cambiado de bottom */
    align-items: center;  
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
        text-shadow: 
        -2px -2px 0 black,
         2px -2px 0 black,
        -2px  2px 0 black,
         2px  2px 0 black;
    
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: pointer;
    transform-origin: top left;
}

#popuplog {
    transform-origin: center;
    position: fixed;   /* Flota sobre la pantalla */
    top: 50%;          /* Lo centramos */
    left: 50%;
    transform: translate(-50%, -50%) scale(0); /* Empieza invisible y pequeño */
    background-color: rgba(169, 169, 169, 0.95); /* darkgray con un toque de transparencia */
    border: none; /* Un borde sólido tipo cartón grueso */
    border-radius: 20px;
    padding: 20px;
    z-index: 1000;     /* Por encima de todo */
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Animación con rebote */
    opacity: 0;
    pointer-events: none; /* Para que no se pueda clickear mientras está invisible */
}


#homebutton:hover {
    transform: scale(1.2);
    filter: brightness(1.5);
}

#backimg {
    height: 100%;
    margin-right: 10px;
}

#notch {
    position: fixed;
    border: none;
    z-index: 500;
    background-color: dimgrey;
    color: white;
    font-size: 3vh;
    display: flex;
    text-align: center;

    width: 100%;
    height: 9vh;
    align-items: center;  
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
        text-shadow: 
        -2px -2px 0 black,
         2px -2px 0 black,
        -2px  2px 0 black,
         2px  2px 0 black;
    
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: pointer;
}

#notch-left {
    display: flex;
    flex-direction: row;
    text-align: center;
    
}

#loginp {
    height: 8vh;
    transform-origin: center;
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    margin-top: 1.5vh;
    margin-left: 1.5vh;
} 

#loginp:hover, #textlog:hover {
    transform: scale(1.3);
} 

#notch-left {
    display: flex;
    flex-direction: row;
    align-items: center;   /* CENTRA VERTICAL */
    gap: 10px;             /* SEPARA EL TEXTO DEL ICONO */
}

#textlog {
    font-size: clamp(14px, 2.2vw, 22px); /* NO SE DEFORMA */
    line-height: 1;                      /* CENTRADO REAL */
    display: flex;
    align-items: center;                 /* CENTRA EL TEXTO */
}


body {
    margin: 0;
    padding: 0;
}

#user {
    transform-origin: center;
    position: fixed;   /* Flota sobre la pantalla */
    top: 50%;          /* Lo centramos */
    left: 50%;
    transform: translate(-50%, -50%) scale(0); /* Empieza invisible y pequeño */
    background-color: rgba(0, 0, 0, 0.377); /* darkgray con un toque de transparencia */
    border: none; /* Un borde sólido tipo cartón grueso */
    border-radius: 20px;
    padding: 20px;
    z-index: 1000;     /* Por encima de todo */
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Animación con rebote */
    opacity: 0;
    pointer-events: none; /* Para que no se pueda clickear mientras está invisible */
}

/* ======  Login  ======*/

#backgroundlogin {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    object-fit: cover; /* Para que no se estire feo */
}

#contenidolog {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    background-repeat: repeat;
    display: flex;
    justify-content: center; 
    align-items: center;  
    flex-direction: column;  
    width: 100%;       
    min-height: 50vh; /* Esto hace que ocupe al menos toda la pantalla */
    text-align: center;
    padding-bottom: 50px; /* Espacio para que la imagen no choque con el footer */
}

#banner-titulolog {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    display: flex;
    flex-direction: column;
    transform-origin: bottom;
    height: 40vh;
    justify-content: center;
    align-items: center;
    padding-left: 0px;
    top: 0;
   /* z-index: 1000;*/
}

#bodylog {
    z-index: -100;
}

#logcont {
    background-color: rgba(255, 255, 255, 0.377);
    border-radius: 10vh;
    width: 70vh;
    height: 70vh;
}

#signinswitch {
    font-size: 5vh;
}

#loginswitch {
    font-size: 5vh;
}

#login{
    width: 5vh;
    height: 5vh;
    
}

#signin {
    width: 5vh;
    height: 5vh;
}

#contempasw {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
} 

#NPasswrd {
    margin-top: 50px;
    width: 50vh;
    border: none;
    height: 10vh;
    justify-content: center;
    align-items: center;
    font-size: 5vh;
    border-radius: 2vh;
    transition: transform 0.3s ease;
}

#NPasswrd:hover {
    transform: scale(1.2);
}

#RPasswrd {
    margin-top: 50px;
    width: 50vh;
    border: none;
    height: 10vh;
    justify-content: center;
    align-items: center;
    font-size: 5vh;
    border-radius: 2vh;
    transition: transform 0.3s ease;
}

#RPasswrd:hover {
    transform: scale(1.2);
}

#loginbut {
    font-size: 5vh;
    border: none;
    margin-top: 50px;
    width: 30vh;
    height: 10vh;
    border-radius: 2vh;
    transition: transform 0.3s ease;
}

#loginbut:hover {
    transform: scale(1.2);
}

#resetpswrd {
    font-size: 3vh;
    border: none;
    margin-top: 20px;
    width: 40vh;
    height: 5vh;
    border-radius: 2vh;
    transition: transform 0.3s ease;
}

#resetpswrd:hover {
    transform: scale(1.2);
}

#changenow {
    font-size: 5vh;
    border: none;
    margin-top: 50px;
    width: 35vh;
    height: 10vh;
    border-radius: 2vh;
    transition: transform 0.3s ease;
}

#changenow:hover {
    transform: scale(1.2);
}

#Passwrd {
    margin-top: 50px;
    width: 50vh;
    border: none;
    height: 10vh;
    justify-content: center;
    align-items: center;
    font-size: 5vh;
    border-radius: 2vh;
    transition: transform 0.3s ease;
}

#Passwrd:hover {
    transform: scale(1.2);
}

#E-mail {
    margin-top: 50px;
    width: 50vh;
    border: none;
    height: 10vh;
    justify-content: center;
    align-items: center;
    font-size: 5vh;
    border-radius: 2vh;
    transition: transform 0.3s ease;
}

#E-mail:hover {
    transform: scale(1.2);
}

/* ========================================= */
/* PARCHE SOLO PARA TELÉFONOS                */
/* Pégalo al puro final de tu style.css      */
/* ========================================= */

@media screen and (max-width: 768px) {
    /* Cambiamos el ancho a 'vw' para que use el ancho del teléfono */
    #download, #shop, #Privacy-Policy {
        width: 40vw; 
        height: 40vw;
        font-size: 6vw;
        border-radius: 8vw;
    }

    #menu-juegos button, #usermenu button {
        width: 80vw;
        height: 15vw;
        font-size: 5vw;
    }

    #banner-titulo h1 {
        font-size: 6vw;
        white-space: normal; /* Para que el texto baje de línea si es muy largo */
    }

    /* El login era el que más se rompía por el 70vh */
    #logcont {
        width: 90vw; /* 90% del ancho del teléfono */
        height: auto; /* Que crezca según lo que tenga adentro */
        padding-bottom: 20px;
    }

    /* Inputs de login */
    #E-mail, #Passwrd, #NPasswrd, #RPasswrd, 
    #loginbut, #changenow, #resetpswrd {
        width: 75vw;
        height: 12vw;
        font-size: 5vw;
        border-radius: 3vw;
    }
    
    /* El footer para que no se apilen las imágenes */
    #contnet {
        flex-direction: column;
        height: auto;
        padding: 20px 0;
        gap: 15px;
    }
    
    #netlifyimg, #IIOImg {
        transform: translate(0, 0); /* Quita las posiciones raras en móvil */
    }
}