/* ==========================================================================
   STRUTTURA BARRA PERSISTENTE GLOBALE UNIVERSALE v7.5
   ========================================================================== */
#rsn-persistent-player-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 90px !important;
    z-index: 99999999 !important;
    background: #111111 !important;
    color: #ffffff !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.9) !important;
    box-sizing: border-box !important;
    border-top: 2px solid #007cba !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    display: block !important;
}

/* CONTENITORE INTERNO FLEX */
.rsn-player-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 100% !important;
    padding: 0 25px !important;
    gap: 20px !important;
}

/* BLOCCO 1: COPERTINA E TITOLI (A SINISTRA) */
.rsn-player-meta-block {
    display: flex !important;
    align-items: center !important;
    flex: 1 !important;
    max-width: 35% !important;
    overflow: hidden !important;
    gap: 15px !important;
}

.rsn-player-cover-wrap {
    width: 58px !important;
    height: 58px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #000000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
}

#rsn-player-cover {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.rsn-player-track-info {
    overflow: hidden !important;
    text-align: left !important;
    flex: 1 !important;
}

#rsn-player-track-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin: 0 0 3px 0 !important;
}

#rsn-player-track-artist {
    font-size: 12px !important;
    color: #ffcc00 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin: 0 !important;
}

/* BLOCCO 2: CONTROLLI AUDIO (AL CENTRO ESATTO) */
.rsn-player-controls-block {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    flex: 1 !important;
    justify-content: center !important;
}

#rsn-main-play-btn {
    background: #007cba !important;
    color: #ffffff !important;
    border: none !important;
    padding: 10px 22px !important;
    font-size: 13px !important;
    font-weight: bold !important;
    border-radius: 20px !important;
    cursor: pointer !important;
    min-width: 95px !important;
    transition: background 0.2s ease !important;
}

#rsn-volume-slider {
    width: 75px !important;
    cursor: pointer !important;
    accent-color: #007cba !important;
}

/* BLOCCO 3: CONTENITORE SPONSOR (A DESTRA) */
.rsn-player-sponsor-block {
    flex: 1.2 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    max-width: 40% !important;
}

#rsn-player-dynamic-sponsor {
    width: 100% !important;
    text-align: right !important;
}

/* ==========================================================================
   GESTIONE RESPONSIVE: BANNER SPONSOR SOLO SU PC, NASCOSTI SU MOBILE
   ========================================================================== */
@media (max-width: 991px) {
    /* Nasconde completamente il blocco del banner a destra su smartphone e tablet */
    #rsn-persistent-player-bar .rsn-player-sponsor-block {
        display: none !important;
    }

    /* I titoli prendono lo spazio che resta e si accorciano con i "...":
       niente larghezza minima, altrimenti la barra sfora lo schermo e il
       telefono rimpicciolisce tutta la pagina (striscia vuota a destra). */
    #rsn-persistent-player-bar .rsn-player-meta-block {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    /* I controlli restano a destra e occupano solo il loro spazio */
    #rsn-persistent-player-bar .rsn-player-controls-block {
        flex: 0 0 auto !important;
        justify-content: flex-end !important;
    }
}

/* Telefono: barra più compatta, il volume si regola con i tasti del telefono */
@media (max-width: 600px) {
    #rsn-persistent-player-bar { overflow: hidden !important; }
    #rsn-persistent-player-bar .rsn-player-inner { padding: 0 12px !important; gap: 10px !important; }
    #rsn-persistent-player-bar .rsn-player-meta-block { gap: 10px !important; }
    #rsn-persistent-player-bar .rsn-player-cover-wrap { width: 46px !important; height: 46px !important; }
    #rsn-persistent-player-bar .rsn-player-controls-block { gap: 8px !important; }
    #rsn-persistent-player-bar #rsn-volume-slider { display: none !important; }
    #rsn-persistent-player-bar #rsn-main-play-btn { padding: 8px 16px !important; min-width: 48px !important; }
    #rsn-persistent-player-bar #rsn-voice-record-btn { margin-right: 0 !important; }
}

/* Telefono e tablet: la pagina non può essere più larga dello schermo.
   Se un elemento qualsiasi sporge (un modulo, un'immagine, un widget),
   Chrome allarga anche la barra fissa del player alla larghezza della
   pagina e Play/microfono finiscono fuori schermo a destra. "clip" (non
   "hidden") taglia solo ciò che sporge di lato: non crea una seconda
   barra di scorrimento e non rompe le intestazioni fisse (sticky). */
@media (max-width: 991px) {
    html,
    body { overflow-x: clip !important; }
}

/* Modulo "Richiedi canzone con dedica" (shortcode [rsn_centova_dedica]):
   caselle a tutta larghezza invece di 40 caratteri fissi, che sul
   telefono uscivano dallo schermo. */
.rsn-centova-embed { max-width: 100%; }
.rsn-centova-dedica input[type="text"] {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 4px 0 10px;
}
