
/* Canal FM Portal 0.12.9 — oferta de player incorporável */
.cfm-embed-offer{
    flex:1 1 205px;
    min-width:190px;
    max-width:235px;
    min-height:168px;
    align-self:stretch;
    display:grid;
    grid-template-columns:38px 1fr;
    gap:10px;
    align-items:center;
    padding:14px;
    border:1px solid #d9e3ec;
    border-radius:15px;
    background:linear-gradient(145deg,#ffffff,#f7fbfc);
    color:#071b33
}
.cfm-embed-icon{
    width:42px;height:42px;border-radius:12px;
    display:grid;place-items:center;
    background:#e8fbfd;color:#008ba0;font-weight:900;font-size:15px
}
.cfm-embed-offer strong{display:block;font-size:14px;line-height:1.2;margin-bottom:3px}
.cfm-embed-offer span:not(.cfm-embed-icon){display:block;color:#64748b;font-size:12px;line-height:1.35}
.cfm-embed-trigger{
    margin-top:9px;border:0;border-radius:9px;
    background:#071b33;color:#fff;padding:8px 11px;
    font-weight:800;font-size:12px;cursor:pointer
}
.cfm-embed-trigger:hover,.cfm-embed-trigger:focus-visible{background:#0b8fa6}

.cfm-embed-modal[hidden]{display:none!important}
.cfm-embed-modal{position:fixed;inset:0;z-index:100100;display:grid;place-items:center;padding:20px}
.cfm-embed-backdrop{position:absolute;inset:0;background:rgba(2,16,31,.74);backdrop-filter:blur(5px)}
.cfm-embed-modal>section{
    position:relative;width:min(920px,100%);max-height:calc(100vh - 40px);overflow:auto;
    padding:30px;background:#fff;border-radius:24px;color:#071b33;
    box-shadow:0 30px 100px rgba(0,0,0,.38)
}
.cfm-embed-close{
    position:absolute;right:14px;top:12px;width:40px;height:40px;border:0;border-radius:50%;
    background:#edf3f7;color:#071b33;font-size:28px;cursor:pointer
}
.cfm-embed-modal h2{font-size:clamp(28px,5vw,40px);margin:5px 0 8px}
.cfm-embed-modal section>p{color:#64748b;margin:0 0 18px}
.cfm-embed-preview{padding:12px;border:1px solid #dbe5ed;border-radius:18px;background:#f5f8fb;margin-bottom:18px}
.cfm-embed-preview iframe{display:block;border-radius:18px}
.cfm-embed-code-label{display:block;font-weight:800;font-size:13px}
.cfm-embed-code-label textarea{
    display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:12px;
    border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;
    color:#334155;font:12px/1.45 Consolas,monospace;resize:none
}
.cfm-embed-copy{
    width:100%;margin-top:12px;border:0;border-radius:12px;padding:14px;
    background:#b7f517;color:#092208;font-weight:900;cursor:pointer
}
.cfm-embed-feedback{min-height:20px!important;margin:8px 0 0!important;font-size:12px;font-weight:800;color:#08783f!important}
.cfm-embed-modal small{display:block;margin-top:10px;color:#64748b}
.cfm-embed-modal-open{overflow:hidden}

@media(max-width:700px){
    .cfm-embed-offer{flex-basis:100%;width:100%;max-width:none;min-width:0;min-height:auto;padding:14px;grid-template-columns:38px 1fr;margin-top:4px}
    .cfm-embed-icon{width:38px;height:38px}
    .cfm-embed-trigger{width:100%;min-height:42px}
    .cfm-embed-modal{padding:8px;align-items:end}
    .cfm-embed-modal>section{padding:24px 17px 18px;border-radius:24px 24px 12px 12px;max-height:90vh}
    .cfm-embed-preview{padding:8px}
}


/* 0.12.11 — seleção de player incorporável */
.cfm-embed-style-tabs{
    display:grid;grid-template-columns:1fr 1fr;gap:8px;
    margin:14px 0 8px
}
.cfm-embed-style-tabs button{
    border:1px solid #cbd7e2;background:#f5f8fb;color:#0a2038;
    border-radius:11px;padding:11px 12px;font-weight:900;cursor:pointer
}
.cfm-embed-style-tabs button.is-active{
    background:#071b33;color:#fff;border-color:#071b33
}
.cfm-embed-model-note{
    display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;
    font-size:12px;color:#64748b;margin-bottom:10px
}
.cfm-embed-model-note strong{color:#071b33}
.cfm-webmaster-help{
    margin-top:14px;padding:13px 14px;border-radius:12px;
    background:#f4f8fb;border:1px solid #dbe5ed
}
.cfm-webmaster-help strong{display:block;margin-bottom:5px;font-size:13px;color:#071b33}
.cfm-webmaster-help span{display:block;font-size:12px;line-height:1.45;color:#526579}
.cfm-webmaster-help small{display:block!important;margin-top:7px!important;font-size:11px;color:#718096!important}
@media(max-width:520px){
    .cfm-embed-style-tabs{grid-template-columns:1fr}
}


/* 0.12.12 — desktop integrado: player + site + reporte + incorporar na mesma faixa */
@media(min-width:701px){
    .cfm-radio-actions-v1212{
        display:grid!important;
        grid-template-columns:minmax(380px,1.9fr) auto minmax(205px,.9fr) minmax(205px,.9fr);
        gap:12px;
        align-items:stretch!important;
        width:100%;
    }
    .cfm-radio-actions-v1212>.cfm-card,
    .cfm-radio-actions-v1212>.cfm-single-player,
    .cfm-radio-actions-v1212>[class*="single"]{min-width:0}
    .cfm-radio-actions-v1212>.cfm-secondary{align-self:center;white-space:nowrap}
    .cfm-radio-actions-v1212>.cfm-report-trigger.is-full{width:100%;height:100%;min-height:168px;justify-content:center;text-align:center}
    .cfm-radio-actions-v1212>.cfm-embed-offer{width:100%;max-width:none;min-width:0;margin:0;order:initial}
    .cfm-embed-offer>div{display:flex;flex-direction:column;justify-content:center;height:100%}
    .cfm-embed-trigger{width:100%;margin-top:10px}
    .cfm-embed-modal>section{width:min(920px,100%)}
}
@media(min-width:701px) and (max-width:1180px){
    .cfm-radio-actions-v1212{grid-template-columns:minmax(360px,1.6fr) auto minmax(200px,.8fr)}
    .cfm-radio-actions-v1212>.cfm-embed-offer{grid-column:3}
}

/* 0.12.13 — player externo somente compacto */
.cfm-embed-style-tabs{display:none!important}
.cfm-full-player-link{
    display:block;
    margin-top:14px;
    padding:11px 13px;
    border-radius:11px;
    background:#eaf9fb;
    color:#087f91;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    text-align:center
}
.cfm-full-player-link:hover,
.cfm-full-player-link:focus-visible{
    background:#d7f4f7;
    color:#056979
}


/* 0.12.14 — tratamento especial para rádios que recebem músicas */
.cfm-artist-v1214{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:62px;
    padding:11px 13px;
    border:1px solid #19c6cf;
    border-radius:14px;
    background:#e9fbfc;
    color:#073348;
    text-decoration:none;
    box-shadow:none;
    transition:.18s ease
}
.cfm-artist-v1214:hover,
.cfm-artist-v1214:focus-visible{
    background:#d7f7f9;
    border-color:#0faeb8;
    transform:translateY(-1px)
}
.cfm-artist-icon{
    flex:0 0 34px;
    width:34px;
    height:34px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:#18c9d2;
    color:#06333c;
    font-size:20px;
    font-weight:900
}
.cfm-artist-v1214>span:last-child{
    display:flex;
    flex-direction:column;
    min-width:0
}
.cfm-artist-v1214 strong{
    font-size:13px;
    line-height:1.15;
    color:#071b33;
    white-space:nowrap
}
.cfm-artist-v1214 small{
    margin-top:2px;
    color:#527184;
    font-size:10px;
    line-height:1.1
}

@media(min-width:1251px){
    .cfm-radio-actions-v1212.cfm-has-artist-action{
        grid-template-columns:minmax(360px,1.7fr) auto minmax(170px,.72fr) minmax(190px,.82fr) minmax(205px,.88fr);
        gap:11px;
    }
    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-secondary,
    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-artist-v1214{
        align-self:center
    }
    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-report-trigger.is-full{
        min-height:168px
    }
    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-embed-offer{
        grid-column:auto;
    }
}

@media(min-width:701px) and (max-width:1250px){
    .cfm-radio-actions-v1212.cfm-has-artist-action{
        grid-template-columns:minmax(350px,1.6fr) auto minmax(185px,.8fr) minmax(205px,.85fr);
        gap:11px;
    }
    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-artist-v1214{
        grid-column:2 / 4;
        justify-self:stretch;
        width:100%;
    }
    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-embed-offer{
        grid-column:4;
        grid-row:1 / span 2;
    }
}

@media(max-width:700px){
    .cfm-artist-v1214{
        width:100%;
        min-height:54px;
        justify-content:flex-start;
    }
    .cfm-artist-v1214 strong{font-size:14px}
    .cfm-artist-v1214 small{font-size:11px}
}


/* 0.12.15 — ajuste fino das ações em rádios que recebem músicas */
@media(min-width:1251px){
    .cfm-radio-actions-v1212.cfm-has-artist-action{
        grid-template-columns:
            minmax(390px,1.9fr)
            minmax(112px,.48fr)
            minmax(150px,.62fr)
            minmax(205px,.82fr)
            minmax(215px,.86fr);
        gap:12px;
        align-items:stretch!important;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-secondary{
        width:100%;
        min-width:0;
        min-height:58px;
        align-self:center;
        justify-self:stretch;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:10px 12px;
        text-align:center;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-artist-v1214{
        width:100%;
        min-width:0;
        min-height:58px;
        align-self:center;
        justify-self:stretch;
        padding:9px 10px;
        gap:7px;
        border-radius:13px;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action .cfm-artist-icon{
        flex-basis:30px;
        width:30px;
        height:30px;
        border-radius:9px;
        font-size:17px;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action .cfm-artist-v1214 strong{
        font-size:12px;
        white-space:nowrap;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action .cfm-artist-v1214 small{
        font-size:9px;
        white-space:nowrap;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-report-trigger.is-full,
    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-embed-offer{
        min-height:168px;
        height:100%;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-embed-offer{
        padding:13px;
        grid-template-columns:34px 1fr;
        gap:9px;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-embed-offer .cfm-embed-icon{
        width:34px;
        height:34px;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-embed-offer strong{
        font-size:13px;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-embed-offer span:not(.cfm-embed-icon){
        font-size:11px;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-embed-offer .cfm-embed-trigger{
        font-size:11px;
        padding:9px 8px;
    }
}

/* Em larguras intermediárias, mantém o visual organizado sem espremer o player. */
@media(min-width:1001px) and (max-width:1250px){
    .cfm-radio-actions-v1212.cfm-has-artist-action{
        grid-template-columns:minmax(360px,1.6fr) minmax(120px,.55fr) minmax(190px,.8fr) minmax(205px,.85fr);
        gap:11px;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-artist-v1214{
        grid-column:2;
        grid-row:2;
        width:100%;
        min-height:52px;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-report-trigger.is-full{
        grid-column:3;
        grid-row:1 / span 2;
    }

    .cfm-radio-actions-v1212.cfm-has-artist-action>.cfm-embed-offer{
        grid-column:4;
        grid-row:1 / span 2;
    }
}


/* 0.12.16 — ícone de envio de música dentro das ações do card.
   Não altera o grid externo da página individual. */
.cfm-card-actions .cfm-music-mini{
    width:44px;
    height:44px;
    min-width:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #a9e6ed;
    border-radius:13px;
    background:#eafcff;
    color:#009db2;
    text-decoration:none;
    font-size:23px;
    font-weight:900;
    line-height:1;
    box-sizing:border-box;
    position:relative;
}
.cfm-card-actions .cfm-music-mini:hover,
.cfm-card-actions .cfm-music-mini:focus-visible{
    background:#d9fbff;
    border-color:#20c5d4;
}
.cfm-card-actions .cfm-music-mini::after{
    content:"Enviar música para esta rádio";
    position:absolute;
    left:50%;
    bottom:calc(100% + 8px);
    transform:translateX(-50%);
    padding:7px 9px;
    border-radius:7px;
    background:#061d35;
    color:#fff;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    z-index:50;
}
.cfm-card-actions .cfm-music-mini:hover::after,
.cfm-card-actions .cfm-music-mini:focus-visible::after{
    opacity:1;
    visibility:visible;
}
@media(max-width:700px){
    .cfm-card-actions .cfm-music-mini{
        width:42px;height:42px;min-width:42px;font-size:22px;
    }
    .cfm-card-actions .cfm-music-mini::after{display:none}
}

/* 0.12.20 — Piloto Rádio em Destaque */
.cfm-featured-section{margin:22px 0 26px;padding:20px;border:1px solid #dce6ee;border-radius:20px;background:linear-gradient(145deg,#fff,#f8fbfd)}
.cfm-featured-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}.cfm-featured-heading h2{margin:3px 0 4px;font-size:22px;color:#071b33}.cfm-featured-heading p{margin:0;color:#667b8d;font-size:12px}.cfm-featured-sponsored{border:1px solid #d9e4eb;border-radius:999px;padding:6px 9px;color:#667b8d;background:#fff;font-size:10px;font-weight:800;text-transform:uppercase}
.cfm-featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cfm-featured-card-wrap{position:relative;min-width:0}.cfm-featured-card-wrap>.cfm-card{height:100%;border-color:#cfe5e8;box-shadow:0 9px 24px rgba(8,58,75,.07)}.cfm-featured-badge{position:absolute;top:10px;right:10px;z-index:8;padding:6px 9px;border-radius:999px;background:#071b33;color:#fff;font-size:10px;font-weight:900}
@media(max-width:1100px){.cfm-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.cfm-featured-section{padding:15px}.cfm-featured-grid{grid-template-columns:1fr}.cfm-featured-heading h2{font-size:19px}}


/* 0.12.21 — Destaque Premium
   Ajuste exclusivamente visual da vitrine de rádios em destaque.
   A lógica de ativação, datas, expiração e ranking permanece inalterada. */
.cfm-featured-premium{
    padding:22px;
    border-color:#d7e4ea;
    background:
        radial-gradient(circle at 96% 5%,rgba(20,215,220,.08),transparent 25%),
        linear-gradient(145deg,#fff,#f8fbfd);
}
.cfm-featured-premium .cfm-featured-heading{
    margin-bottom:16px;
}
.cfm-featured-premium .cfm-featured-heading h2{
    font-size:24px;
}
.cfm-featured-premium .cfm-featured-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.cfm-featured-premium .cfm-featured-card-wrap:only-child{
    grid-column:1 / -1;
}
.cfm-featured-premium .cfm-featured-card-wrap:only-child>.cfm-card{
    grid-template-columns:150px minmax(0,1fr);
    gap:24px;
    min-height:182px;
    padding:22px 26px;
    align-items:center;
    border:1px solid #cce1e6;
    border-radius:22px;
    box-shadow:0 14px 34px rgba(7,27,51,.09);
}
.cfm-featured-premium .cfm-featured-card-wrap:only-child>.cfm-card img{
    width:150px;
    height:150px;
    border-radius:20px;
    background:#f5f7fa;
}
.cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card-top{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
}
.cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card-top h3{
    padding-right:0;
    margin:0;
    font-size:clamp(23px,2.2vw,31px);
    line-height:1.12;
}
.cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-live{
    position:static;
    flex:0 0 auto;
}
.cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card p{
    margin:8px 0 12px;
    font-size:14px;
    line-height:1.45;
}
.cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card-actions{
    margin-top:13px;
    gap:10px;
}
.cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-play{
    min-height:44px;
    padding:11px 20px;
    font-size:14px;
}
.cfm-featured-premium .cfm-featured-badge{
    top:14px;
    right:14px;
    padding:7px 11px;
    background:#071b33;
    font-size:10px;
    letter-spacing:.04em;
}
.cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-featured-badge{
    top:16px;
    right:18px;
}
@media(max-width:900px){
    .cfm-featured-premium .cfm-featured-card-wrap:only-child>.cfm-card{
        grid-template-columns:112px minmax(0,1fr);
        min-height:148px;
        padding:18px;
        gap:18px;
    }
    .cfm-featured-premium .cfm-featured-card-wrap:only-child>.cfm-card img{
        width:112px;height:112px;
    }
}
@media(max-width:700px){
    .cfm-featured-premium{padding:15px}
    .cfm-featured-premium .cfm-featured-grid{grid-template-columns:1fr}
    .cfm-featured-premium .cfm-featured-card-wrap:only-child{grid-column:auto}
    .cfm-featured-premium .cfm-featured-card-wrap:only-child>.cfm-card{
        grid-template-columns:88px minmax(0,1fr);
        min-height:0;
        padding:16px;
        gap:14px;
    }
    .cfm-featured-premium .cfm-featured-card-wrap:only-child>.cfm-card img{
        width:88px;height:88px;border-radius:16px;
    }
    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card-top{
        display:block;
    }
    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card-top h3{
        padding-right:60px;
        font-size:19px;
    }
    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-live{
        position:absolute;
        right:16px;
        top:18px;
    }
    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card p{
        font-size:12px;
        margin:5px 0 9px;
    }
    .cfm-featured-premium .cfm-featured-badge{
        top:8px;
        right:8px;
        font-size:9px;
        padding:5px 7px;
    }
}


/* 0.12.22 — Destaque Premium: refinamento SOMENTE mobile
   Desktop permanece exatamente como na 0.12.21. */
@media(max-width:700px){
    .cfm-featured-premium .cfm-featured-card-wrap:only-child{
        display:block;
    }

    .cfm-featured-premium .cfm-featured-card-wrap:only-child>.cfm-card{
        grid-template-columns:88px minmax(0,1fr);
        align-items:center;
        gap:14px;
        padding:54px 16px 16px;
    }

    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-featured-badge{
        top:14px;
        right:14px;
        max-width:calc(100% - 28px);
        padding:6px 10px;
        font-size:9px;
        line-height:1.2;
        white-space:nowrap;
    }

    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card-top{
        display:flex;
        align-items:center;
        justify-content:flex-start;
        flex-wrap:wrap;
        gap:6px 9px;
    }

    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card-top h3{
        padding-right:0;
        margin:0;
        font-size:20px;
        line-height:1.12;
    }

    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-live{
        position:static;
        flex:0 0 auto;
    }

    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card p{
        margin:6px 0 9px;
        font-size:12px;
        line-height:1.4;
    }

    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card-actions{
        margin-top:10px;
        gap:8px;
    }

    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-play{
        min-height:42px;
        padding:10px 14px;
        font-size:13px;
    }
}

@media(max-width:420px){
    .cfm-featured-premium .cfm-featured-card-wrap:only-child>.cfm-card{
        grid-template-columns:78px minmax(0,1fr);
        gap:12px;
        padding:50px 14px 14px;
    }

    .cfm-featured-premium .cfm-featured-card-wrap:only-child>.cfm-card img{
        width:78px;
        height:78px;
        border-radius:15px;
    }

    .cfm-featured-premium .cfm-featured-card-wrap:only-child .cfm-card-top h3{
        font-size:19px;
    }
}


/* Canal FM 0.12.27 — visor vintage de sessão, isolado do funcionamento do player */
.cfm-tape-counter{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:max-content;
    min-width:126px;
    height:27px;
    margin-top:7px;
    padding:0 9px;
    border:1px solid rgba(170,255,0,.24);
    border-radius:5px;
    background:linear-gradient(180deg,rgba(0,10,8,.92),rgba(2,20,12,.96));
    box-shadow:inset 0 0 8px rgba(0,0,0,.7);
    color:#aaff00;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    font-size:10px;
    font-weight:700;
    line-height:1;
    letter-spacing:.04em;
    white-space:nowrap;
    user-select:none;
}
.cfm-tape-led{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#465247;
    box-shadow:none;
    flex:0 0 6px;
}
.cfm-tape-counter.is-playing .cfm-tape-led{
    background:#aaff00;
    box-shadow:0 0 7px rgba(170,255,0,.75);
}
.cfm-tape-counter.is-playing .cfm-tape-state{color:#aaff00}
.cfm-tape-counter:not(.is-playing){color:#657267}
@media(max-width:720px){
    .cfm-tape-counter{min-width:116px;height:25px;font-size:9px;margin-top:5px}
}


/* 0.12.28 — estados do visor vintage */
.cfm-tape-counter.is-stopped{
    color:#58635e !important;
    border-color:rgba(120,140,130,.18);
    box-shadow:inset 0 0 8px rgba(0,0,0,.72);
}
.cfm-tape-counter.is-stopped .cfm-tape-led{
    background:#3d4843 !important;
    box-shadow:none !important;
}
.cfm-tape-counter.is-paused{
    color:#7f946c;
}
.cfm-tape-counter.is-paused .cfm-tape-led{
    background:#71815f;
    box-shadow:none;
}


/* 0.12.41 — Destaque Premium: correção SOMENTE mobile com múltiplas rádios
   Reserva uma faixa superior para o selo não sobrepor o nome da rádio.
   Desktop e lógica do Destaque Premium permanecem inalterados. */
@media(max-width:700px){
    .cfm-featured-premium .cfm-featured-card-wrap{
        position:relative;
    }

    .cfm-featured-premium .cfm-featured-card-wrap>.cfm-card{
        padding-top:54px!important;
    }

    .cfm-featured-premium .cfm-featured-card-wrap .cfm-featured-badge{
        top:14px!important;
        right:14px!important;
        max-width:calc(100% - 28px)!important;
        padding:6px 10px!important;
        font-size:9px!important;
        line-height:1.2!important;
        white-space:nowrap!important;
    }
}

@media(max-width:420px){
    .cfm-featured-premium .cfm-featured-card-wrap>.cfm-card{
        padding-top:50px!important;
    }

    .cfm-featured-premium .cfm-featured-card-wrap .cfm-featured-badge{
        top:12px!important;
        right:12px!important;
        max-width:calc(100% - 24px)!important;
    }
}


/* 0.12.56 — paginação das buscas/filtros do diretório */
.cfm-results-summary{
    margin:18px 0 10px;
    color:#607789;
    font-size:13px;
    font-weight:700;
}
.cfm-pagination{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:28px 0 8px;
}
.cfm-pagination a,
.cfm-pagination span.is-current{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    height:40px;
    padding:0 12px;
    border:1px solid #d5e0e6;
    border-radius:11px;
    background:#fff;
    color:#082039;
    font-weight:800;
    text-decoration:none;
}
.cfm-pagination a:hover,
.cfm-pagination a:focus-visible{
    border-color:#14d7dc;
    outline:none;
}
.cfm-pagination span.is-current{
    border-color:#b8f328;
    background:#b8f328;
    color:#061526;
}
.cfm-pagination .cfm-page-nav{
    min-width:auto;
    padding:0 15px;
}
.cfm-pagination .cfm-page-dots{
    padding:0 3px;
    color:#7c8d98;
}
@media(max-width:600px){
    .cfm-pagination{
        gap:6px;
        margin-top:22px;
    }
    .cfm-pagination a,
    .cfm-pagination span.is-current{
        min-width:36px;
        height:36px;
        padding:0 9px;
        border-radius:9px;
        font-size:13px;
    }
    .cfm-pagination .cfm-page-nav{
        padding:0 10px;
    }
}


/* 0.12.57 — Card institucional do spot Canal FM */
.cfm-spot-card{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:24px;
  align-items:center;
  margin:28px 0 8px;
  padding:26px 28px;
  border:1px solid #d9e5ea;
  border-radius:24px;
  background:linear-gradient(135deg,#061a2e,#0a3950);
  color:#fff;
  overflow:hidden;
  position:relative;
}
.cfm-spot-card:after{
  content:'';
  position:absolute;
  width:220px;height:220px;
  right:-80px;top:-90px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(20,215,220,.18),transparent 68%);
  pointer-events:none;
}
.cfm-spot-mark{
  width:96px;height:96px;border-radius:22px;
  display:grid;place-items:center;
  background:#fff;
  color:#0a6f7b;
  font-weight:950;
  letter-spacing:.08em;
  font-size:23px;
}
.cfm-spot-copy{position:relative;z-index:1}
.cfm-spot-card .cfm-kicker{color:#34dbe1}
.cfm-spot-card h2{
  margin:4px 0 8px;
  color:#fff;
  font-size:clamp(22px,2vw,34px);
  line-height:1.08;
}
.cfm-spot-card p{
  margin:0;
  max-width:900px;
  color:#cad8df;
}
.cfm-spot-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.cfm-spot-play,
.cfm-spot-download{
  min-height:44px;
  padding:0 18px;
  border-radius:12px;
  border:1px solid transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:inherit;
  font-weight:850;
  text-decoration:none!important;
  cursor:pointer;
}
.cfm-spot-play{
  background:#b8f328;
  color:#061526;
}
.cfm-spot-download{
  background:#12334a;
  border-color:#2c586d;
  color:#fff!important;
}
.cfm-spot-card small{
  display:block;
  margin-top:11px;
  color:#8fa9b7;
}
#cfm-player.is-spot .cfm-player-copy small{
  color:#20d8df;
}
@media(max-width:700px){
  .cfm-spot-card{
    grid-template-columns:1fr;
    gap:14px;
    padding:22px 18px;
  }
  .cfm-spot-mark{width:72px;height:72px;border-radius:18px;font-size:18px}
  .cfm-spot-actions{display:grid;grid-template-columns:1fr 1fr}
  .cfm-spot-play,.cfm-spot-download{padding:0 12px}
}


/* 0.12.61 — Rodízio gratuito da grade comum da Home */
.cfm-rotation-heading{
  margin-top:30px;
  margin-bottom:16px;
}
.cfm-rotation-heading p{
  max-width:760px;
  margin:7px 0 0;
  color:#617889;
}
.cfm-rotation-note{
  margin:14px 0 4px;
  padding:10px 14px;
  border-left:3px solid #14d7dc;
  border-radius:0 10px 10px 0;
  background:#f4fafb;
  color:#617889;
  font-size:12px;
  line-height:1.45;
}


/* 0.12.63 — correção do card "Leve sua rádio para a recepção"
   O card não participa das colunas do grid de ações existente.
   Mantém intactos player, site, reporte e incorporar player. */
.cfm-radio-actions-v1212 > .cfm-reception-offer{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box;
  margin:10px 0 0 !important;
  padding:20px 22px;
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr);
  gap:18px;
  align-items:center;
  border:1px solid #d8e5ea;
  border-radius:18px;
  background:linear-gradient(135deg,#f7fbfc,#eef7f9);
  order:50;
}
.cfm-reception-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#061a2e;
  color:#63edf0;
  font-size:28px;
  line-height:1;
}
.cfm-reception-copy{
  min-width:0;
}
.cfm-reception-copy .cfm-kicker{
  display:block;
  margin:0 0 3px;
  color:#0a91a0;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cfm-reception-copy>strong{
  display:block;
  margin:0;
  color:#061526;
  font-size:20px;
  line-height:1.2;
}
.cfm-reception-copy p{
  max-width:900px;
  margin:6px 0 0;
  color:#607789;
  font-size:13px;
  line-height:1.5;
}
.cfm-reception-actions{
  margin-top:12px;
}
.cfm-reception-start{
  min-height:42px;
  padding:0 16px;
  border:0;
  border-radius:11px;
  background:#b8f328;
  color:#061526;
  font:inherit;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}
.cfm-reception-start:hover,
.cfm-reception-start:focus-visible{
  filter:brightness(.97);
  outline:2px solid rgba(20,215,220,.35);
  outline-offset:2px;
}
.cfm-reception-copy small{
  display:block;
  max-width:900px;
  margin-top:8px;
  color:#7a909d;
  font-size:11px;
  line-height:1.45;
}

/* O grid original continua com as mesmas colunas.
   O novo card apenas quebra para uma linha própria. */
@media(min-width:701px){
  .cfm-radio-actions-v1212 > .cfm-reception-offer{
    grid-column:1 / -1 !important;
  }
}

@media(max-width:700px){
  .cfm-radio-actions-v1212 > .cfm-reception-offer{
    width:100% !important;
    margin-top:14px !important;
    padding:18px 16px;
    grid-template-columns:52px minmax(0,1fr);
    gap:13px;
  }
  .cfm-reception-icon{
    width:50px;
    height:50px;
    font-size:24px;
  }
  .cfm-reception-copy>strong{
    font-size:18px;
  }
  .cfm-reception-start{
    width:100%;
  }
}


/* 0.12.64 — vitrine Premium compacta na Home */
.cfm-premium-home{
  margin-top:28px;
  margin-bottom:6px;
}
.cfm-premium-home-heading{
  margin-bottom:15px;
}
.cfm-premium-home-heading p{
  margin:6px 0 0;
  color:#617889;
}
.cfm-premium-home-grid{
  align-items:stretch;
}
.cfm-premium-home-item{
  position:relative;
  min-width:0;
}
.cfm-premium-home-item > .cfm-card{
  height:100%;
}
.cfm-premium-home-badge{
  position:absolute;
  z-index:4;
  top:-10px;
  right:12px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 11px;
  border-radius:999px;
  background:#061a2e;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 6px 18px rgba(6,26,46,.16);
}
@media(max-width:700px){
  .cfm-premium-home{
    margin-top:22px;
  }
  .cfm-premium-home-badge{
    top:-9px;
    right:10px;
    font-size:10px;
    min-height:26px;
  }
}
#novas-radios,
#ranking {
  scroll-margin-top: 230px;
}

@media (max-width: 760px) {
  #novas-radios,
  #ranking {
    scroll-margin-top: 180px;
  }
}


/* 0.12.75 — Nivelamento automático de áudio (Beta)
   Indicador embutido no espectro, sem alterar a fileira de controles. */
.cfm-spectrum{position:relative}
.cfm-leveling-toggle{
  position:absolute;
  z-index:7;
  top:5px;
  right:7px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:23px;
  padding:0 7px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:6px;
  background:rgba(3,13,22,.88);
  color:#9aaab4;
  font:700 8px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.04em;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.22);
  transition:background .2s,border-color .2s,color .2s,box-shadow .2s;
}
.cfm-leveling-toggle b,
.cfm-leveling-toggle em{font:inherit;font-style:normal}
.cfm-leveling-toggle em{min-width:45px;text-align:left}
.cfm-leveling-dot{
  width:7px;height:7px;border-radius:50%;background:#727f87;
  box-shadow:0 0 0 2px rgba(114,127,135,.12)
}
.cfm-leveling-toggle.is-analyzing{
  color:#ffe384;
  border-color:rgba(255,198,54,.62);
  background:rgba(57,39,2,.9);
  box-shadow:0 0 12px rgba(255,190,40,.28);
}
.cfm-leveling-toggle.is-analyzing .cfm-leveling-dot{
  background:#ffbf28;
  box-shadow:0 0 9px rgba(255,191,40,.9);
  animation:cfmLevelPulse .7s infinite alternate;
}
.cfm-leveling-toggle.is-on{
  color:#cfff68;
  border-color:rgba(184,243,40,.55);
  background:rgba(18,43,10,.9);
}
.cfm-leveling-toggle.is-on .cfm-leveling-dot{
  background:#b8f328;
  box-shadow:0 0 8px rgba(184,243,40,.8);
}
.cfm-leveling-toggle.is-limited{
  color:#a9f9fb;
  border-color:rgba(32,214,222,.58);
  background:rgba(2,38,45,.9);
}
.cfm-leveling-toggle.is-limited .cfm-leveling-dot{
  background:#20d6de;
  box-shadow:0 0 8px rgba(32,214,222,.8);
}
.cfm-leveling-toggle:disabled{cursor:default;opacity:.72}
@keyframes cfmLevelPulse{from{opacity:.45;transform:scale(.86)}to{opacity:1;transform:scale(1.12)}}

@media(max-width:700px){
  .cfm-leveling-toggle{
    top:4px;right:5px;height:21px;padding:0 6px;
    font-size:7px;gap:4px
  }
  .cfm-leveling-toggle em{min-width:40px}
  .cfm-leveling-dot{width:6px;height:6px}
}

/* Em modos ampliados, mantém o indicador visível sem competir com o contador. */
body.cfm-car-mode-active .cfm-leveling-toggle,
body.cfm-fullscreen-active .cfm-leveling-toggle,
#cfm-player:fullscreen .cfm-leveling-toggle{
  top:8px;
  right:9px;
}


/* 0.12.76 — NÍVEL AUTO fora da área do contador */
.cfm-leveling-toggle{
  top:auto !important;
  right:auto !important;
  left:7px !important;
  bottom:5px !important;
}
body.cfm-car-mode-active .cfm-leveling-toggle,
body.cfm-fullscreen-active .cfm-leveling-toggle,
#cfm-player:fullscreen .cfm-leveling-toggle{
  top:auto !important;
  right:auto !important;
  left:9px !important;
  bottom:8px !important;
}
@media(max-width:700px){
  .cfm-leveling-toggle{
    left:5px !important;
    bottom:4px !important;
  }
}
