/* A área após a descrição da rádio mantém o fundo branco solicitado. */
.public-news,.public-gallery,.public-portal { background:#fff; color:#1b1b1b; }
.public-news .public-section-container,.public-gallery .public-section-container,.public-portal .public-section-container { padding-top:32px; padding-bottom:32px; }
.public-news .public-section-container p,.public-gallery .public-section-container p,.public-portal .public-section-container p { color:#555; }
.public-news a,.public-gallery a,.public-portal a { color:var(--site-accent, #9436ef); }
.public-news-list,.public-news-item { border-color:#ddd; }
.public-news-excerpt,.public-news-summary time { color:#666; }
.public-news-read,.public-news-collapse { color:var(--site-accent, #9436ef); }
.public-module { border-bottom:1px solid #ddd; scroll-margin-top:calc(var(--site-player-height) + 40px); }
.public-module > summary { display:flex; align-items:center; justify-content:space-between; padding:28px 0; cursor:pointer; list-style:none; }
.public-module > summary::-webkit-details-marker { display:none; }
.public-module > summary h2 { margin:0; font-size:28px; font-weight:700; line-height:1.2; }
.public-module > summary span { font-size:12px; margin-left:18px; color:var(--site-accent, #9436ef); }
.public-module > summary:focus { outline:2px solid var(--site-accent); outline-offset:4px; }
.public-module .module-close-label { display:none; }
.public-module[open] > summary .module-close-label { display:inline; }
.public-module[open] > summary .module-open-label { display:none; }
.public-module-body { padding:12px 0 38px; }
.public-module-body > details { margin-bottom:20px; }
.public-editorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.public-editorial-card { min-width:0; overflow-wrap:break-word; }
.public-editorial-card > img { width:100%; height:220px; object-fit:contain; background:#f5f5f5; border-radius:10px; }
.public-editorial-card h3 { font-size:21px; margin:18px 0 12px; }
.public-editorial-card summary { cursor:pointer; font-size:13px; color:var(--site-accent, #9436ef); margin:14px 0; }
.public-inline-links { display:flex; flex-wrap:wrap; margin:16px 0; }
.public-inline-links a { display:inline-block; margin:0 18px 12px 0; font-size:13px; line-height:1.5; }
.public-schedule { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.public-schedule-day h3 { font-size:18px; margin:0 0 16px; }
.public-schedule-row { display:flex; padding:14px 0; border-bottom:1px solid #eee; }
.public-schedule-row > span { width:140px; flex-shrink:0; font-size:12px; padding-right:16px; }
.public-schedule-row strong,.public-top-tracks strong { display:block; font-size:14px; }
.public-schedule-row small,.public-top-tracks small { display:block; margin-top:5px; color:#666; font-size:12px; }
.public-top-tracks { list-style:none; padding:0; margin:0; }
.public-top-tracks li { display:flex; align-items:center; margin:0 0 18px; }
.public-top-tracks li > span { width:28px; font-size:12px; }
.public-top-tracks img { width:56px; height:56px; object-fit:cover; margin-right:16px; border-radius:6px; }
.public-top-tracks a { font-size:12px; display:inline-block; margin-top:6px; }
.public-listener-message { margin:0 0 24px; padding:16px 20px; background:#f7f7f7; border-left:2px solid var(--site-accent); }
.public-listener-message footer { color:#666; font-size:12px; }
.public-form { max-width:620px; }
.public-form > label:not(.public-form-trap) { display:block; margin:0 0 18px; font-size:13px; line-height:1.6; }
.public-form input:not([type=checkbox]):not([type=hidden]),.public-form textarea { display:block; width:100%; border:1px solid #ccc; border-radius:6px; padding:11px 12px; margin-top:6px; color:#222; background:#fff; font-size:14px; }
.public-form input:focus,.public-form textarea:focus { outline:2px solid var(--site-accent); outline-offset:1px; }
.public-form > label.public-check { display:flex; align-items:flex-start; }
.public-check input[type=checkbox] { flex:0 0 16px; width:16px; height:16px; min-height:16px; margin:3px 10px 0 0; padding:0; accent-color:var(--site-accent); }
.public-form button[type=submit] { background:var(--site-accent); color:#fff; border:0; border-radius:7px; padding:11px 22px; font:600 13px Arial; cursor:pointer; }
.public-form button:disabled { opacity:.6; cursor:wait; }
.public-form .public-form-result { font-size:12px; margin:14px 0; }
.public-form .public-form-help { font-size:12px; }
.public-form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.public-contact { padding:50px 0 30px; }
.public-contact h2 { font-size:25px; }
.public-hero-actions { margin-top:24px; }
.public-hero-actions button { padding:10px 18px; color:#fff; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.06); border-radius:8px; font-size:12px; cursor:pointer; }
.public-hero-actions input { display:block; max-width:100%; width:340px; margin-top:12px; padding:10px; font-size:12px; }
.public-hero-actions input[hidden] { display:none; }
.public-hero-actions .public-share-status { font-size:11px; margin:10px 0 0; min-height:0; }
.public-like { display:flex; align-items:center; justify-content:flex-end; margin-top:6px; padding:4px 0; border:0; background:transparent; color:var(--site-accent, #9436ef); font-size:11px; cursor:pointer; }
.public-like:disabled { opacity:1; cursor:default; }
.public-like svg { width:16px; height:16px; margin-right:6px; fill:currentColor; }
.public-like:focus { outline:2px solid var(--site-accent); outline-offset:3px; }
.public-interaction-status { position:absolute; top:100%; right:20px; font-size:11px; color:#fff; }
.public-interaction-status:empty { display:none; }
.public-chat { position:absolute; z-index:30; right:30px; bottom:24px; width:320px; max-width:calc(100% - 40px); display:flex; flex-direction:column; align-items:flex-end; scroll-margin-top:calc(var(--site-player-height) + 24px); }
.public-chat > button { order:2; }
.public-chat-panel { order:1; }
.public-chat[hidden],.public-chat [hidden] { display:none!important; }
.public-chat > button,.public-chat-heading button { background:rgba(18,13,29,.66); color:#fff; border:1px solid rgba(255,255,255,.2); border-radius:8px; padding:10px 14px; cursor:pointer; font-size:12px; }
.public-chat-panel { width:100%; margin:0 0 8px; padding:14px; border:1px solid rgba(255,255,255,.15); border-radius:12px; background:rgba(18,13,29,.75); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); max-height:calc(100vh - var(--site-player-height) - 120px); overflow:auto; color:#fff; }
.public-chat-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; font-size:12px; }
.public-chat-heading button { font-size:11px; padding:6px 9px; }
.public-chat-messages { max-height:180px; overflow:auto; overflow-wrap:break-word; }
.public-chat-message { margin-bottom:12px; font-size:12px; line-height:1.6; }
.public-chat-message strong { color:var(--site-accent, #9436ef); margin-right:7px; }
.public-chat-message span { white-space:pre-wrap; }
.public-chat-status,.public-chat .public-form p { font-size:11px; color:#ccc; line-height:1.5; }
.public-chat .public-form > label { font-size:11px; margin-bottom:10px; }
.public-chat .public-form input:not([type=checkbox]):not([type=hidden]),.public-chat .public-form textarea { padding:8px; background:rgba(0,0,0,.35); color:#fff; border-color:rgba(255,255,255,.2); font-size:12px; }
.public-chat .public-form button[type=submit] { padding:8px 14px; font-size:11px; }
.public-sponsors .public-section-container { padding-top:65px; padding-bottom:45px; }
.public-sponsors #publicSponsorsTitle { font-size:16px; font-weight:600; color:#555; letter-spacing:.06em; margin-bottom:28px; }
.public-sponsors-carousel { touch-action:pan-y; cursor:grab; }
.public-sponsors-carousel.is-dragging { cursor:grabbing; }
.public-sponsors-carousel img { user-select:none; -webkit-user-drag:none; }
.public-sponsors-grid.is-carousel { transition:none; will-change:transform; }
.public-sponsors-grid .public-sponsor-logo { width:100%; height:150px; margin:0; }
.public-sponsors-grid .public-sponsor-heading { display:block; }
.public-sponsors-grid .public-sponsor-heading h3 { font-size:16px; }
.public-sponsor-body details { font-size:12px; margin:16px 0; }
.public-sponsor-body summary { cursor:pointer; color:#555; }
.public-sponsors .public-sponsor-banner { width:100%; height:220px; max-height:220px; object-fit:contain; }
.public-sponsors .public-sponsor-links a { padding:7px 10px; min-height:32px; font-size:11px; }
@supports not (backdrop-filter:blur(1px)) { .public-chat-panel { background:rgba(18,13,29,.94); } }
@media(max-width:1050px) { .public-editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {

    .public-player-inner {
        position: relative;
    }

    /*
    =====================================================
    STATUS / LIKE NO MOBILE
    =====================================================

    O Like permanece no canto superior direito.
    Nenhum espaço é mais reservado para audiência.
    =====================================================
    */

    .public-player-status {
        display: block;
        position: absolute;
        top: 14px;
        right: 0;
        width: auto;
        max-width: 48px;
        text-align: right;
        z-index: 3;
    }

    /*
    =====================================================
    ÁREA DA MÚSICA E DO ARTISTA
    =====================================================

    Reservamos somente o espaço estritamente
    necessário para não encostar no Like.

    Todo o restante da largura fica disponível
    para título e artista.
    =====================================================
    */

    .public-player-info {
        width: 100%;
        min-width: 0;
        max-width: none;
        padding-right: 46px;
        overflow: hidden;
    }

    .public-player-title,
    .public-player-artist,
    #publicPlayerTitle,
    #publicPlayerArtist {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: none;
        overflow: hidden;
        white-space: nowrap;
    }

    .public-module > summary h2 {
        font-size: 23px;
    }

    .public-editorial-grid,
    .public-schedule {
        grid-template-columns: minmax(0,1fr);
    }

    .public-chat {
        position: relative;
        margin: 0 20px 24px auto;
        right: auto;
        bottom: auto;
    }

    .public-chat-panel {
        max-height: 65vh;
    }

    .public-like {
        margin-top: 0;
        padding: 2px 0;
    }

    .public-sponsors .public-section-container {
        padding-top: 45px;
        padding-bottom: 25px;
    }
}
