/* --- ESTILOS BASE --- */
body {
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    margin: 0; padding: 0;
    background-color: #0f0f11;
    color: #e2e8f0;
    padding-bottom: 90px;
}

/* --- CABECERA GLOBAL --- */
.site-header {
    background: #16161a; padding: 20px; text-align: center;
    border-bottom: 3px solid #e11d48;
}
.site-header .logo img { max-width: 250px; height: auto; display: inline-block; }

/* --- DIRECTORIO DE ARTISTAS (Nueva Estructura) --- */
.titulo-directorio {
    color: #fff;
    text-align: center;
    font-size: 2.2rem;
    margin-bottom: 30px;
    text-transform: uppercase;
    border-bottom: 2px solid #e11d48;
    padding-bottom: 10px;
}

.grid-directorio {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 15px;
}

.link-directorio {
    background: #16161a;
    color: #e2e8f0;
    text-decoration: none;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid #27272a;
    text-align: center;
    font-weight: bold;
    font-size: 1.1rem;
    transition: all 0.3s ease;
}

.link-directorio:hover {
    background: #e11d48;
    color: #fff;
    transform: translateY(-3px);
    border-color: #e11d48;
    box-shadow: 0 4px 12px rgba(225, 29, 72, 0.4);
}

/* --- REPRODUCTOR FIXED --- */
.player-fixed-bar {
    position: fixed; bottom: 0; left: 0; width: 100%;
    background: #1e1b4b; border-top: 4px solid #e11d48;
    display: flex; justify-content: space-between; align-items: center;
    padding: 15px 30px; box-sizing: border-box; z-index: 9999;
}
.live-badge {
    background: #e11d48; color: #fff; padding: 2px 6px;
    font-weight: bold; font-size: 0.8rem; border-radius: 4px; margin-right: 10px;
}
.player-info { display: flex; align-items: center; }
.player-info p { margin: 0; font-weight: 500; }
.btn-salsa-play {
    background: #e11d48; color: white; border: none;
    padding: 10px 20px; font-weight: bold; border-radius: 20px;
    cursor: pointer; transition: 0.2s;
}
.btn-salsa-play:hover { background: #f43f5e; transform: scale(1.05); }

/* --- CONTENEDOR Y TEXTOS --- */
.contenedor-principal { max-width: 900px; margin: 30px auto; padding: 0 20px; }
#nombre-artista { font-size: 2.8rem; margin-bottom: 0; color: #ffffff; text-transform: uppercase; }
#seudonimo-artista { font-size: 1.3rem; color: #e11d48; margin-top: 5px; font-style: italic; font-weight: 600; letter-spacing: 1px; }
.parrafo-bio {
    font-size: 1.15rem; line-height: 1.8; color: #cbd5e1;
    margin-top: 0; margin-bottom: 24px; text-align: justify;
}

/* --- REJILLA DE DISCOS --- */
.grid-discos { display: grid; grid-template-columns: 1fr; gap: 30px; margin-top: 20px; }
@media (min-width: 768px) { .grid-discos { grid-template-columns: 1fr 1fr; } }
.tarjeta-disco { background: #16161a; border-radius: 8px; overflow: hidden; border: 1px solid #27272a; display: flex; flex-direction: column; }
.disco-portada img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.disco-detalles { padding: 20px; }
.disco-detalles h3 { margin-top: 0; color: #fff; font-size: 1.3rem; border-bottom: 1px solid #27272a; padding-bottom: 10px; }
.disco-anio { color: #a1a1aa; font-size: 1rem; }
.lista-temas { list-style: none; padding: 0; margin: 0; }
.lista-temas li { padding: 6px 0; border-bottom: 1px dashed #27272a; font-size: 0.95rem; color: #d4d4d8; }
.num-track { color: #e11d48; font-weight: bold; margin-right: 5px; }

/* --- RESPONSIVIDAD MÓVIL --- */
@media (max-width: 600px) {
    .player-fixed-bar { flex-direction: column; gap: 10px; text-align: center; padding: 10px; }
    #nombre-artista { font-size: 2rem; }
}