/* =========================================================
   Music FM — Polls Page V2
========================================================= */

.mf-polls-page{
    direction:rtl;
    padding-top:24px;
    padding-bottom:86px;
}

.mf-polls-page *{
    box-sizing:border-box;
}

.mf-polls-hero{
    position:relative;
    overflow:hidden;
    min-height:320px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:26px;
    align-items:center;
    padding:38px;
    border:1px solid rgba(20,124,255,.18);
    border-radius:4px;
    color:#fff;
    background:
        radial-gradient(circle at 16% 12%,rgba(89,199,255,.20),transparent 34%),
        radial-gradient(circle at 82% 18%,rgba(20,124,255,.18),transparent 36%),
        linear-gradient(135deg,#071832 0%,#08295b 52%,#031126 100%);
    box-shadow:0 18px 46px rgba(15,35,70,.14);
    margin-bottom:18px;
}

.mf-polls-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 112px),
        linear-gradient(90deg,rgba(3,17,38,.22),rgba(3,17,38,.02),rgba(3,17,38,.34));
    pointer-events:none;
}

.mf-polls-hero-content,
.mf-polls-hero-side{
    position:relative;
    z-index:2;
}

.mf-polls-hero-content > span{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    padding:0 14px;
    border-radius:4px;
    background:linear-gradient(135deg,#147cff,#2f8fff);
    color:#fff;
    font-size:13px;
    font-weight:950;
    box-shadow:0 12px 24px rgba(20,124,255,.28);
}

.mf-polls-hero h1{
    margin:16px 0 10px;
    color:#fff;
    font-size:56px;
    line-height:1;
    font-weight:950;
    letter-spacing:-1.4px;
}

.mf-polls-hero p{
    max-width:760px;
    margin:0;
    color:rgba(255,255,255,.80);
    font-size:17px;
    line-height:1.75;
    font-weight:800;
}

.mf-polls-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.mf-polls-actions a{
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 18px;
    border-radius:4px;
    background:#147cff;
    color:#fff;
    text-decoration:none;
    font-size:14px;
    font-weight:950;
    box-shadow:0 12px 24px rgba(20,124,255,.20);
}

.mf-polls-actions a:nth-child(2){
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:none;
}

.mf-polls-hero-side{
    display:grid;
    gap:10px;
}

.mf-polls-hero-side article{
    min-height:92px;
    display:grid;
    align-content:center;
    gap:6px;
    padding:18px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:4px;
    background:rgba(255,255,255,.09);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 22px 48px rgba(0,0,0,.13);
}

.mf-polls-hero-side strong{
    color:#59c7ff;
    font-size:34px;
    line-height:1;
    font-weight:950;
}

.mf-polls-hero-side span{
    color:rgba(255,255,255,.76);
    font-size:13px;
    font-weight:900;
}

.mf-polls-alert{
    min-height:50px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 16px;
    margin-bottom:16px;
    border-radius:4px;
    font-size:14px;
    font-weight:950;
}

.mf-polls-alert.success{
    color:#067647;
    background:#ecfdf3;
    border:1px solid #b7efc8;
}

.mf-polls-alert.error{
    color:#b42318;
    background:#fff1f3;
    border:1px solid #ffd0d8;
}

.mf-polls-info-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}

.mf-polls-info-strip article{
    min-height:92px;
    display:grid;
    grid-template-columns:42px 1fr;
    align-content:center;
    column-gap:12px;
    padding:16px;
    border:1px solid #dfe7f3;
    border-radius:4px;
    background:#fff;
    box-shadow:0 10px 26px rgba(15,35,70,.045);
}

.mf-polls-info-strip i{
    grid-row:1/3;
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:4px;
    background:#eef6ff;
    color:#147cff;
    font-size:19px;
}

.mf-polls-info-strip strong{
    color:#111827;
    font-size:16px;
    font-weight:950;
}

.mf-polls-info-strip span{
    margin-top:4px;
    color:#667085;
    font-size:13px;
    line-height:1.45;
    font-weight:800;
}

.mf-polls-list{
    display:grid;
    gap:18px;
}

.mf-poll-card{
    overflow:hidden;
    border:1px solid #dfe7f3;
    border-radius:4px;
    background:#fff;
    box-shadow:0 10px 26px rgba(15,35,70,.045);
}

.mf-poll-card > header{
    display:grid;
    grid-template-columns:minmax(0,1fr) 110px;
    gap:16px;
    align-items:center;
    padding:22px 24px;
    border-bottom:1px solid #e8eef7;
    background:linear-gradient(180deg,#fbfdff 0%,#fff 100%);
}

.mf-poll-card header span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#147cff;
    font-size:13px;
    font-weight:950;
    margin-bottom:8px;
}

.mf-poll-card h2{
    margin:0;
    color:#111827;
    font-size:28px;
    line-height:1.25;
    font-weight:950;
}

.mf-poll-card p{
    margin:8px 0 0;
    color:#667085;
    font-size:15px;
    line-height:1.65;
    font-weight:760;
}

.mf-poll-card header aside{
    min-height:92px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:5px;
    border-radius:4px;
    background:#071832;
    color:#fff;
    text-align:center;
}

.mf-poll-card header aside strong{
    color:#59c7ff;
    font-size:30px;
    line-height:1;
    font-weight:950;
}

.mf-poll-card header aside small{
    color:rgba(255,255,255,.78);
    font-size:12px;
    font-weight:900;
}

.mf-poll-form{
    padding:20px 24px 22px;
}

.mf-poll-options{
    display:grid;
    gap:10px;
}

.mf-poll-option{
    position:relative;
    min-height:70px;
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:12px;
    align-items:center;
    padding:14px;
    border:1px solid #dfe7f3;
    border-radius:4px;
    background:#fff;
    cursor:pointer;
    transition:border-color .18s ease, background .18s ease, transform .18s ease;
}

.mf-poll-option:hover{
    border-color:#bdd7ff;
    background:#fbfdff;
    transform:translateY(-1px);
}

.mf-poll-option.is-selected{
    border-color:#147cff;
    background:#f3f8ff;
}

.mf-poll-option input{
    width:18px;
    height:18px;
    accent-color:#147cff;
}

.mf-poll-option-main{
    min-width:0;
    display:grid;
    gap:4px;
}

.mf-poll-option-main b{
    color:#111827;
    font-size:15px;
    font-weight:950;
}

.mf-poll-option-main small{
    color:#667085;
    font-size:12px;
    font-weight:850;
}

.mf-poll-bar{
    grid-column:2;
    height:7px;
    overflow:hidden;
    border-radius:999px;
    background:#eef2f7;
}

.mf-poll-bar i{
    height:100%;
    display:block;
    border-radius:999px;
    background:linear-gradient(90deg,#147cff,#59c7ff);
    transition:width .28s ease;
}

.mf-poll-form footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid #e8eef7;
}

.mf-poll-form footer > span,
.mf-poll-form footer strong,
.mf-poll-form footer button,
.mf-poll-form footer a{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:4px;
    font-size:14px;
    font-weight:950;
}

.mf-poll-form footer > span{
    color:#667085;
}

.mf-poll-form footer strong{
    color:#067647;
}

.mf-poll-form footer button,
.mf-poll-form footer a{
    border:0;
    padding:0 18px;
    background:#147cff;
    color:#fff;
    text-decoration:none;
    cursor:pointer;
    font-family:inherit;
    box-shadow:0 10px 20px rgba(20,124,255,.16);
}

.mf-polls-empty{
    padding:42px;
    border:1px solid #dfe7f3;
    border-radius:4px;
    background:#fff;
    text-align:center;
    box-shadow:0 10px 26px rgba(15,35,70,.055);
}

.mf-polls-empty h2{
    margin:0 0 8px;
    color:#111827;
    font-size:32px;
    font-weight:950;
}

.mf-polls-empty p{
    margin:0;
    color:#667085;
    font-weight:800;
}

@media(max-width:980px){
    .mf-polls-hero,
    .mf-poll-card > header{
        grid-template-columns:1fr;
    }

    .mf-polls-info-strip{
        grid-template-columns:1fr;
    }
}

@media(max-width:620px){
    .mf-polls-page{
        padding-top:14px;
    }

    .mf-polls-hero{
        margin-inline:-9px;
        padding:28px 22px;
        border-radius:0 0 4px 4px;
    }

    .mf-polls-hero h1{
        font-size:40px;
    }

    .mf-polls-actions a,
    .mf-poll-form footer button,
    .mf-poll-form footer a{
        width:100%;
    }

    .mf-poll-form footer{
        align-items:stretch;
        flex-direction:column;
    }

    .mf-poll-card > header,
    .mf-poll-form{
        padding-inline:16px;
    }
}

/* =========================================================
   Music FM — Polls AJAX / Final polish
========================================================= */
.mf-poll-form.is-voted button[type="submit"]{
    display:none !important;
}

.mf-poll-form button.is-loading{
    opacity:.68;
    pointer-events:none;
}

.mf-poll-form button.is-loading span::after{
    content:"...";
}

.mf-polls-toast{
    position:fixed;
    right:24px;
    bottom:104px;
    z-index:9999999;
    max-width:min(390px, calc(100vw - 48px));
    min-height:48px;
    display:flex;
    align-items:center;
    padding:0 18px;
    border-radius:6px;
    background:#071832;
    color:#fff;
    font-weight:950;
    box-shadow:0 18px 46px rgba(7,24,50,.24);
    opacity:0;
    visibility:hidden;
    transform:translateY(12px);
    transition:.22s ease;
}

.mf-polls-toast.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.mf-polls-toast.error{
    background:#b42318;
}

.mf-polls-toast.success{
    background:#071832;
}

@media(max-width:720px){
    .mf-polls-toast{
        right:12px;
        bottom:92px;
        max-width:calc(100vw - 24px);
    }
}


/* v8 enhancements */
.mf-poll-card{position:relative;overflow:hidden}
.mf-poll-progress{height:10px;background:#e8eef7;border-radius:999px;overflow:hidden;margin-top:8px}
.mf-poll-progress>span{display:block;height:100%;background:linear-gradient(90deg,#147cff,#59c7ff);width:0;transition:width .6s ease}
.mf-poll-reward{display:inline-flex;align-items:center;gap:6px;background:#eef7ff;border:1px solid #cfe2ff;color:#147cff;padding:6px 10px;border-radius:999px;font-weight:900}
.mf-poll-timer{font-weight:900;color:#b45309}

/* =========================================================
   Music FM — Real polls upgrades
========================================================= */
.mf-poll-card{
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.mf-poll-card:hover{
    transform:translateY(-2px);
    border-color:rgba(20,124,255,.32);
    box-shadow:0 18px 42px rgba(15,35,70,.085);
}

.mf-poll-card > header aside em{
    display:block;
    margin-top:8px;
    color:#667085;
    font-style:normal;
    font-size:11px;
    line-height:1.35;
    font-weight:850;
}

.mf-poll-card[data-poll-ends] > header aside em{
    color:#147cff;
}

.mf-poll-option{
    transition:border-color .18s ease, background .18s ease, transform .18s ease;
}

.mf-poll-option:hover{
    border-color:rgba(20,124,255,.34);
    background:#fbfdff;
    transform:translateY(-1px);
}

.mf-poll-option.is-selected{
    border-color:rgba(20,124,255,.45);
    background:#f4f9ff;
}

.mf-poll-bar{
    overflow:hidden;
}

.mf-poll-bar i{
    width:0;
    transition:width .75s cubic-bezier(.16,1,.3,1);
}

.mf-poll-form.is-voted .mf-poll-bar i,
.mf-poll-card.is-voted .mf-poll-bar i{
    transition-delay:.05s;
}

/* =========================================================
   Music FM — Poll Cards Grid Layout v13
   Desktop: 3 cards | Tablet: 2 cards | Mobile: 1 card
========================================================= */

.mf-polls-list{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    align-items:stretch !important;
}

.mf-poll-card{
    min-width:0 !important;
    min-height:520px;
    display:flex !important;
    flex-direction:column !important;
    border-radius:8px !important;
    overflow:hidden !important;
}

.mf-poll-card > header{
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:22px 22px 18px !important;
    min-height:190px;
    align-items:start !important;
}

.mf-poll-card header span{
    margin-bottom:10px !important;
}

.mf-poll-card h2{
    font-size:24px !important;
    line-height:1.22 !important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.mf-poll-card p{
    font-size:14px !important;
    line-height:1.55 !important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.mf-poll-card header aside{
    width:100%;
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    padding:11px 14px;
    text-align:initial !important;
}

.mf-poll-card header aside strong{
    font-size:25px !important;
}

.mf-poll-card header aside small{
    margin-inline-start:auto;
}

.mf-poll-card header aside em{
    margin:0 !important;
    white-space:nowrap;
}

.mf-poll-form{
    flex:1;
    display:flex;
    flex-direction:column;
    padding:18px !important;
}

.mf-poll-options{
    gap:10px !important;
}

.mf-poll-option{
    min-height:60px !important;
    grid-template-columns:20px minmax(0,1fr) !important;
    gap:10px !important;
    padding:12px !important;
    border-radius:7px !important;
}

.mf-poll-option input{
    width:17px !important;
    height:17px !important;
}

.mf-poll-option-main b{
    font-size:14px !important;
    line-height:1.25;
}

.mf-poll-option-main small{
    font-size:11.5px !important;
}

.mf-poll-bar{
    grid-column:2 !important;
    height:6px !important;
}

.mf-poll-form footer{
    margin-top:auto !important;
    padding-top:16px !important;
    align-items:center !important;
}

.mf-poll-form footer > span,
.mf-poll-form footer strong,
.mf-poll-form footer button,
.mf-poll-form footer a{
    min-height:40px !important;
    font-size:13px !important;
}

.mf-poll-form footer button,
.mf-poll-form footer a{
    padding:0 15px !important;
}

.mf-polls-empty{
    grid-column:1 / -1;
}

@media(max-width:1180px){
    .mf-polls-list{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:720px){
    .mf-polls-list{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }

    .mf-poll-card{
        min-height:auto !important;
        border-radius:7px !important;
    }

    .mf-poll-card > header{
        min-height:auto !important;
        padding:20px 16px 16px !important;
    }

    .mf-poll-card h2{
        font-size:22px !important;
        -webkit-line-clamp:3;
    }

    .mf-poll-card header aside{
        min-height:54px !important;
        padding:10px 12px;
    }

    .mf-poll-form{
        padding:16px !important;
    }

    .mf-poll-option{
        min-height:58px !important;
        padding:12px !important;
    }

    .mf-poll-form footer{
        position:sticky;
        bottom:0;
        z-index:3;
        margin-inline:-16px;
        margin-bottom:-16px;
        padding:12px 16px 16px !important;
        background:linear-gradient(180deg,rgba(255,255,255,.90),#fff 35%);
        border-top:1px solid #e8eef7;
    }
}
