/* 1. RESET Y FUENTES */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: #000;
    color: #fff;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* 2. BARRA DE NAVEGACIÓN */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 30px;
    border-bottom: 1px solid #222;
    background-color: #000;
}

.nav-links {
    display: flex;
    gap: 30px;
}

.nav-links a {
    color: #fff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.logo h1 {
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -1px;
    text-transform: uppercase;
}

/* --- REPRODUCTOR CÁPSULA (ESTÉTICA 100% RINSE) --- */

.player-master-container {
    display: flex;
    align-items: center;
    background: #ffffff; /* CÁPSULA BLANCA */
    border: none; /* Quitamos el borde para que destaque limpio */
    border-radius: 50px;
    padding: 5px 15px 5px 5px; 
    width: 320px; 
    height: 52px; 
    transition: width 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    overflow: hidden;
}

.player-master-container.is-expanded {
    width: 380px; 
    background: #f4f4f4; /* Un blanco un pelín más gris al expandir */
}

/* EL BOTÓN DE PLAY (AHORA ES NEGRO) */
.round-btn {
    width: 42px;  
    height: 42px;
    background-color: #000; /* Fondo negro */
    border: none;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-right: 15px; 
    transition: transform 0.2s ease;
}

.round-btn:hover { transform: scale(1.05); }

.play-icon {
    color: #fff; /* El triangulito de play ahora es blanco */
    font-size: 14px; 
    margin-left: 3px;
}

.track-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-grow: 1;
    min-width: 0; 
}

/* EL INDICADOR ON AIR (Sin borde y con letra negra) */
.live-badge {
    font-size: 10px;
    font-weight: 900;
    color: #000; /* Letra Negra */
    border: none; /* Fuera el recuadro */
    padding: 0;
    margin-bottom: 2px;
    display: inline-block;
    width: max-content;
    letter-spacing: 0.5px;
}

.ticker-wrapper {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
}

/* EL TEXTO DE LA CANCIÓN (Grueso y negro) */
.ticker-text {
    font-size: 12px;
    color: #000; /* Letra Negra */
    font-family: 'Inter', sans-serif; /* Usamos la fuente principal, más sólida */
    font-weight: 800; /* Letra muy gruesa */
    display: inline-block;
    animation: ticker-move 15s linear infinite;
}

@keyframes ticker-move {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}

.dj-image {
    width: 0;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    opacity: 0;
    transition: all 0.4s ease;
}

.is-expanded .dj-image {
    width: 38px; 
    opacity: 1;
    margin-left: 12px;
}

/* EL BOTÓN + (Ahora es negro) */
.plus-btn {
    background: none;
    border: none;
    color: #000; /* Negro para que contraste con el blanco */
    font-size: 24px;
    font-weight: 500;
    cursor: pointer;
    margin-left: 10px;
    transition: transform 0.3s;
}

.plus-btn:hover { transform: scale(1.2); } 
/* --- FIN DEL CÓDIGO ESTÉTICO --- */

/* --- RESTO DE LA WEB (HERO Y FOOTER) --- */
.hero-highlight {
    height: 85vh;
    background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.8)), url('img/hero-bg.jpg'); 
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    padding: 60px;
    border-bottom: 1px solid #222;
}

.content-overlay { max-width: 900px; }

.category-tag {
    font-size: 10px; font-weight: 900; letter-spacing: 3px; color: #fff;
    border: 1px solid #fff; padding: 4px 8px; display: inline-block; margin-bottom: 20px;
}

.main-title {
    font-size: clamp(40px, 10vw, 110px); font-weight: 900; line-height: 0.85;
    letter-spacing: -4px; text-transform: uppercase; margin-bottom: 25px;
}

.description {
    font-size: 16px; color: #bbb; margin-bottom: 30px; max-width: 500px;
}

.read-more {
    font-size: 12px; font-weight: 700; color: #fff; text-decoration: none;
    letter-spacing: 1px; border-bottom: 2px solid #fff; padding-bottom: 5px;
}

.main-footer { background-color: #000; padding: 80px 40px 40px; border-top: 1px solid #111; }
.footer-content { display: flex; justify-content: space-between; max-width: 1200px; margin: 0 auto; flex-wrap: wrap; gap: 40px; }
.footer-section { flex: 1; min-width: 200px; }
.footer-label { display: block; font-size: 10px; font-weight: 900; letter-spacing: 3px; color: #444; margin-bottom: 25px; }
.social-links-footer { display: flex; flex-direction: column; gap: 12px; }
.social-links-footer a { color: #fff; text-decoration: none; font-size: 11px; font-weight: 700; }
.app-status { font-size: 11px; color: #fff; }
.footer-bottom { margin-top: 80px; padding-top: 30px; border-top: 1px solid #0a0a0a; text-align: center; }
.footer-bottom p { font-size: 9px; color: #222; letter-spacing: 2px; }

/* Para móviles */
@media (max-width: 768px) {
    .navbar { padding: 15px; flex-wrap: wrap; justify-content: center; gap: 15px; }
    .nav-links { display: none; }
    .player-master-container { width: 100%; max-width: 400px; margin-top: 10px; }
}