/* ==========================================
   LATIN MUSIC SERVICE - DJ POOL YELLOW EDITION
   ========================================== */

html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}
html {
    zoom: 0.90;
}

body {
    background-color: #0b0b0e;
    color: #e6c515;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding-bottom: 110px !important;
}

/* Unificación y optimización de botones de la barra superior */
header.top-nav .user-profile-box button,
header.top-nav .user-profile-box a,
.nav-buttons-group button {
    height: 36px !important;
    padding: 0 14px !important;
    border-radius: 6px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
    cursor: pointer !important;
    border: 1px solid #333338 !important;
    background: #18181f !important;
    color: #e6c515 !important;
    vertical-align: middle !important;
    transition: background 0.2s ease !important;
}

header.top-nav .user-profile-box button:hover,
header.top-nav .user-profile-box a:hover,
.nav-buttons-group button:hover {
    background: #252530 !important;
    border-color: #e6c515 !important;
}

#user-display-name {
    color: #34d399 !important;
    font-weight: bold;
}
/* Anclamos la barra de navegación superior para que NUNCA se mueva al hacer scroll */
.public-nav, .top-nav, header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    background-color: #0b0b0d !important; /* O el color de fondo que tenga tu cabecera */
}

/* Como la cabecera ahora es fija, empujamos un poquito el contenido principal hacia abajo para que no quede detrás de ella */
body {
    padding-top: 75px !important; /* Espacio exacto para que la cabecera fija no tape nada */
}
/* ==========================================
   ANIMACIONES DE BANNER
   ========================================== */

@keyframes zoomBanner {
    0% { transform: scale(1); }
    50% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

@keyframes aparecerTexto {
    0% { opacity: 0.5; transform: translateY(10px); }
    100% { opacity: 1; transform: translateY(0); }
}

.banner-principal-animado {
    position: relative;
    overflow: hidden;
}

.banner-principal-animado::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('uploads/banners/banner_global_top.png');
    background-size: cover;
    background-position: center;
    animation: zoomBanner 15s ease-in-out infinite;
    z-index: 1;
}

.banner-principal-animado .capa-oscura {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    z-index: 2;
}

.banner-contenido-texto {
    position: relative;
    z-index: 3;
    animation: aparecerTexto 2s ease-out;
}

/* ==========================================
   ESTILOS MODERNOS (Naturales y sin efectos saturados)
   ========================================== */

.playlist-card, 
.producers-grid > div, 
.plan-card-item, 
.sidebar-right .widget-box, 
.ad-card {
    background: #121215 !important;
    border: 1px solid #27272a !important;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    transition: border-color 0.2s ease !important;
}

.playlist-card:hover, 
.producers-grid > div:hover, 
.plan-card-item:hover, 
.ad-card:hover {
    border-color: #e6c515 !important;
}

.login-trigger-btn, 
.btn-publicar, 
.btn-producer, 
.btn-seleccionar-plan, 
#btn-checkout-cart, 
.buy-btn {
    position: relative;
    background: #e6c515 !important;
    color: #000000 !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 8px 16px;
    cursor: pointer;
    transition: background 0.2s ease !important;
}

.login-trigger-btn:hover, 
.btn-publicar:hover, 
.btn-producer:hover, 
.btn-seleccionar-plan:hover, 
#btn-checkout-cart:hover, 
.buy-btn:hover {
    background: #facc15 !important;
}

/* ==========================================
   TRENDING & SOCIAL PROOF (YELLOW EDITION)
   ========================================== */

@media (max-width: 768px) {
    .trending-carousel-wrapper {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .trending-track-track {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        width: max-content !important;
        animation: none !important;
    }
}

.trending-track-track:hover {
    animation-play-state: running;
}

.trending-item {
    width: 180px;
    background: #121215;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #27272a;
    text-align: center;
    flex-shrink: 0;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5);
    transition: border-color 0.2s ease !important;
}

.trending-item:hover {
    border-color: #e6c515 !important;
}

.trending-item img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

@keyframes scrollTrending {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.social-proof-badge {
    background: rgba(230, 197, 21, 0.1);
    border: 1px solid rgba(230, 197, 21, 0.4);
    color: #e6c515;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    animation: pulseBadge 2s infinite;
}

@keyframes pulseBadge {
    0% { box-shadow: 0 0 0 0 rgba(230, 197, 21, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(230, 197, 21, 0); }
    100% { box-shadow: 0 0 0 0 rgba(230, 197, 21, 0); }
}
/* ==========================================
   LANDING PÚBLICA (VISITANTES - YELLOW EDITION)
   ========================================== */
#public-landing {
    display: flex;
    flex-direction: column;
    padding-bottom: 120px;
}

.public-nav, .top-nav {
    background-color: #121216 !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 30px;
    border-bottom: 1px solid rgba(230, 197, 21, 0.2) !important;
    flex-wrap: wrap;
    gap: 15px;
}

.logo-container {
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 15px !important;
}

.brand-logo-img {
    height: 40px;
    object-fit: contain;
    flex-shrink: 0 !important;
}

.logo-container h1, .public-nav h1 {
    font-family: 'Poppins', sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.nav-buttons-group {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.btn-vip-solicitar {
    background: #e6c515 !important;
    border: none !important;
    color: #000000 !important;
    font-weight: bold !important;
    border-radius: 6px !important;
    padding: 8px 16px;
    transition: background 0.2s ease !important;
}

.btn-vip-solicitar:hover {
    background: #facc15 !important;
}

.hero-spot {
    position: relative;
    width: 100%;
    min-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-bottom: 2px solid #e6c515;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: rgba(15, 12, 25, 0.7);
    background-blend-mode: overlay;
    transition: background 0.3s ease;
}

.spot-content h2 {
    font-size: 2.2rem;
    color: #ffffff;
    margin-bottom: 10px;
    text-shadow: 0 0 15px rgba(0, 0, 0, 0.8);
}

.spot-content p {
    font-size: 1rem;
    color: #a1a1aa;
    max-width: 650px;
    margin: 0 auto;
}

/* ANUNCIOS SECUNDARIOS */
.promo-ads-container {
    display: flex;
    gap: 20px;
    padding: 30px 40px 10px 40px;
    max-width: 1500px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

.ad-card {
    flex: 1;
    border-radius: 12px;
    padding: 30px;
    position: relative;
    overflow: hidden;
    min-height: 350px; 
    background: #121215;
    border: 1px solid #27272a;
}

.ad-card.has-bg-img::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(11, 11, 14, 0.75);
    z-index: 1;
}

.ad-card h4, .ad-card p {
    position: relative;
    z-index: 2;
}

.ad-card h4 {
    margin: 0 0 12px 0;
    color: #ffffff;
    font-size: 1.4rem;
}

.ad-card p {
    margin: 0;
    color: #a1a1aa;
    font-size: 1.05rem;
}

/* TABLA DE TRACKS TOP */
.top-tracks-section {
    padding: 40px;
    max-width: 1500px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

.top-tracks-section h3 {
    color: #ffffff;
    margin-bottom: 5px;
}

.subtitle {
    color: #71717a;
    margin-bottom: 20px;
    font-size: 1.2rem;
}

.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
/* ========================================================================= */
/* TABLA COMPACTA Y ALINEADA (YELLOW EDITION)                                */
/* ========================================================================= */

.top-tracks-section table, 
.track-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

/* Distribución exacta de las 5 columnas */
.top-tracks-section th:nth-child(1), .top-tracks-section td:nth-child(1), .track-table th:nth-child(1), .track-table td:nth-child(1) { width: 20% !important; } 
.top-tracks-section th:nth-child(2), .top-tracks-section td:nth-child(2), .track-table th:nth-child(2), .track-table td:nth-child(2) { width: 32% !important; } 
.top-tracks-section th:nth-child(3), .top-tracks-section td:nth-child(3), .track-table th:nth-child(3), .track-table td:nth-child(3) { width: 20% !important; } 
.top-tracks-section th:nth-child(4), .top-tracks-section td:nth-child(4), .track-table th:nth-child(4), .track-table td:nth-child(4) { width: 14% !important; text-align: center !important; } 
.top-tracks-section th:nth-child(5), .top-tracks-section td:nth-child(5), .track-table th:nth-child(5), .track-table td:nth-child(5) { width: 14% !important; text-align: center !important; } 

/* Línea separadora horizontal entre cada track */
.top-tracks-section tr, 
.track-table tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Padding reducido para los encabezados con acento de texto claro/amarillo sutil */
.top-tracks-section th, 
.track-table th {
    padding: 8px 10px !important; /* Reducido para acortar altura */
    font-size: 0.8rem !important;
    color: #e6c515 !important;
    text-align: left;
    vertical-align: middle !important;
}

/* Padding reducido e ideal para las celdas de las canciones */
.top-tracks-section td, 
.track-table td {
    padding: 7px 10px !important; /* ¡Aquí estrechamos el alto de cada celda! */
    vertical-align: middle !important;
}

/* Estilos de los textos internos */
.top-tracks-section td .track-title, 
#top-tracks-body .track-title {
    font-size: 0.95rem !important;
    color: #ffffff !important;
    font-weight: bold;
    display: block;
}

.top-tracks-section td .track-artist, 
#top-tracks-body .track-artist {
    font-size: 0.82rem !important;
    color: #a1a1aa !important;
    display: block;
    margin-top: 1px;
}
/* ==========================================
   REPRODUCTOR GLOBAL Y VISOR DE ONDA (YELLOW EDITION)
   ========================================== */
.global-player {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background-color: #121216 !important;
    border-top: 1px solid rgba(230, 197, 21, 0.3) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 15px !important;
    box-sizing: border-box !important;
    z-index: 100 !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    box-shadow: 0 -5px 25px rgba(0,0,0,0.6);
}

.global-player .player-info {
    width: 20% !important;
    flex-shrink: 0 !important;
}

.player-info h4 { margin: 0; color: #ffffff; font-size: 0.9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.player-info p { margin: 2px 0 0 0; font-size: 0.75rem; color: #a1a1aa; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.web-waveform-wrapper {
    background-color: #0b0b0e !important;
    border: 1px solid rgba(230, 197, 21, 0.25);
    border-radius: 6px;
    padding: 2px 8px;
    height: 60px !important;
    width: 700px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    gap: 8px !important;
}

.global-player .player-controls {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}

.btn-group {
    display: flex;
    gap: 4px;
}

.control-btn {
    background-color: #18181d;
    color: white;
    border: 1px solid rgba(230, 197, 21, 0.2);
    padding: 6px 10px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.8rem;
    transition: all 0.2s ease;
}

.control-btn:hover {
    border-color: #e6c515;
    color: #e6c515;
}

.play-btn {
    background-color: #e6c515 !important;
    color: #000000 !important;
    font-weight: 800 !important;
    box-shadow: 0 0 12px rgba(230, 197, 21, 0.4);
}

.volume-control {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #fff;
    font-size: 0.8rem;
}

#volumeSlider {
    width: 60px;
    accent-color: #e6c515;
}

#unified-time-display {
    color: #e6c515;
    font-family: monospace;
    font-size: 12px;
    font-weight: bold;
    min-width: 70px;
}

.played-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #e6c515;
    border-radius: 50%;
    margin-right: 6px;
    box-shadow: 0 0 8px rgba(230, 197, 21, 0.8);
}

.track-row.played-track .track-title { color: #a1a1aa; }

.star-rating-box { display: inline-flex; gap: 3px; cursor: pointer; user-select: none; }
.star-rating-box .star { color: #27272a; font-size: 1.1rem; transition: color 0.15s ease, transform 0.15s ease; }
.star-rating-box .star.active { color: #f59e0b; }
/* ==========================================
   INTERFAZ PRIVADA Y PANEL LMS (YELLOW EDITION)
   ========================================== */
#private-app {
    display: flex;
    flex-direction: column;
}

.member-badge {
    font-size: 0.65rem;
    background-color: #e6c515;
    color: #000000;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 800;
}

.search-container input {
    background-color: #18181d !important;
    border: 1px solid rgba(230, 197, 21, 0.3) !important;
    color: white;
    padding: 8px 15px;
    border-radius: 20px;
    outline: none;
    transition: all 0.2s ease;
}

.search-container input:focus {
    border-color: #e6c515 !important;
}

.user-profile-box {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.credits-pill {
    background-color: #18181d;
    border: 1px solid #e6c515;
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: bold;
    font-size: 0.85rem;
    color: #e6c515;
}

.logout-link {
    background: none;
    border: none;
    color: #a1a1aa;
    cursor: pointer;
    font-weight: 600;
}

.logout-link:hover {
    color: #ffffff;
}

.upload-section {
    background-color: #121216;
    margin: 20px 30px;
    padding: 20px;
    border-radius: 10px;
    border: 1px dashed rgba(230, 197, 21, 0.4);
}

.upload-section.producer-theme {
    border: 1px dashed #e6c515;
    background-color: #121216;
}

.upload-section h3, .upload-section h4 {
    color: #ffffff;
    margin-top: 0;
}

.section-subtitle {
    color: #94a3b8;
    font-size: 0.85rem;
    margin-top: -8px;
    margin-bottom: 15px;
}

.form-row {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.form-row > div, .form-row > input {
    flex: 1;
    min-width: 200px;
}

.form-group {
    position: relative;
}

.upload-section input, .upload-section select {
    background-color: #0b0b0e;
    border: 1px solid rgba(230, 197, 21, 0.2);
    color: #e0e0e0;
    padding: 8px 12px;
    border-radius: 6px;
    width: 100%;
    box-sizing: border-box;
}

.form-checkboxes {
    display: flex;
    gap: 20px;
    color: #ffffff;
    font-size: 0.9rem;
}

.btn-producer {
    background: #e6c515 !important;
    color: #000000 !important;
    font-weight: bold !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 8px 16px;
    cursor: pointer;
    transition: background 0.2s ease !important;
}

.btn-producer:hover {
    background: #facc15 !important;
}

.form-divider {
    border: 0;
    border-top: 1px dashed rgba(230, 197, 21, 0.2);
    margin: 20px 0;
}

.cms-subform {
    background-color: #0e0e12;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid rgba(230, 197, 21, 0.15);
}

.cms-subform h4 {
    margin-top: 0;
    color: #e6c515;
    font-size: 0.95rem;
}

/* ==========================================
   DASHBOARD PRINCIPAL (ESTRUCTURA LMS - YELLOW EDITION)
   ========================================== */
.thamer-dashboard {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 20px !important;
    padding: 0 22px !important; /* Respiro a los lados */
    background-color: #0b0b0e;
    color: #ffffff;
    box-sizing: border-box !important;
}

.featured-hero-banner {
    background: linear-gradient(135deg, #18181f 0%, #0b0b0e 100%);
    border: 1px solid rgba(230, 197, 21, 0.2);
    border-radius: 12px;
    padding: 120px 40px;
    text-align: center;
    margin-bottom: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.hero-card-main h2 {
    font-size: 2.8rem;
    font-weight: 900;
    letter-spacing: 2px;
    margin: 0;
    color: #ffffff;
    text-shadow: 0 0 15px rgba(0, 0, 0, 0.8);
}

.hero-card-main p {
    color: #e6c515;
    font-weight: bold;
    letter-spacing: 3px;
    margin-top: 5px;
}

.quick-nav-cards {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 15px !important; /* Más separación entre botones */
    margin-bottom: 30px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.nav-card {
    background-color: #121216 !important;
    border: 1px solid rgba(230, 197, 21, 0.2) !important;
    padding: 16px 12px !important; /* Más altura y padding interno */
    border-radius: 8px !important;
    font-size: 0.85rem !important;
    font-weight: bold !important;
    text-align: center !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    color: #e6c515 !important;
    transition: all 0.2s ease !important;
}

.nav-card:hover, .nav-card.active-card {
    background: #e6c515 !important;
    border-color: #e6c515 !important;
    color: #000000 !important;
}

.releases-header small {
    color: #e6c515;
    font-weight: bold;
    letter-spacing: 1px;
}

.releases-header h2 {
    font-size: 1.8rem;
    margin: 5px 0 2px 0;
    color: #ffffff;
}

.section-desc {
    color: #71717a;
    font-size: 0.9rem;
    margin-bottom: 15px;
}

.genre-pills-container {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.pill-btn {
    background-color: #121216;
    border: 1px solid rgba(230, 197, 21, 0.2);
    color: #a1a1aa;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pill-btn:hover, .pill-btn.active {
    background-color: #e6c515;
    color: #000000;
    border-color: #e6c515;
}
/* ==========================================
   FILTROS ARMÓNICOS Y RANGO DE BPM (YELLOW EDITION)
   ========================================== */
.harmonic-filter-bar {
    display: flex;
    align-items: flex-end;
    gap: 20px;
    background-color: #121216;
    border: 1px solid #27272a;
    padding: 15px 20px;
    border-radius: 10px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.filter-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.filter-item label {
    font-size: 0.8rem;
    font-weight: bold;
    color: #e6c515;
    letter-spacing: 0.5px;
}

.filter-select, .bpm-inputs input {
    background-color: #0b0b0e;
    border: 1px solid #27272a;
    color: #ffffff;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.85rem;
    outline: none;
}

.filter-select:focus, .bpm-inputs input:focus {
    border-color: #e6c515;
}

.bpm-inputs {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bpm-inputs input {
    width: 90px;
    text-align: center;
}

.reset-filter-btn {
    background-color: #18181d;
    color: #a1a1aa;
    border: 1px solid #27272a;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s ease;
    height: 38px;
}

.reset-filter-btn:hover {
    background-color: #e6c515;
    color: #000000;
    border-color: #e6c515;
}

.badge-key {
    white-space: nowrap;
    padding: 4px 6px; 
}

.download-version-btn {
    padding: 4px 8px !important;      
    font-size: 0.75rem !important;     
    margin: 2px;                      
}

/* ==========================================
   MI MALETA / FAVORITOS (YELLOW EDITION)
   ========================================== */
.btn-fav {
    background: none !important;
    border: none !important;
    font-size: 0.55rem !important;
    cursor: pointer;
    color: #52525b;
    transition: transform 0.2s ease, color 0.2s ease;
}

.btn-fav:hover {
    transform: scale(1.2);
    color: #e6c515;
}

.btn-fav.active {
    color: #e6c515;
}

#fav-count {
    color: #e6c515;
    font-weight: bold;
}
/* ==========================================
   TABLA DE TRACKS (YELLOW EDITION)
   ========================================== */
   
.track-table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.track-row {
    height: auto !important;
    transition: background 0.2s ease !important;
}

.track-row:hover {
    background: #18181f !important;
}

.track-row td {
    padding: 10px 12px !important;
    vertical-align: middle !important;
}

/* ==========================================
   ALINEACIÓN HORIZONTAL DE PORTADA Y TÍTULO
   ========================================== */

.track-row td:nth-child(3) {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    max-width: 380px !important;
}

.track-row img, 
.tracklist-container img {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.track-title { 
    font-weight: 700 !important; 
    color: #ffffff !important; 
    font-size: 0.85rem !important;
    line-height: 1.3 !important;
    display: block !important;
}

.track-artist { 
    font-size: 0.75rem !important; 
    color: #a1a1aa !important; 
    line-height: 1.2 !important;
    margin-top: 2px !important;
    display: block !important;
}

/* ==========================================
   BOTÓN DE PLAY LIMPIO
   ========================================== */
.play-sm-btn {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #34d399 !important;
    width: auto !important;
    height: auto !important;
    min-width: unset !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

.play-sm-btn:hover {
    background: transparent !important;
    background-color: transparent !important;
    filter: brightness(1.2);
    transform: scale(1.1);
}

/* ==========================================
   SELECTORES Y BADGES (BPM, GÉNERO, KEY)
   ========================================== */

.track-row select,
.tracklist-container select,
select[class*="version"] {
    background-color: #141418 !important;
    color: #f4f4f5 !important;
    border: 1px solid #27272a !important;
    border-radius: 4px !important;
    font-size: 0.72rem !important;
    padding: 4px 8px !important;
    height: 30px !important;
    outline: none;
}

.track-row select:focus,
.tracklist-container select:focus,
select[class*="version"]:focus {
    border-color: #e6c515 !important;
}

.badge-bpm, .badge, .badge-key {
    font-size: 0.72rem !important;
    padding: 3px 6px !important;
    border-radius: 4px !important;
    background: #18181f !important;
    color: #e6c515 !important;
    border: 1px solid #27272a !important;
}

/* ==========================================
   COLUMNA DE VERSIONES Y DESCARGAS (CÁPSULAS - AZUL)
   ========================================== */

.track-row td:last-child {
    max-width: 170px !important;
    width: 170px !important;
}

.version-buttons-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 160px !important;
}

.download-version-btn {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 160px !important;
    height: auto !important;
    background: rgba(56, 189, 248, 0.15) !important;
    color: #bae6fd !important;
    border: 1px solid rgba(56, 189, 248, 0.35) !important;
    border-radius: 4px !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    padding: 5px 8px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
}

.download-version-btn small {
    color: #38bdf8 !important;
    font-size: 0.65rem !important;
    font-weight: bold !important;
}

.download-version-btn:hover {
    background: rgba(56, 189, 248, 0.25) !important;
    color: #ffffff !important;
    border-color: rgba(56, 189, 248, 0.6) !important;
}
/* ==========================================
   MODALES Y VERIFICACIÓN DJ VIP (YELLOW EDITION)
   ========================================== */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(3, 3, 5, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.modal-card, .modal-box {
    background-color: #121216;
    border: 1px solid #27272a;
    border-radius: 12px;
    padding: 25px;
    width: 90%;
    max-width: 480px;
    position: relative;
    color: #ffffff;
    box-sizing: border-box;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.7);
}

.modal-card h3, .modal-box h3 { color: #fff; margin-top: 0; }
.modal-card p, .modal-desc { color: #a1a1aa; font-size: 0.85rem; margin-bottom: 15px; }

.modal-card input, .modal-box input {
    width: 100%;
    background-color: #0b0b0e;
    border: 1px solid #27272a;
    color: white;
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 10px;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.2s ease;
}

.modal-card input:focus, .modal-box input:focus {
    border-color: #e6c515;
}

.submit-auth-btn { 
    background: #e6c515; 
    color: #000000; 
    border: none; 
    padding: 10px; 
    font-weight: 800; 
    border-radius: 6px; 
    cursor: pointer; 
    width: 100%;
    transition: background 0.2s ease;
}

.submit-auth-btn:hover {
    background: #facc15;
}
/* ==========================================
   SELECTORES, VERSIONES Y ESTILO UNA SOLA LÍNEA (PRO - YELLOW EDITION)
   ========================================== */

/* Forzar que cada fila de la tabla sea estrictamente una sola línea horizontal */
.track-table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.track-row {
    display: table-row !important;
    height: 48px !important;
}

.track-row td {
    display: table-cell !important;
    padding: 4px 8px !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

/* Letras de la información de la canción en blanco puro y limpias */
.track-title { 
    font-weight: 600 !important; 
    color: #ffffff !important; 
    font-size: 0.85rem !important;
}

.track-artist { 
    font-size: 0.78rem !important; 
    color: #a1a1aa !important; 
}

/* Selector de versiones sólido, sin bordes ni fondos azulinos */
.track-row select,
.tracklist-container select,
select[class*="version"],
.track-row div[style*="background"] select {
    background-color: #141418 !important;
    color: #ffffff !important;
    border: 1px solid #27272a !important;
    border-radius: 6px !important;
    padding: 4px 8px !important;
    font-size: 0.78rem !important;
    outline: none;
}

.track-row select:focus,
.tracklist-container select:focus,
select[class*="version"]:focus,
.track-row div[style*="background"] select:focus {
    border-color: #e6c515 !important;
}

/* Botones de versión y descargas */
.download-version-btn,
.track-row button[class*="version"],
.track-row a[class*="version"] {
    color: #e6c515 !important;
    border: 1px solid #27272a !important;
    background-color: #141418 !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
}

.download-version-btn:hover {
    background-color: #e6c515 !important;
    color: #000000 !important;
    border-color: #e6c515 !important;
}

/* Nombre del productor con el color amarillo corporativo y limpio */
.track-row td:nth-child(4),
.track-row .producer-name,
.track-row span[class*="producer"] {
    color: #e6c515 !important;
    font-weight: 700 !important;
}
/* ==========================================
   BANNERS LATERALES (CORREGIDO Y CENTRADO - YELLOW EDITION)
   ========================================== */
.site-wrapper {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
    max-width: 1650px;
    margin: 20px auto;
    padding: 0 10px;
}

.side-banner {
    width: 200px;
    flex-shrink: 0;
    position: sticky;
    top: 20px;
}

.side-banner img {
    width: 100%;
    max-height: 450px;
    border-radius: 8px;
    border: 1px solid #27272a;
    object-fit: contain;
    background: #121216;
}

.main-content-area {
    flex: 1;
    max-width: 1200px;
}

@media (max-width: 1400px) {
    .side-banner { display: none; }
}

/* Sidebar y Widgets */
.sidebar-right {
    background-color: #121216;
    border: 1px solid #27272a;
    border-radius: 12px;
    padding: 12px;
}

.widget-box {
    margin-bottom: 15px;
}

.widget-box h3 {
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
    color: #e6c515 !important;
}

.producer-card-item {
    background: #18181d;
    border: 1px solid #27272a;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: transform 0.2s, border-color 0.2s;
}

.producer-card-item:hover {
    transform: translateY(-3px);
    border-color: #e6c515;
}

.social-pill-btn {
    background-color: #18181d;
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: bold;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 0.2s, border-color 0.2s;
    border: 1px solid #27272a;
}

.social-pill-btn:hover {
    background-color: #e6c515;
    color: #000000;
    border-color: #e6c515;
}

/* ==========================================
   GESTIÓN DE VERSIONES Y BOTONES LATERALES (YELLOW EDITION)
   ========================================== */

/* 1. Botones de reproducción y controles de la barra lateral derecha */
.sidebar-table button,
.sidebar-right button,
.sidebar-table .play-sm-btn,
.sidebar-right .play-sm-btn,
.widget-box button {
    background-color: #e6c515 !important;
    color: #000000 !important;
    border: 1px solid #27272a !important;
    transition: all 0.2s ease;
}

.sidebar-table button:hover,
.sidebar-right button:hover,
.widget-box button:hover {
    background-color: #facc15 !important;
    border-color: #e6c515 !important;
}

/* 2. Estilo neutro y limpio para botones de versión y descargas */
.download-version-btn, 
.version-pill {
    background-color: #18181d !important; 
    color: #9ca3af !important;             
    border: 1px solid #27272a !important;  
    transition: all 0.2s ease;
}

.download-version-btn:hover, 
.version-pill:hover {
    background-color: #27272e !important;
    color: #ffffff !important;
    border-color: #38bdf8 !important;
}

.download-version-btn.active, 
.download-version-btn.downloaded,
.version-pill.active {
    background-color: #38bdf8 !important; 
    color: #000000 !important;
    border-color: #38bdf8 !important;
    font-weight: 800 !important;
}

/* 3. Autoplay y botones específicos de control general */
#btn-autoplay, 
.autoplay-btn, 
[id*="autoplay"] {
    background-color: #38bdf8 !important;
    color: #000000 !important;
    border: 1px solid #38bdf8 !important;
    font-weight: 800 !important;
}


/* ==========================================
   CARRUSEL DINÁMICO DE PRODUCTORES (YELLOW EDITION)
   ========================================== */

.producers-carousel-wrapper {
    overflow: hidden;
    width: 100%;
    padding: 20px 0;
    position: relative;
}

.producers-track {
    display: flex !important;
    flex-direction: row !important;
    gap: 25px;
    width: max-content;
    animation: scrollProducers 30s linear infinite;
}

.producers-track:hover {
    animation-play-state: paused;
}

.producer-slide-item {
    width: 140px;
    text-align: center;
    flex-shrink: 0;
    background: #121216;
    border: 1px solid #27272a;
    padding: 15px 10px;
    border-radius: 12px;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.producer-slide-item:hover {
    transform: translateY(-5px);
    border-color: #e6c515;
}

@keyframes scrollProducers {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
/* ==========================================
   WIDGETS DERECHOS & TOP ELECTRÓNICA (YELLOW EDITION)
   ========================================== */

.sidebar-right .widget-box h3,
.sidebar-right h3 {
    color: #e6c515 !important;
    font-size: 0.95rem !important;
    font-weight: bold !important;
}

.sidebar-right table {
    width: 100% !important;
    font-size: 0.75rem !important;
    border-collapse: collapse !important;
}

.sidebar-right td, 
.sidebar-right th {
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .sidebar-right {
        display: block !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* ==========================================
   CONTROL DE PAGINA IMAGEN DE FONDO (YELLOW EDITION)
   ========================================== */
body {
    background-color: #0b0b0d; 
    background-image: url('uploads/tu-imagen-de-manchas.jpg');
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    mix-blend-mode: normal; 
    opacity: 1;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(11, 11, 13, 0.10);
    z-index: -2;
}

.panel-flotante, 
div[style*="background: #121214"], 
div[style*="background: #18181b"] {
    background: #121216 !important;
    border: 1px solid #27272a !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.banner-slider-vertical {
    width: 240px;
    height: 350px;
    overflow: hidden;
    position: relative;
    background: #121216;
    border: 1px solid #27272a;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
}

.banner-track {
    display: flex;
    flex-direction: column;
    gap: 15px;
    transition: transform 0.6s ease-in-out; 
}

.banner-item {
    width: 100%;
    height: 350px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    overflow: hidden;
}

.banner-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.promo-horizontal-track {
    display: flex;
    gap: 20px;
    width: max-content;
    animation: scrollHorizontalPromo 20s linear infinite;
}

.promo-horizontal-item {
    width: 280px; 
    height: 120px; 
    background: #18181d;
    border: 1px solid #27272a;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.promo-horizontal-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* ==========================================
   ANIMACIONES Y CARRUSELES (YELLOW EDITION)
   ========================================== */

@keyframes scrollHorizontalPromo {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.carrusel-productores-wrapper {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    padding: 15px 0;
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.carrusel-productores-track {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px;
    width: max-content;
    animation: scrollProductores 25s linear infinite;
}

.carrusel-productores-track:hover {
    animation-play-state: paused;
}

@keyframes scrollProductores {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.carrusel-horizontal-wrapper {
    overflow: hidden !important;
    width: 100% !important;
    display: flex !important;
}

.carousel-track, .patrocinadores-grid {
    display: flex !important;
    width: max-content !important;
    animation: scrollHorizontal 60s linear infinite;
    animation-play-state: running !important; 
}

@keyframes scrollHorizontal {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@media (max-width: 768px) {
    #hero-spot {
        height: 50vh !important;
        position: relative !important;
        overflow: hidden !important; 
    }
    
    .bg-video {
        object-position: center !important;
    }

    .glory-title {
        font-size: 1.5rem !important;
        word-wrap: break-word !important;
        white-space: normal !important;
        line-height: 1.1 !important;
        width: 90% !important;
        margin: 0 auto 10px auto !important;
    }

    .side-list {
        display: none !important;
    }

    .subtitle {
        font-size: 0.8rem !important;
        margin-bottom: 15px !important;
    }

    .carousel-track, .patrocinadores-grid {
        animation-play-state: running !important;
        overflow: visible !important; 
    }
}

/* ==========================================
   TRENDING PÚBLICO RESPONSIVE (YELLOW EDITION)
   ========================================== */

@media (max-width: 768px) {
    #contenedor-trending-publico, .trending-track-track {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        width: max-content !important;
        animation: none !important; 
    }

    #contenedor-trending-publico > div {
        width: 260px !important;
        height: 85px !important;
        padding: 10px !important;
        gap: 10px !important;
        flex-shrink: 0 !important;
        background: #121216 !important;
        border: 1px solid #27272a !important;
        border-radius: 8px !important;
    }

    #contenedor-trending-publico img {
        width: 60px !important;
        height: 60px !important;
        border-radius: 8px !important;
        object-fit: cover !important;
    }

    #contenedor-trending-publico div[style*="font-size: 0.95rem"] {
        font-size: 0.85rem !important;
        color: #ffffff !important;
    }
}

/* ==========================================
   ESTRUCTURA GENERAL Y CONTENEDORES (YELLOW EDITION)
   ========================================== */

@media (min-width: 1024px) {
    /* 1. Contenedor principal de la aplicación privada (Diseño en Grid de 3 columnas) */
    #private-app > .private-grid-container {
        display: grid !important;
        grid-template-columns: 240px minmax(0, 1fr) 300px !important;
        gap: 20px !important;
        max-width: 1750px !important; /* Ancho equilibrado */
        margin: 0 auto !important;
        padding: 25px !important;
        box-sizing: border-box !important;
        align-items: start !important; /* Evita que los elementos se estiren a la fuerza */
    }

    /* 2. Sidebar Izquierda con toque amarillo de Electronic (Fijo y limpio) */
    .sidebar-izquierda-menu {
        background: #121215 !important;
        border: 1px solid #27272a !important;
        border-left: 4px solid #e6c515 !important; /* Acento amarillo corporativo */
        border-radius: 12px !important;
        padding: 10px !important;
        height: calc(100vh - 25px) !important; /* Altura perfecta que respeta la cabecera superior */
        position: sticky !important;
        top: 40px !important; /* Se fija limpiamente dejando espacio exacto para la barra superior */
        overflow-y: auto !important;
        box-sizing: border-box !important;
        z-index: 100 !important;
        /* Ocultar scrollbar de forma limpia */
        scrollbar-width: none !important; 
        -ms-overflow-style: none !important; 
    }

    .sidebar-izquierda-menu::-webkit-scrollbar {
        display: none !important; 
    }

    /* 3. Columna Central y estabilidad de contenedores para evitar desbordes */
    .private-grid-container > div:nth-child(2) {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .private-grid-container .top-nav {
        width: 100% !important;
        box-sizing: border-box;
    }

    .contenido-central-wrapper, 
    .thamer-dashboard, 
    .tracklist-container, 
    .table-responsive {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }
}

/* ==========================================
   IMPORTANTE: LANDING PÚBLICA E INICIO DE SESIÓN (YELLOW EDITION)
   ========================================== */

body {
    background-color: #07070a !important;
    color: #f4f4f5 !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.widget-box, 
.thamer-dashboard, 
.tracklist-container, 
.sidebar-izquierda-menu,
.sidebar-right {
    background: #0d0d12 !important;
    border: 1px solid #27272a !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
}

.btn-primary, 
.sidebar-link.active,
button[style*="background: #7928ca"],
button[style*="background: #a855f7"],
button[style*="background: #a21caf"],
button[style*="background: rgb(121, 40, 202)"],
button[style*="background: rgb(168, 85, 247)"] {
    background: #e6c515 !important;
    color: #000000 !important;
    border: none !important;
    font-weight: 700 !important;
    transition: background 0.2s ease !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
}

.btn-primary:hover, 
.sidebar-link:hover,
button[style*="background: #7928ca"]:hover,
button[style*="background: #a855f7"]:hover,
button[style*="background: #a21caf"]:hover {
    background: #facc15 !important;
    color: #000000 !important;
}

.featured-hero-banner {
    border-radius: 16px !important;
    border: 1px solid #27272a !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.7) !important;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: #07070a;
}
::-webkit-scrollbar-thumb {
    background: #27272a;
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: #e6c515;
}
/* ==========================================
   MENÚ LATERAL FLOTANTE TIPO DRAWER (YELLOW EDITION - RETRÁCTIL)
   ========================================== */



/* 3. Botón flotante para abrir y cerrar el menú perfectamente ubicado */
#toggle-sidebar-btn {
    position: fixed;
    top: 22px; /* Alineado con la barra superior principal */
    left: 15px;
    z-index: 10000; /* Siempre por encima de todo */
    background: #e6c515 !important;
    color: #000000 !important;
    border: 1px solid #e6c515 !important;
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: bold;
    font-size: 0.78rem;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 0.2s ease, transform 0.2s ease;
}

#toggle-sidebar-btn:hover {
    background: #facc15 !important;
    transform: scale(1.03);
}

/* 4. Aseguramos que el contenido principal de la grilla aproveche todo el ancho */
#private-app > div.private-grid-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 300px !important;
    gap: 20px !important;
    max-width: 2000px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}
/* ==========================================
   FORZAR VISIBILIDAD DE PLANES Y PRECIOS (YELLOW EDITION)
   ========================================== */

/* Asegurar que cualquier contenedor o lista de planes sea visible por defecto */
.plans-list-container, 
#admin-planes-list, 
.gestion-planes-wrapper div,
div[id*="plan"],
div[class*="plan-item"] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #ffffff !important;
    background-color: #18181d !important;
    border: 1px solid #27272a !important;
    border-radius: 8px !important;
    padding: 10px 15px !important;
    margin-bottom: 8px !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* Forzar que los textos y precios dentro de la lista de planes sean perfectamente legibles */
.plans-list-container span, 
.plans-list-container p,
#admin-planes-list span,
#admin-planes-list p {
    color: #ffffff !important;
    font-size: 0.85rem !important;
}

/* Estilo visible para los botones de eliminar o editar dentro de los planes listados */
.plans-list-container button,
#admin-planes-list button,
.gestion-planes-wrapper button {
    background-color: #e6c515 !important;
    color: #000000 !important;
    border: none !important;
    padding: 5px 10px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-size: 0.75rem !important;
    font-weight: bold !important;
    transition: background 0.2s ease !important;
}

.plans-list-container button:hover,
#admin-planes-list button:hover {
    background-color: #facc15 !important;
}
/* ==========================================
   SOLUCIÓN DEFINITIVA: SCROLL Y VISIBILIDAD DE PLANES EN MODAL (YELLOW EDITION)
   ========================================== */

/* Forzar que el modal o la caja contenedora permita desplazamiento vertical y muestre todo el contenido inferior */
.modal-card, .modal-box, div[style*="background-color: #121216"] {
    max-height: 90vh !important;
    overflow-y: auto !important;
    padding-bottom: 60px !important; /* Espacio extra abajo para que los planes no queden cortados */
    background-color: #121216 !important;
    border: 1px solid #27272a !important;
}

/* Asegurar que el contenedor de la tabla de planes sea visible y no colapse */
#admin-plans-table-container {
    display: block !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 15px !important;
    margin-bottom: 30px !important;
}
/* ========================================================================= */
/* ESTSTILOS: CARRITO / MALETA DE COMPRAS */
/* ========================================================================= */
.cart-drawer-overlay {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 300px;
    height: 100%;
    background: #18181b;
    border-left: 1px solid #27272a;
    z-index: 10000;
    padding: 20px;
    box-sizing: border-box;
    color: #fff;
    flex-direction: column;
}
/* PLANES DE PAGO--------Aseguramos que el modal no corte nada */
#payment-modal .modal-card {
    max-height: 85vh !important;
    overflow-y: auto !important;
    padding: 20px !important;
}

/* Estilo forzado para las tarjetas */
.plan-card-item {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    background: #18181b !important;
    border: 2px solid #3f3f46 !important;
    border-radius: 8px !important;
    padding: 10px !important;
    width: 140px !important;
    margin: 5px !important;
    min-height: 200px !important; /* Damos altura mínima para que el texto quepa */
}

/* Forzamos visibilidad de las descripciones */
.plan-card-item div {
    display: block !important;
    visibility: visible !important;
}

.plan-card-item .beneficios-box {
    color: #a1a1aa !important;
    font-size: 0.65rem !important;
    background: #09090b !important;
    padding: 6px !important;
    border-radius: 4px !important;
    margin-top: 5px !important;
    text-align: left !important;
    display: block !important;
}
#paypal-button-container {
    background: #ffffff !important;
    padding: 25px !important;
    border-radius: 8px !important;
    margin-top: 15px !important;
    width: 100% !important;
    max-width: 600px !important;  /* Un ancho cómodo y elegante */
    margin-left: auto !important;  /* Centra automáticamente la caja horizontalmente */
    margin-right: auto !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* Centra los botones y campos de tarjeta al medio */
    justify-content: center !important;
}

/* Forzar que los elementos internos de PayPal también se centren */
#paypal-button-container > div {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}
/* ==========================================
   CORRECCIÓN DEFINITIVA DE COLORES Y ESTILOS (INDEX - YELLOW EDITION)
   ========================================== */

/* 1. Corazón limpio sin bordes ni círculos */
.track-row td button.btn-fav {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: #52525b;
}

.track-row td button.btn-fav:hover,
.track-row td button.btn-fav.active {
    color: #e6c515 !important;
}

/* 2. Botón de Play verde brillante, limpio y sin fondo circular */
.track-row .play-sm-btn {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #34d399 !important;
    font-size: 1.1rem !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
}
.track-row .play-sm-btn:hover {
    background: transparent !important;
    filter: brightness(1.2);
    transform: scale(1.1);
}

/* 3. Productor en amarillo brillante */
.track-row td:nth-child(4) span,
.track-row td:nth-child(4) {
    color: #e6c515 !important;
    font-weight: 700 !important;
}

/* 4. BPM en blanco limpio para la tabla */
.track-row .badge-bpm, 
.track-row td:nth-child(5) span {
    color: #ffffff !important;
    background: #18181f !important;
    border: 1px solid #27272a !important;
    border-radius: 4px !important;
    padding: 2px 6px !important;
    font-size: 0.72rem !important;
}

/* 5. Género y Key en estilo sólido sin transparencias */
.track-row .badge-genre,
.track-row .badge-key,
.track-row td:nth-child(6) span,
.track-row td:nth-child(7) span {
    background: #18181f !important;
    color: #a1a1aa !important;
    border: 1px solid #27272a !important;
    border-radius: 4px !important;
    padding: 2px 6px !important;
    font-size: 0.72rem !important;
}

/* 6. Botones de versiones en estilo azul moderno */
.version-buttons-container .download-version-btn {
    background: rgba(56, 189, 248, 0.15) !important;
    color: #bae6fd !important;
    border: 1px solid rgba(56, 189, 248, 0.35) !important;
    border-radius: 4px !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    padding: 5px 8px !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
}

.version-buttons-container .download-version-btn:hover {
    background: rgba(56, 189, 248, 0.25) !important;
    color: #ffffff !important;
    border-color: rgba(56, 189, 248, 0.6) !important;
}

/* 7. Estado cuando ya está descargado (Azul Completado) */
.version-buttons-container .download-version-btn[style*="background: rgb(6, 95, 70)"],
.version-buttons-container .download-version-btn.downloaded {
    background: #0369a1 !important; /* Azul sólido profesional */
    border-color: #38bdf8 !important; /* Borde celeste brillante */
    color: #e0f2fe !important; /* Texto claro de confirmación */
}
/* ==========================================
   AJUSTES FINALES DE DISEÑO Y TAMAÑOS (INDEX - YELLOW EDITION)
   ========================================== */

/* 1. Botón Play verde limpio sin círculos ni fondos */
.track-row .play-sm-btn {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #34d399 !important;
    font-size: 1rem !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
}
.track-row .play-sm-btn:hover {
    background: transparent !important;
    filter: brightness(1.2);
    transform: scale(1.1);
}

/* 2. Selector de versiones compacto y elegante en Preview (Azul) */
.track-row select.preview-version-select {
    background-color: #121216 !important;
    color: #bae6fd !important;
    border: 1px solid rgba(56, 189, 248, 0.35) !important;
    border-radius: 4px !important;
    font-size: 0.68rem !important;
    padding: 2px 4px !important;
    height: 24px !important;
    max-width: 115px !important;
    outline: none;
    transition: border-color 0.2s ease;
}

.track-row select.preview-version-select:focus {
    border-color: #38bdf8 !important;
    box-shadow: 0 0 5px rgba(56, 189, 248, 0.25) !important;
}

/* 3. Reducir un poco más las letras y marcos generales de la tabla */
.track-row td {
    font-size: 0.78rem !important;
    padding: 6px 8px !important;
}
/* ==========================================
   REPRODUCTOR GLOBAL COMPACTO (YELLOW EDITION)
   ========================================== */
.global-player {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 65px !important; /* Altura fija compacta */
    background-color: #121216 !important;
    border-top: 1px solid #27272a !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 6px 20px !important;
    box-sizing: border-box !important;
    z-index: 100 !important;
    gap: 15px !important;
    box-shadow: 0 -5px 20px rgba(0,0,0,0.7);
}

/* Información del track a la izquierda más compacta */
.global-player .player-info {
    width: 180px !important;
    flex-shrink: 0 !important;
}

.global-player .player-info h4 {
    font-size: 0.8rem !important;
    margin: 0;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.global-player .player-info p {
    font-size: 0.68rem !important;
    margin: 2px 0 0 0;
    color: #a1a1aa;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Visor de onda de audio elegante y reducido */
.web-waveform-wrapper {
    background-color: #0b0b0e !important;
    border: 1px solid #27272a;
    border-radius: 6px;
    padding: 0 6px;
    height: 45px !important;
    flex: 1 !important;
    max-width: 600px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

/* ==========================================
   REPRODUCTOR GLOBAL INFERIOR (Estilo Perfil Productor - Fijo y Estable - YELLOW EDITION)
   ========================================== */
.global-player {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 65px !important; /* Altura compacta fija */
    background: #121216 !important;
    border-top: 1px solid #27272a !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 20px !important;
    box-sizing: border-box !important;
    z-index: 99999 !important;
    gap: 15px !important;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.9);
    flex-wrap: nowrap !important;
}

/* 1. Información del track fija y acotada */
.global-player .player-info {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 220px !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
}

.global-player .player-info h4 { 
    margin: 0; 
    color: #ffffff; 
    font-size: 0.85rem; 
    font-weight: 700;
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}

.global-player .player-info p { 
    margin: 3px 0 0 0; 
    font-size: 0.72rem; 
    color: #e6c515; 
    font-weight: 500;
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}

/* 2. Botón de descarga rápido dentro del reproductor (Azul) */
.global-player button[id*="download"], 
.global-player .btn-descarga-player {
    background: rgba(56, 189, 248, 0.15) !important;
    color: #bae6fd !important;
    border: 1px solid rgba(56, 189, 248, 0.35) !important;
    padding: 5px 10px !important;
    border-radius: 6px !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0 !important;
    transition: all 0.2s ease !important;
}

.global-player button[id*="download"]:hover, 
.global-player .btn-descarga-player:hover {
    background: rgba(56, 189, 248, 0.25) !important;
    color: #ffffff !important;
    border-color: rgba(56, 189, 248, 0.6) !important;
}

/* 3. Onda de audio central con tamaño controlado */
.web-waveform-wrapper {
    background: #0b0b0e !important;
    border: 1px solid #27272a;
    border-radius: 8px;
    padding: 2px 10px;
    height: 44px !important;
    flex: 1 !important;
    max-width: 900px !important;
    min-width: 200px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    box-shadow: inset 0 2px 6px rgba(0,0,0,0.6);
    flex-shrink: 1 !important;
}

#audioWaveformCanvas {
    flex: 1 !important;
    height: 30px !important;
    width: 100% !important;
    display: block;
    cursor: pointer;
    margin: 0 8px;
}

/* 4. Controles de reproducción fijos y rígidos */
.global-player .player-controls {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
}

.global-player .btn-group {
    display: flex !important;
    gap: 5px !important;
    flex-shrink: 0 !important;
}

.global-player .control-btn {
    background: #18181f;
    color: #e4e4e7;
    border: 1px solid #27272a;
    padding: 6px 10px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 600;
    flex-shrink: 0 !important;
    transition: all 0.25s ease;
}

.global-player .control-btn:hover {
    background: #e6c515;
    border-color: #e6c515;
    color: #000000;
}

.global-player .play-btn {
    background: #e6c515 !important;
    color: #000000 !important;
    font-weight: 800 !important;
    border: 1px solid #27272a !important;
}

.global-player .play-btn:hover {
    background: #facc15 !important;
}

#btn-autoplay {
    background: #18181f !important;
    color: #e6c515 !important;
    border: 1px solid #27272a !important;
    padding: 5px 10px;
    border-radius: 6px;
    font-weight: bold;
    font-size: 0.75rem;
    cursor: pointer;
    flex-shrink: 0 !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
}

#btn-autoplay:hover {
    background: #e6c515 !important;
    color: #000000 !important;
    border-color: #e6c515 !important;
}

/* 5. Contenedor de volumen blindado (Evita que mueva los botones al arrastrar) */
.volume-container, 
.global-player div[style*="background: rgba(255, 255, 255, 0.04)"] {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
    min-width: 120px !important;
    background: #18181f !important;
    padding: 5px 10px !important;
    border-radius: 20px !important;
    border: 1px solid #27272a !important;
}

#volumeSlider {
    width: 55px !important;
    accent-color: #e6c515 !important;
    cursor: pointer;
    flex-shrink: 0 !important;
}

#current-time-display, #remaining-time-display {
    color: #e6c515 !important;
    font-weight: 600;
    font-size: 0.7rem;
    flex-shrink: 0 !important;
}
/* ==========================================
   EXPANSIÓN DE CONTENEDORES A FULL PANTALLA (YELLOW EDITION)
   ========================================== */
.container, 
main, 
.main-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
    box-sizing: border-box !important;
}

/* Ampliar el banner principal y los bloques de pestañas para que ocupen todo el ancho disponible */
.profile-hero, 
.banner-global-top, 
.global-top-container,
.filtros-navegacion-container {
    width: 100% !important;
    max-width: 100% !important;
    background-color: #121216 !important;
    border: 1px solid #27272a !important;
}




/* ========================================================================== */
/* LMS - CSS UNIFICADO Y ROBUSTO (ADAPTABILIDAD MÓVIL Y ESTILOS PRO - YELLOW EDITION) */
/* ========================================================================== */

/* 1. CONFIGURACIÓN DE FONDO Y PANELES SÓLIDOS */
body {
    background-color: #0b0b0d; 
    background-image: url('uploads/tu-imagen-de-manchas.jpg');
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    mix-blend-mode: normal;
    opacity: 1;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(11, 11, 13, 0.75);
    z-index: -2;
}

.panel-flotante, 
div[style*="background: #121214"], 
div[style*="background: #18181b"] {
    background: #121216 !important;
    border: 1px solid #27272a !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

/* 2. CARRUSELES Y MARQUESINAS (VERTICALES Y HORIZONTALES) */
.banner-slider-vertical {
    width: 240px;
    height: 350px;
    overflow: hidden;
    position: relative;
    background: #121216;
    border: 1px solid #27272a;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
}

.banner-track {
    display: flex;
    flex-direction: column;
    gap: 15px;
    transition: transform 0.6s ease-in-out;
}

.banner-item {
    width: 100%;
    height: 350px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.banner-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.promo-horizontal-container,
.carrusel-productores-wrapper,
.carrusel-horizontal-wrapper {
    width: 100%;
    max-width: 1300px;
    margin: 25px auto;
    overflow: hidden;
    position: relative;
    padding: 15px 0;
    border-radius: 16px;
    background: #121216;
    border: 1px solid #27272a;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.promo-horizontal-track,
.carrusel-productores-track,
.carousel-track, 
.patrocinadores-grid {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px;
    width: max-content !important;
    animation: scrollHorizontal 80s linear infinite;
    animation-play-state: running !important;
}

.promo-horizontal-track:hover,
.carrusel-productores-track:hover {
    animation-play-state: paused !important;
}

.promo-horizontal-item {
    width: 280px;
    height: 120px;
    background: #18181d;
    border: 1px solid #27272a;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.promo-horizontal-item img,
.producer-slide-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.producer-slide-item {
    width: 140px;
    text-align: center;
    flex-shrink: 0;
    background: #121216;
    border: 1px solid #27272a;
    padding: 15px 10px;
    border-radius: 12px;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.producer-slide-item:hover {
    transform: translateY(-5px);
    border-color: #e6c515;
}

@keyframes scrollHorizontal {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* 3. WIDGETS DERECHOS & SIDEBAR */
.sidebar-right .widget-box,
.sidebar-right .sidebar-widget {
    background: #121216 !important;
    border: 1px solid #27272a !important;
    border-radius: 10px !important;
    padding: 12px !important;
    margin-bottom: 20px !important;
}

.sidebar-right .widget-box h3,
.sidebar-right h3 {
    color: #e6c515 !important;
    font-size: 0.95rem !important;
    font-weight: bold !important;
}

.sidebar-right table {
    width: 100% !important;
    font-size: 0.75rem !important;
    border-collapse: collapse !important;
}

.sidebar-right td, 
.sidebar-right th {
    color: #ffffff !important;
}

/* Altura mínima fija para evitar saltos al filtrar */
.tracklist-container {
    min-height: 600px;
    display: flex;
    flex-direction: column;
}

.table-responsive {
    flex-grow: 1;
    min-height: 550px;
    overflow-x: auto !important;
}

/* ==========================================
   ADAPTABILIDAD MÓVIL (RESPONSIVE DESIGN UNIFICADO - YELLOW EDITION)
   ========================================== */
@media screen and (max-width: 900px) {
    /* 1. Contenedores generales a pantalla completa sin desbordes */
    .container, 
    main, 
    .main-content,
    .thamer-dashboard,
    #private-app, 
    .dashboard-main-content, 
    .tracklist-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .thamer-dashboard {
        grid-template-columns: 1fr !important;
        padding: 10px !important;
    }

    /* 2. Ocultar elementos laterales pesados en móviles */
    .side-banner,
    .sidebar-right {
        display: none !important;
    }

    /* 3. Ajuste de carruseles y cuadrículas */
    .promo-horizontal-container,
    .carrusel-productores-wrapper,
    .carrusel-horizontal-wrapper {
        max-width: 100% !important;
        margin: 15px 0 !important;
        border-radius: 8px !important;
    }

    .quick-nav-cards {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }

    /* 4. Transformación de la tabla de tracks a bloques móviles limpios */
    .track-table thead {
        display: none !important;
    }

    .track-table, 
    .track-table tbody {
        display: block !important;
        width: 100% !important;
    }

    .track-row {
        display: flex !important;
        flex-direction: column !important;
        background-color: #121216 !important;
        border: 1px solid #27272a !important;
        border-radius: 8px !important;
        padding: 12px !important;
        margin-bottom: 10px !important;
        gap: 10px !important;
    }

    .track-row td:nth-child(1),
    .track-row td:nth-child(5),
    .track-row td:nth-child(6),
    .track-row td:nth-child(7),
    .track-row td:nth-child(8) {
        display: none !important;
    }

    .track-row td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    .track-row td:nth-child(2),
    .track-row td:nth-child(3),
    .track-row td:nth-child(4),
    .track-row td:nth-child(9) {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .track-row td:nth-child(3) {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 2px !important;
    }

    .track-title {
        font-size: 0.95rem !important;
        color: #ffffff !important;
        white-space: normal !important;
        word-break: break-word;
    }

    .track-artist {
        font-size: 0.8rem !important;
        color: #a1a1aa !important;
    }

    .version-buttons-container {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        width: 100% !important;
        margin-top: 5px !important;
    }

    .download-version-btn {
        flex: 1 !important;
        text-align: center !important;
        padding: 6px 8px !important;
        font-size: 0.75rem !important;
        background: #18181d !important;
        color: #38bdf8 !important;
        border: 1px solid #27272a !important;
        border-radius: 4px !important;
    }

    .download-version-btn:hover {
        background: #38bdf8 !important;
        color: #000000 !important;
    }

    /* 5. Modales y Tarjetas de Planes */
    .modal-card, .modal-box {
        width: 95% !important;
        padding: 15px !important;
        margin: 10px auto !important;
        background-color: #121216 !important;
        border: 1px solid #27272a !important;
    }

    .plan-card-item {
        width: 100% !important;
        max-width: 260px !important;
        margin: 5px auto !important;
        background: #18181d !important;
        border: 2px solid #27272a !important;
    }

    /* 6. Navegación superior y buscador */
    .public-nav, .top-nav {
        padding: 10px !important;
        flex-direction: column !important;
    }

    .search-container {
        width: 100% !important;
    }

    /* ========================================================== */
    /* 7. REPRODUCTOR GLOBAL MÓVIL (BLINDADO Y HORIZONTAL)        */
    /* ========================================================== */
    .global-player {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 60px !important; /* Altura fija para evitar que crezca */
        min-height: 60px !important;
        max-height: 60px !important;
        padding: 6px 10px !important;
        background-color: #121216 !important;
        border-top: 1px solid #27272a !important;
        box-shadow: 0 -5px 20px rgba(0,0,0,0.8) !important;
        z-index: 99999 !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 6px !important;
        overflow: hidden !important; /* Evita que cualquier elemento se desborde */
    }

    /* Ocultar elementos estorbosos */
    div[style*="Volumen Preview"], 
    #volumeSlider,
    .volume-container,
    #btn-autoplay {
        display: none !important;
    }

    /* Información del track a la izquierda */
    .global-player .player-info {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        text-align: left !important;
    }
    
    .player-info h4 {
        font-size: 0.75rem !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        margin: 0 !important;
    }
    
    .player-info p {
        font-size: 0.9rem !important;
        color: #38bdf8 !important;
        margin: 0 !important;
    }

    /* Contenedor de la forma de onda horizontal y estricta */
    .web-waveform-wrapper {
        width: 90px !important;
        min-width: 90px !important;
        max-width: 90px !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        padding: 2px !important;
        background: #0b0b0e !important;
        border: 1px solid #27272a !important;
        border-radius: 4px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }
    
    #audioWaveformCanvas {
        height: 30px !important;
        width: 100% !important;
        display: block !important;
    }

    /* Controles de reproducción ordenados en fila a la derecha */
    .global-player .player-controls {
        display: flex !important;
        flex-direction: row !important;
        gap: 3px !important;
        align-items: center !important;
        flex-shrink: 0 !important;
    }

    .btn-group {
        display: flex !important;
        gap: 3px !important;
    }
    
    .control-btn, .player-controls button {
        padding: 4px 7px !important;
        font-size: 0.65rem !important;
        background: #18181d !important;
        color: #e4e4e7 !important;
        border: 1px solid #27272a !important;
        border-radius: 4px !important;
        cursor: pointer;
    }

    #btn-autoplay {
        display: none !important; /* Ocultar para ahorrar espacio en pantallas chicas */
    }

    /* 8. Hero y contenidos multimedia públicos */
    #hero-spot {
        height: 50vh !important;
        position: relative !important;
        overflow: hidden !important;
    }
    
    .bg-video {
        object-position: center !important;
    }

    .glory-title {
        font-size: 1.5rem !important;
        word-wrap: break-word !important;
        white-space: normal !important;
        line-height: 1.1 !important;
        width: 90% !important;
        margin: 0 auto 10px auto !important;
    }

    .subtitle {
        font-size: 0.8rem !important;
        margin-bottom: 15px !important;
    }

    #contenedor-trending-publico > div {
        width: 260px !important;
        height: 85px !important;
        padding: 10px !important;
        gap: 10px !important;
        flex-shrink: 0 !important;
        background: #121216 !important;
        border: 1px solid #27272a !important;
        border-radius: 8px !important;
    }

    #contenedor-trending-publico img {
        width: 60px !important;
        height: 60px !important;
        border-radius: 8px !important;
    }

    #contenedor-trending-publico div[style*="font-size: 0.95rem"] {
        font-size: 0.85rem !important;
    }
}
/* ==========================================
   RESPLANDOR AMARILLO PARA TÍTULOS Y BOTONES (YELLOW EDITION)
   ========================================== */

/* 1. Títulos principales con resplandor amarillo brillante */
.glory-title, 
.hero-card-main h2, 
h1, 
h2 {
    color: #ffffff !important;
    text-shadow: 0 0 15px rgba(230, 197, 21, 0.6) !important;
}



/* 3. Botones principales con brillo y resplandor amarillo */
.hero-card-main a[href*="register"], 
.hero-card-main button, 
#hero-spot .btn-primary,
a.btn-primary,
button.btn-primary {
    background: #e6c515 !important;
    color: #000000 !important;
    border: 1px solid #facc15 !important;
    box-shadow: 0 0 15px rgba(230, 197, 21, 0.5) !important;
    font-weight: 700 !important;
    transition: all 0.2s ease !important;
}

.hero-card-main a[href*="register"]:hover, 
.hero-card-main button:hover, 
#hero-spot .btn-primary:hover {
    background: #facc15 !important;
    box-shadow: 0 0 20px rgba(230, 197, 21, 0.8) !important;
    transform: scale(1.02);
}

/* ==========================================
   BOTONES DE PLAY / PAUSE BLANCOS (CLEAN EDITION)
   ========================================== */

/* Selector exclusivo para botones de reproducción (Preview, Play Global, Top Electronic y Sidebar) */
.track-row .play-sm-btn,
.btn-play-top-elec,
.global-player .play-btn,
.sidebar-right button[id*="play"],
.sidebar-right .play-btn,
button[class*="play"] {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #d4d4d8 !important;
    border-radius: 50% !important; /* Mantiene la forma circular */
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
    transition: all 0.2s ease !important;
}

/* Efecto Hover para los botones de Play */
.track-row .play-sm-btn:hover,
.btn-play-top-elec:hover,
.global-player .play-btn:hover,
.sidebar-right button[id*="play"]:hover,
.sidebar-right .play-btn:hover,
button[class*="play"]:hover {
    background-color: #f4f4f5 !important;
    transform: scale(1.1) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4) !important;
    color: #000000 !important;
}
#tab-productores-filtro:hover {
    background-color: #18181d !important;
    border-color: #e6c515 !important;
    color: #facc15 !important;
}
/* ==========================================
   BOTONES UNIFICADOS DE NAVEGACIÓN (YELLOW EDITION)
   ========================================== */
.nav-unified-btn,
.public-nav .login-trigger-btn,
.public-nav button {
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    background-color: #121216 !important;
    color: #e6c515 !important;
    border: 1px solid #27272a !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 38px !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
    
    /* CORRECCIÓN: Margen a la derecha para que no se coman el borde de la pantalla */
    margin-right: 8px !important; 
}

/* El último botón de la barra no necesita margen extra a la derecha para mantener simetría */
.public-nav button:last-child,
.public-nav .login-trigger-btn:last-child {
    margin-right: 0 !important;
}

.nav-unified-btn:hover,
.public-nav .login-trigger-btn:hover,
.public-nav button:hover {
    background-color: #e6c515 !important;
    color: #000000 !important;
    border-color: #e6c515 !important;
    transform: translateY(-1px);
}
/* ==========================================
   BOTÓN NEÓN CAMBIADO A AMARILLO (YELLOW EDITION)
   ========================================== */
.btn-neon {
    background-color: #121216 !important;
    color: #e6c515 !important;
    border: 1px solid #e6c515 !important;
    box-shadow: 0 0 15px rgba(230, 197, 21, 0.3) !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    padding: 8px 18px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.25s ease !important;
}

.btn-neon:hover {
    background-color: #e6c515 !important;
    color: #000000 !important;
    border-color: #e6c515 !important;
    box-shadow: 0 0 25px rgba(230, 197, 21, 0.6) !important;
    transform: translateY(-2px);
}
/* Estilos limpios para el reproductor inferior unificado */
.player-bar-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #0f0f13;
    border-top: 1px solid #27272a;
    padding: 8px 15px;
    width: 100%;
    box-sizing: border-box;
    color: #fff;
    position: relative;
    z-index: 1000;
}

.player-controls-group {
    display: flex;
    align-items: center;
    gap: 6px; /* Espacio reducido para que entren todos en una línea */
    flex-wrap: nowrap;
}

.player-controls-group .player-btn {
    white-space: nowrap;
    font-size: 0.75rem;
    padding: 5px 10px;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s ease;
}
/* Asegurar que la imagen de portada se ajuste perfectamente al marco */
.track-row .track-artwork, 
.track-row td:nth-child(3) img {
    width: 40px !important;      /* O el tamaño que tengas definido para el cuadrado */
    height: 40px !important;
    object-fit: contain !important; /* Cambia esto para que la imagen completa quepa en el marco (con fondo si no es cuadrada) */
    /* O usa object-fit: cover; si prefieres que llene todo el marco y recorte los excesos */
    border-radius: 4px;          /* Mantiene las esquinas redondeadas */
    background-color: #18181f;   /* Un fondo oscuro por si la imagen es transparente o no llena el marco con object-fit: contain */
    display: block;
    margin: 0 auto;
}
/* Ajustar carátulas y logo por defecto en el Sidebar Derecho */
.sidebar-right img, 
.sidebar-right .track-img, 
.right-sidebar img {
    width: 36px !important;      /* Tamaño del marco en la lista lateral */
    height: 36px !important;
    object-fit: contain !important; /* Mantiene la proporción del logo completo sin deformarlo */
    background-color: #18181f;   /* Fondo oscuro por si la imagen es transparente */
    border-radius: 4px;
    display: block;
}

