body {
    margin: 0px;
}

h1,
h2 {
    font-family: 'Pacifico', cursive;
    font-weight: 400;
    /* Pacifico solo tiene un peso estándar */
    font-size: 2.5rem;
    margin: 0px;
}

h3 {
    margin: 0px;
    font-family: 'Montserrat', sans-serif;
}

/* Fuente para el cuerpo de texto (La parte de lectura) */
p,
li {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 18px;
    /* Peso normal para lectura */
    line-height: 1.6;
    /* Espaciado para que sea más cómodo leer */
}

/* Para resaltar texto importante */
strong {
    font-weight: 700;
}

span {
    color: #ffffff;
}

.main {
    margin: 0px;
    background: #242d2c;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    color: #ffffff;
}

a,
a:visited {
    color: #ffffff;
}

a:hover {
    color: #aaaaaa;
}

#btn-info {
    color: #ffffff;
    cursor: pointer;
}

#btn-info:hover {
    color: #aaaaaa;
}


.logo {
    margin: 12px;
    width: 50vw;
    align-items: center;
}

.logo img {
    /* Ajusta el ancho al contenedor */
    width: 100%;
}

.player {
    margin-top: 9px;
    margin-bottom: 0px;
    font-size: 150px;
}

.track {
    margin-top: 0px;
    margin-bottom: 12px;
    margin-left: 10%;
    margin-right: 10%;
    font-size: 27px;
    text-align: center;
}

.info {
    margin: 12px;
    font-size: 30px;
}

.info a {
    text-decoration: none;
}

.modal {
    display: none;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.modal-content {
    color: #ffffff;
    display: flex;
    flex-direction: column;
    max-height: 90vh;
    /* Necesario para el scroll */
    overflow: hidden;
    /* Oculta el desbordamiento del contenedor principal */
    background-color: #242d2c;
    margin: 3% auto;
    padding: 20px;
    border-radius: 12px;
    width: 1200px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    position: relative;
}

.modal-body {
    overflow-y: auto;
    /* Permite scroll solo en el cuerpo */
    flex: 1 1 auto;
    /* Ajusta el espacio disponible */
}


/* Botón de cerrar (X) */
.close-btn {
    position: absolute;
    z-index: 10;
    top: 10px;
    right: 15px;
    font-size: 24px;
    cursor: pointer;
}

.foto-info {
    width: 40%;
    border-radius: 12px;
}

/* --- AJUSTES PARA MÓVILES (Pantallas menores a 768px) --- */

@media only screen and (max-width: 1250px) {
    .main {
        padding: 15px;
    }

    .modal-content {
        width: 90%;
        /* Un poco más de margen lateral */
        margin: 2% auto;
        /* Bajamos un poco el modal */
        padding: 20px;
        /* Menos espacio interno */
        border-radius: 15px;
        /* Bordes más suaves para móvil */
        overflow-y: auto;
    }

    .logo {
        margin: 12px;
        width: 70vw;
        align-items: center;
    }

    .close-btn {
        top: 10px;
        right: 15px;
        font-size: 35px;
        /* Botón de cerrar más grande para facilitar el toque */
    }

    .track {
        font-size: 20px;
        /* Texto un poco más pequeño para evitar saltos de línea raros */
        padding: 0 10px;
    }

    .foto-info {
        width: 100%;
        max-width: 100%;
        /* Forzamos que use el ancho disponible */
    }

    /* Mejora la interacción táctil en enlaces y botones */
    a,
    #btn-info {
        padding: 8px 0;
        display: inline-block;
    }
}

/* --- AJUSTES PARA MÓVILES MUY PEQUEÑOS (Pantallas menores a 380px) --- */

/* @media screen and (max-width: 380px) {

    h1,
    h2 {
        font-size: 1.8rem;
    }

    .player {
        font-size: 70px;
        /* Evita que el icono de play se desborde */