body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    align-items: center;
    text-align: center;
    overflow-x: hidden; /* Oculta cualquier desbordamiento horizontal */
}

header {
    background-color: #f8f9fa;
    padding: 20px;
    width: 100%;
}

#logo {
    max-width: 35%; /* Ancho del logo en PC */
    max-height: 100px; /* Altura máxima del logo */
    height: auto;   /* Mantiene la proporción del logo */
}

main {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.download-btn {
    display: inline-block;
    margin-top: 40px; /* Añade espacio encima del botón */
    padding: 10px 20px; /* Ajusta el relleno para dar más espacio al texto */
    background-color: #007bff;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    width: auto; /* Permite que el ancho se ajuste al contenido */
}

footer {
    background-color: #f1f1f1;
    padding: 10px;
    font-size: 12px; 
    width: 100%;
}

/* Media query para dispositivos móviles */
@media (max-width: 768px) {
    #logo {
        max-width: 65%; /* Ancho del logo en dispositivos móviles */
        max-height: none; /* Elimina la restricción de altura máxima en móviles */
    }
    
    .download-btn {
        width: auto; /* Permite que el ancho se ajuste al contenido en móviles también */
        white-space: nowrap; /* Asegura que el texto no se envuelva */
        padding-left: 20px; /* Ajusta el relleno horizontal si es necesario */
        padding-right: 20px; /* Ajusta el relleno horizontal si es necesario */
        margin-top: 40px; /* Añade espacio encima del botón en móviles también */
    }

    footer {
        position: fixed; /* Fija el pie de página a la parte inferior de la pantalla */
        bottom: 0;       /* Alinea el pie de página al fondo de la pantalla */
        left: 0;         /* Alinea el pie de página al lado izquierdo */
        right: 0;        /* Alinea el pie de página al lado derecho */
        z-index: 1000;   /* Asegura que el pie de página esté por encima de otros elementos */
        box-sizing: border-box; /* Incluye el relleno y borde en las dimensiones totales */
    }

    main {
        padding-bottom: 50px; /* Añade espacio al final del contenido principal para no solaparse con el pie de página fijo */
    }
}