/* ==========================================================================
   Vibino v30 - app-like motion, mobile bottom navigation, mobile footer.
   Loaded AFTER style.css (see functions.php) so it is the final word.
   ========================================================================== */

/* --- 1. Route transitions ------------------------------------------------
   Motion itself is driven from js/other.js (Web Animations API). The old
   "blur + dim the page while loading" look is switched off for good, so the
   visitor never gets a loading feeling.                                      */
html body .fk-route-loading,
html .fk-route-loading{
    opacity:1!important;
    filter:none!important;
    -webkit-filter:none!important;
    pointer-events:auto!important;
    transition:none!important;
}
html{ -webkit-tap-highlight-color:transparent; }
body{ overflow-x:hidden; }

/* progress bar: thinner, softer, brand gradient (only shows on slow requests) */
#fk-page-loader{
    height:2.5px!important;
    background:linear-gradient(90deg,#7c3aed,#d946ef 60%,#f472b6)!important;
    box-shadow:0 0 12px rgba(217,70,239,.55)!important;
    border-radius:0 2px 2px 0!important;
}

/* --- 2. Mobile bottom navigation ----------------------------------------- */
@media (max-width:1023px){
    :root{ --fk-nav-cut:#171514; }

    html body #farskids-fixed-menu .fixedside-bottom{
        position:fixed!important;
        left:0!important; right:0!important; bottom:0!important;
        width:100%!important;
        margin:0!important;
        height:auto!important;
        min-height:0!important;
        padding:6px 8px calc(3px + env(safe-area-inset-bottom,0px))!important;
        border:0!important;
        border-top:1px solid rgba(255,255,255,.07)!important;
        border-radius:0!important;
        background:rgba(23,21,20,.88)!important;
        -webkit-backdrop-filter:saturate(1.6) blur(18px);
        backdrop-filter:saturate(1.6) blur(18px);
        box-shadow:0 -10px 28px rgba(0,0,0,.30)!important;
        overflow:visible!important;
        z-index:10020!important;
    }

    html body #farskids-fixed-menu .fixedside-bottom ul.fk-bn-list{
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        grid-template-rows:auto!important;
        align-items:stretch!important;
        gap:0!important;
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        margin:0!important;
        padding:0!important;
        overflow:visible!important;
        list-style:none!important;
    }
    html body #farskids-fixed-menu .fixedside-bottom ul.fk-bn-list > li{
        display:flex!important;
        position:relative!important;
        width:100%!important; min-width:0!important; max-width:none!important;
        height:auto!important; min-height:0!important;
        margin:0!important; padding:0!important;
        background:transparent!important;
        overflow:visible!important;
    }

    html body #farskids-fixed-menu .fixedside-bottom ul.fk-bn-list > li > a,
    html body #farskids-fixed-menu .fixedside-bottom ul.fk-bn-list > li > a:hover,
    html body #farskids-fixed-menu .fixedside-bottom ul.fk-bn-list > li > a:focus,
    html body #farskids-fixed-menu .fixedside-bottom ul.fk-bn-list > li > a:active,
    html body #farskids-fixed-menu .fixedside-bottom ul.fk-bn-list > li > a.fk-mobile-active{
        position:relative!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        gap:2px!important;
        flex:1 1 auto!important;
        width:100%!important; min-width:0!important; max-width:100%!important;
        height:auto!important; min-height:50px!important;
        margin:0!important; padding:3px 0 2px!important;
        border:0!important; outline:0!important; box-shadow:none!important;
        background:transparent!important;
        color:#8b8580!important;
        text-align:center!important;
        line-height:1!important;
        white-space:nowrap!important;
        overflow:visible!important;
        transform:none!important;
        opacity:1!important;
        transition:color .25s ease!important;
        -webkit-tap-highlight-color:transparent;
        touch-action:manipulation;
    }
    html body #farskids-fixed-menu .fixedside-bottom ul.fk-bn-list > li > a.fk-mobile-active{ color:#fff!important; }
    html body #farskids-fixed-menu .fixedside-bottom ul.fk-bn-list > li > a::before,
    html body #farskids-fixed-menu .fixedside-bottom ul.fk-bn-list > li > a::after{
        content:none!important; display:none!important;
    }

    /* icon holder: a soft pill grows behind the icon of the active tab */
    html body #farskids-fixed-menu .fixedside-bottom .fk-mobile-icon{
        position:relative!important;
        display:grid!important;
        place-items:center!important;
        width:48px!important; min-width:48px!important; max-width:48px!important;
        height:30px!important; min-height:30px!important; max-height:30px!important;
        flex:0 0 30px!important;
        margin:0!important; padding:0!important;
        line-height:0!important;
        transform:none!important;
        transition:transform .28s cubic-bezier(.34,1.56,.64,1)!important;
    }
    html body #farskids-fixed-menu .fixedside-bottom li > a:active .fk-mobile-icon{ transform:scale(.86)!important; }

    html body #farskids-fixed-menu .fixedside-bottom .fk-bn-pill{
        position:absolute; inset:0;
        border-radius:15px;
        background:linear-gradient(135deg,rgba(168,85,247,.24),rgba(225,29,202,.20));
        opacity:0;
        transform:scale(.45);
        transition:transform .42s cubic-bezier(.34,1.56,.64,1), opacity .22s ease;
        pointer-events:none;
    }
    html body #farskids-fixed-menu .fixedside-bottom a.fk-mobile-active .fk-bn-pill{ opacity:1; transform:scale(1); }

    html body #farskids-fixed-menu .fixedside-bottom svg.fk-bn-ico{
        grid-area:1/1;
        display:block!important;
        width:23px!important; height:23px!important;
        min-width:23px!important; min-height:23px!important;
        margin:0!important; padding:0!important;
        flex:none!important;
        overflow:visible;
        transform-origin:50% 50%;
        transition:transform .38s cubic-bezier(.34,1.56,.64,1), opacity .2s ease;
    }
    /* idle = outline, active = solid gradient */
    html body #farskids-fixed-menu .fixedside-bottom svg.fk-bn-ico-o{
        fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
        opacity:1; transform:scale(1);
    }
    html body #farskids-fixed-menu .fixedside-bottom svg.fk-bn-ico-s{
        opacity:0; transform:scale(.55);
        fill:none; stroke:none;
    }
    html body #farskids-fixed-menu .fixedside-bottom svg.fk-bn-ico-s .s{ fill:url(#fkNavGrad) #d946ef; stroke:none; }
    html body #farskids-fixed-menu .fixedside-bottom svg.fk-bn-ico-s .h{ fill:none; stroke:url(#fkNavGrad) #d946ef; stroke-width:2.6; stroke-linecap:round; }
    html body #farskids-fixed-menu .fixedside-bottom svg.fk-bn-ico-s .c{ fill:none; stroke:var(--fk-nav-cut); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    html body #farskids-fixed-menu .fixedside-bottom a.fk-mobile-active svg.fk-bn-ico-o{ opacity:0; transform:scale(.55); }
    html body #farskids-fixed-menu .fixedside-bottom a.fk-mobile-active svg.fk-bn-ico-s{
        opacity:1; transform:scale(1);
        filter:drop-shadow(0 2px 7px rgba(217,70,239,.45));
    }

    html body #farskids-fixed-menu .fixedside-bottom .fk-bn-label{
        display:block!important;
        width:100%!important; max-width:100%!important;
        height:auto!important; min-height:0!important; max-height:none!important;
        margin:0!important; padding:0!important;
        font-size:10.5px!important;
        line-height:1.25!important;
        font-weight:500!important;
        letter-spacing:0!important;
        color:inherit!important;
        text-align:center!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        transform:none!important;
        transition:color .25s ease, transform .3s cubic-bezier(.34,1.56,.64,1)!important;
    }
    html body #farskids-fixed-menu .fixedside-bottom a.fk-mobile-active .fk-bn-label{ font-weight:700!important; }

    @media (max-width:360px){
        html body #farskids-fixed-menu .fixedside-bottom .fk-bn-label{ font-size:9.5px!important; }
        html body #farskids-fixed-menu .fixedside-bottom .fk-mobile-icon{ width:42px!important; min-width:42px!important; max-width:42px!important; }
    }

    /* page content clears the (now lower and slimmer) navigation */
    body{ padding-bottom:calc(var(--fk-mobile-nav-real-height,62px) + 6px)!important; }
}

/* --- 3. Mobile footer: tidy actions + footer hugs the bottom -------------- */
@media (max-width:1199px){
    /* On short pages the footer is pushed down to sit right above the nav, instead of
       floating in the middle of the screen with a big empty gap underneath it. */
    body > .xl\:container,
    body > div.xl\:container,
    body > .fk-page-grid{
        min-height:calc(100dvh - var(--fk-app-header-height,62px) - var(--fk-mobile-nav-real-height,62px) - var(--fk-footer-h,160px) - 14px);
    }

    html body footer.fk-mobile-site-footer{
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:14px!important;
        margin:0 14px 6px!important;
        padding:16px 0 4px!important;
        border-top:1px solid rgba(255,255,255,.08)!important;
        background:transparent!important;
        text-align:center;
    }

    /* page links: one tidy row of equal chips */
    html body footer.fk-mobile-site-footer .fk-mobile-footer-pages{
        display:flex!important;
        flex-wrap:nowrap!important;
        justify-content:center!important;
        gap:8px!important;
        margin:0!important; padding:0!important;
        width:100%!important;
    }
    html body footer.fk-mobile-site-footer .fk-mobile-footer-pages a{
        flex:1 1 0!important;
        min-width:0!important;
        display:flex!important; align-items:center!important; justify-content:center!important;
        min-height:38px!important;
        padding:6px 6px!important;
        border:1px solid rgba(255,255,255,.08)!important;
        border-radius:12px!important;
        background:rgba(255,255,255,.04)!important;
        color:#a8a29e!important;
        font-size:11.5px!important;
        line-height:1.3!important;
        white-space:nowrap!important;
        transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease!important;
    }
    html body footer.fk-mobile-site-footer .fk-mobile-footer-pages a:active{ transform:scale(.97); }
    html body footer.fk-mobile-site-footer .fk-mobile-footer-pages a[aria-current="page"]{
        color:#fff!important;
        border-color:rgba(217,70,239,.45)!important;
        background:rgba(217,70,239,.12)!important;
    }
    html body footer.fk-mobile-site-footer .fk-mobile-footer-pages a[aria-current="page"]::after{ content:none!important; display:none!important; }

    /* the four action tiles (social + install) share ONE grid, identical size and icon style */
    html body footer.fk-mobile-site-footer .fk-mobile-footer-actions{
        display:grid!important;
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:8px!important;
        margin:0!important; padding:0!important;
    }
    html body footer.fk-mobile-site-footer .fk-mobile-footer-social,
    html body footer.fk-mobile-site-footer .fk-pwa-install-links{
        display:contents!important;
    }
    html body footer.fk-mobile-site-footer .fk-act{
        appearance:none; -webkit-appearance:none;
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        gap:6px!important;
        width:100%!important; height:auto!important;
        min-width:0!important; min-height:64px!important;
        margin:0!important; padding:10px 4px 9px!important;
        border:1px solid rgba(255,255,255,.08)!important;
        border-radius:16px!important;
        background:rgba(255,255,255,.04)!important;
        color:#b4aea8!important;
        font:inherit;
        font-size:11px!important;
        line-height:1.2!important;
        text-decoration:none!important;
        cursor:pointer;
        box-shadow:none!important;
        transition:background .22s ease,color .22s ease,border-color .22s ease,transform .25s cubic-bezier(.34,1.56,.64,1)!important;
        -webkit-tap-highlight-color:transparent;
    }
    html body footer.fk-mobile-site-footer .fk-act:hover,
    html body footer.fk-mobile-site-footer .fk-act:focus-visible{
        color:#fff!important;
        border-color:rgba(217,70,239,.5)!important;
        background:rgba(217,70,239,.12)!important;
        outline:none!important;
    }
    html body footer.fk-mobile-site-footer .fk-act:active{ transform:scale(.94); }
    html body footer.fk-mobile-site-footer .fk-act > svg{
        display:block!important;
        width:22px!important; height:22px!important;
        min-width:22px!important; min-height:22px!important;
        flex:0 0 22px!important;
        margin:0!important;
    }
    /* outline glyphs (instagram / telegram) */
    html body footer.fk-mobile-site-footer .fk-act > svg.fk-bn-ico{
        fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
    }
    /* brand glyphs (android / apple) are solid shapes */
    html body footer.fk-mobile-site-footer .fk-act-android > svg{ fill:currentColor; stroke:none; }
    html body footer.fk-mobile-site-footer .fk-act-ios > svg{ fill:currentColor; stroke:none; }
    html body footer.fk-mobile-site-footer .fk-act span{
        display:block!important;
        font-size:11px!important;
        line-height:1.2!important;
        font-weight:500;
        color:inherit!important;
        white-space:nowrap;
    }

    /* copyright: last, quiet */
    html body footer.fk-mobile-site-footer .fk-mobile-footer-meta{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:6px!important;
        margin:2px 0 0!important; padding:0!important;
        min-height:0!important;
    }
    html body footer.fk-mobile-site-footer .fk-mobile-footer-copyright{ font-size:11px!important; color:#6f6a65!important; }
    html body footer.fk-mobile-site-footer .fk-mobile-footer-brand{ width:18px!important; height:18px!important; }
}

/* --- 4. Respect reduced-motion ------------------------------------------ */
@media (prefers-reduced-motion:reduce){
    html body #farskids-fixed-menu .fixedside-bottom *{ transition-duration:.01ms!important; }
}


/* ==========================================================================
   Vibino v31
   1) no sideways page/player jump   2) smaller tidy mobile footer + icons
   3) movie/series pages in the FilmTory orange   4) one-row rating table
   5) rating popup + download/watch popup animations
   ========================================================================== */

/* --- 1. Anti-jump ------------------------------------------------------- */
html,body{ max-width:100%; overscroll-behavior-x:none; }
#ajax-content,main,.fk-movie-detail-wrap,.fk-filmtory-page,.fk-search-page{ max-width:100%; overflow-x:clip; }
/* --- 2. Mobile footer: smaller tiles, small tidy icons -------------------- */
@media (max-width:1199px){
    html body footer.fk-mobile-site-footer{ gap:8px!important; margin-top:12px!important; }

    html body footer.fk-mobile-site-footer .fk-mobile-footer-pages{ gap:6px!important; }
    html body footer.fk-mobile-site-footer .fk-mobile-footer-pages a{
        flex-direction:row!important; gap:5px!important;
        min-height:34px!important; padding:5px 6px!important;
        border-radius:11px!important; font-size:11px!important;
    }
    html body footer.fk-mobile-site-footer .fk-mobile-footer-pages a span{ white-space:nowrap; }
    html body footer.fk-mobile-site-footer .fk-fp-ico{
        display:block; flex:0 0 15px; width:15px; height:15px;
        fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; opacity:.9;
    }

    html body footer.fk-mobile-site-footer .fk-mobile-footer-actions{ gap:6px!important; }
    html body footer.fk-mobile-site-footer .fk-act{
        min-height:46px!important; padding:7px 3px 6px!important; gap:3px!important; border-radius:12px!important;
    }
    html body footer.fk-mobile-site-footer .fk-act > svg{
        width:17px!important; height:17px!important; min-width:17px!important; min-height:17px!important; flex:0 0 17px!important;
    }
    html body footer.fk-mobile-site-footer .fk-act span{ font-size:10px!important; }
}

/* --- 3. Movie / series pages: FilmTory orange ----------------------------- */
html body.single-movies .fk-movie-detail-wrap{
    --fkft-brand:#f28c28; --fkft-brand-bright:#ffad55; --fkft-brand-strong:#d96f12;
    --fkft-brand-soft:rgba(242,140,40,.15); --fkft-border:rgba(242,140,40,.27);
    --fk-accent:#f28c28; --fk-accent-bright:#ffad55; --fk-movie-accent:#f28c28;
}
html body.single-movies .fk-movie-detail-wrap :is(.fk-movie-title-en,.fk-movie-credits,.fk-movie-credits a,.fk-movie-credits b,.fk-movie-facts-inline>span,.fk-movie-facts-inline em,.fk-movie-facts-inline em a,.fk-movie-facts-inline a,.fk-movie-linked-review-score,.fk-movie-page-meta i){ color:#ffad55!important; }
html body.single-movies .fk-movie-detail-wrap .fk-movie-facts-inline a:hover,
html body.single-movies .fk-movie-detail-wrap .fk-movie-credits a:hover{ color:#ffd3a1!important; }
html body.single-movies .fk-movie-detail-wrap .fk-movie-credits{ border-color:rgba(242,140,40,.2)!important; }
html body.single-movies .fk-movie-detail-wrap .fk-section-mark,
html body.single-movies .fk-movie-detail-wrap .fk-movie-section-heading :is(:before,:after,.line){ background:linear-gradient(180deg,#ffad55,#d96f12)!important; }
html body.single-movies .fk-movie-detail-wrap :is(.fk-movie-rating-grid,.fk-movie-rating-card,.fk-movie-story-panel,.fk-movie-people-section,.fk-movie-person-card,.fk-movie-linked-review,.fk-movie-page-meta,.fk-movie-related-aside,.fk-sim-item){ border-color:rgba(242,140,40,.2)!important; }
html body.single-movies .fk-movie-detail-wrap :is(.fk-movie-badge,.fk-movie-year-badge){ border-color:rgba(242,140,40,.4)!important; background:rgba(242,140,40,.16)!important; color:#ffd3a1!important; }
html body.single-movies .fk-movie-detail-wrap .tabs span[class*="bg-violet"],
html body.single-movies .fk-movie-detail-wrap .tabs span:hover,
html body.single-movies .fk-movie-detail-wrap .tablinks.active{ background:#d96f12!important; border-color:#ffad55!important; color:#fff!important; }
html body.single-movies .fk-movie-detail-wrap .fk-movie-people-grid{ scrollbar-color:#f28c28 #ffffff12; }
html body.single-movies .fk-movie-detail-wrap .fk-movie-people-grid::-webkit-scrollbar-thumb{ background:#f28c28; }
html body.single-movies .fk-movie-detail-wrap .fk-movie-people-grid .fk-movie-person-card:hover{ border-color:#f28c28!important; }
html body.single-movies .fk-movie-detail-wrap .fk-movie-people-grid .fk-movie-person-copy span{ color:#ffad55!important; }
html body.single-movies .fk-movie-detail-wrap .fk-people-arrow:hover{ background:#f28c28!important; border-color:#ffad55!important; color:#fff!important; }
html body.single-movies .fk-movie-detail-wrap .fk-movie-linked-review-button{
    background:linear-gradient(135deg,#f59a32,#d96f12)!important; border:1px solid rgba(255,173,85,.5)!important; color:#fff!important; box-shadow:0 6px 18px rgba(217,111,18,.28)!important;
}
@media (max-width:640px){
    html body.single-movies .fk-movie-hero{ background:#0b0b0e!important; }
    html body.single-movies .fk-movie-poster-wrap:after{
        background:linear-gradient(180deg,rgba(8,8,10,.04) 5%,rgba(10,9,8,.1) 34%,rgba(14,10,6,.68) 61%,#0b0b0e 100%)!important;
    }
}

/* primary actions (hero + series/movie action row) */
html body.single-movies .fk-movie-detail-wrap :is(.fk-ft-watch-btn,.fk-ft-series-actions .fk-ft-watch-btn,.fk-movie-hero-actions .fk-ft-watch-btn){
    background:linear-gradient(135deg,#f7a23a,#d96f12)!important; border:1px solid rgba(255,190,120,.55)!important; color:#fff!important;
    box-shadow:0 8px 22px rgba(217,111,18,.32),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
html body.single-movies .fk-movie-detail-wrap :is(.fk-ft-download-btn,.fk-ft-series-actions .fk-ft-download-btn,.fk-movie-hero-actions .fk-ft-download-btn){
    background:linear-gradient(135deg,rgba(242,140,40,.16),rgba(242,140,40,.06))!important; border:1px solid rgba(242,140,40,.55)!important;
    color:#ffd3a1!important; box-shadow:none!important;
}
html body.single-movies .fk-movie-detail-wrap .fk-ft-download-btn:hover{ background:rgba(242,140,40,.24)!important; border-color:#ffad55!important; color:#fff!important; }
html body.single-movies .fk-movie-detail-wrap .fk-ft-watch-btn:hover{ filter:brightness(1.08); }

html body.single-movies .fk-ft-series-actions button,
html body.single-movies .fk-movie-hero-actions button{
    position:relative; overflow:hidden; transition:transform .25s cubic-bezier(.34,1.56,.64,1),filter .2s,box-shadow .2s,background .2s,border-color .2s!important;
    animation:fk31Rise .5s cubic-bezier(.22,1,.36,1) backwards;
}
html body.single-movies .fk-ft-series-actions button:nth-child(2){ animation-delay:.07s; }
html body.single-movies .fk-ft-series-actions button:active,
html body.single-movies .fk-movie-hero-actions button:active{ transform:scale(.95)!important; }
html body.single-movies .fk-ft-watch-btn:after{
    content:""; position:absolute; top:0; bottom:0; left:-60%; width:40%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent); transform:skewX(-18deg); pointer-events:none;
    animation:fk31Shine 4.2s ease-in-out 1s infinite;
}
@keyframes fk31Shine{ 0%,62%{left:-60%} 100%{left:130%} }
@keyframes fk31Rise{ from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }

/* compact action card: no empty gap above/below the buttons */
html body.single-movies .fk-movie-detail-wrap .movielinks{ padding:12px 4px 4px!important; min-height:0!important; height:auto!important; }
html body.single-movies .fk-movie-detail-wrap .movielinks .tabs:empty,
html body.single-movies .fk-movie-detail-wrap .movielinks > .tabs[hidden]{ display:none!important; }
html body.single-movies .fk-movie-detail-wrap .movielinks .fk-ft-series-actions{ margin:4px 0 10px!important; }

/* --- 4. Rating table: three identical cells, one row ---------------------- */
html body .fk-movie-rating-grid{
    display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; align-items:stretch!important;
    gap:0!important; margin:18px 0 10px!important; border-radius:15px!important; overflow:hidden!important;
    border:1px solid rgba(242,140,40,.22)!important; background:rgba(9,9,12,.6)!important;
}
html body .fk-movie-rating-grid > .fk-movie-rating-card,
html body .fk-movie-rating-grid > .fk-movie-rating-card.fk-site-rating{
    display:grid!important; grid-template-columns:minmax(0,1fr)!important; grid-template-rows:30px 34px 16px!important;
    justify-items:center!important; align-items:center!important; align-content:center!important;
    row-gap:3px!important; column-gap:0!important; min-height:0!important; height:auto!important;
    padding:12px 4px 11px!important; text-align:center!important; border:0!important;
    border-left:1px solid rgba(255,255,255,.09)!important; border-radius:0!important; background:transparent!important; box-sizing:border-box!important;
}
html body .fk-movie-rating-grid > .fk-movie-rating-card:last-child{ border-left:0!important; }
html body .fk-movie-rating-grid .fk-rating-label,
html body .fk-movie-rating-grid .fk-site-rating .fk-rating-label{
    grid-column:1!important; grid-row:1!important; display:flex!important; align-items:center!important; justify-content:center!important;
    flex-wrap:wrap; gap:3px 5px!important; width:100%; text-align:center!important; line-height:1.35!important; overflow:visible!important;
}
html body .fk-movie-rating-grid .fk-rating-value,
html body .fk-movie-rating-grid .fk-site-rating .fk-rating-value{
    grid-column:1!important; grid-row:2!important; justify-self:center!important; align-self:center!important;
    display:flex!important; align-items:baseline; justify-content:center; gap:2px; white-space:nowrap!important; line-height:1!important;
}
html body .fk-movie-rating-grid .fk-rating-votes,
html body .fk-movie-rating-grid .fk-site-rating .fk-rating-votes{
    grid-column:1!important; grid-row:3!important; justify-self:center!important; align-self:center!important;
    position:static!important; display:block!important; width:auto!important; max-width:100%!important; min-height:0!important;
    padding:0!important; border:0!important; border-radius:0!important; background:transparent!important;
    color:#9b97a0!important; font-size:9px!important; line-height:1.3!important; white-space:nowrap!important;
}
@media (max-width:640px){
    html body .fk-movie-rating-grid .fk-rating-label{ font-size:9px!important; }
    html body .fk-movie-rating-grid .fk-rating-value{ font-size:21px!important; }
    html body .fk-movie-rating-grid .fk-rating-votes{ font-size:8px!important; }
}
/* the "register score" action sits under the table as one tidy bar */
html body .fk-open-rating.fk-open-rating-bar{
    position:relative; display:flex!important; align-items:center; justify-content:center; gap:8px; width:100%;
    min-height:38px; margin:0 0 6px!important; padding:7px 14px!important; border-radius:12px!important; cursor:pointer;
    font:inherit; font-size:12px!important; font-weight:800; color:#ffd3a1!important;
    background:linear-gradient(135deg,rgba(242,140,40,.18),rgba(242,140,40,.07))!important; border:1px solid rgba(242,140,40,.5)!important; box-shadow:none!important;
    transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s,color .2s;
}
html body .fk-open-rating.fk-open-rating-bar svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linejoin:round; transition:transform .45s cubic-bezier(.34,1.56,.64,1); }
html body .fk-open-rating.fk-open-rating-bar:hover{ background:rgba(242,140,40,.28)!important; border-color:#ffad55!important; color:#fff!important; }
html body .fk-open-rating.fk-open-rating-bar:hover svg{ transform:rotate(72deg) scale(1.15); fill:currentColor; }
html body .fk-open-rating.fk-open-rating-bar:active{ transform:scale(.97); }

/* --- 5a. Rating popup ----------------------------------------------------- */
html body .fk-rating-modal.is-open .fk-rating-backdrop{ animation:fk31Fade .3s ease both; }
html body .fk-rating-modal.is-closing .fk-rating-backdrop{ animation:fk31FadeOut .24s ease both; }
html body .fk-rating-modal.is-open .fk-rating-dialog{ animation:fk31DialogIn .5s cubic-bezier(.2,1.15,.35,1) both; }
html body .fk-rating-modal.is-closing .fk-rating-dialog{ animation:fk31DialogOut .24s cubic-bezier(.5,0,1,.6) both; }
html body .fk-rating-dialog{
    border:1px solid rgba(242,140,40,.28)!important;
    background:radial-gradient(120% 70% at 50% 0%,rgba(242,140,40,.13),transparent 60%),linear-gradient(150deg,#26262b,#16161a)!important;
    box-shadow:0 30px 90px #000c,0 0 0 1px rgba(242,140,40,.06)!important;
}
html body .fk-rating-dialog > *{ animation:fk31Rise .5s cubic-bezier(.22,1,.36,1) backwards; }
html body .fk-rating-dialog > :nth-child(2){ animation-delay:.05s } html body .fk-rating-dialog > :nth-child(3){ animation-delay:.1s }
html body .fk-rating-dialog > :nth-child(4){ animation-delay:.15s } html body .fk-rating-dialog > :nth-child(n+5){ animation-delay:.2s }
html body .fk-rating-modal.is-open .fk-rating-choice{ animation:fk31Pop .5s cubic-bezier(.34,1.56,.64,1) backwards; }
html body .fk-rating-modal.is-open .fk-rating-choice:nth-child(1){animation-delay:.12s} html body .fk-rating-modal.is-open .fk-rating-choice:nth-child(2){animation-delay:.16s}
html body .fk-rating-modal.is-open .fk-rating-choice:nth-child(3){animation-delay:.20s} html body .fk-rating-modal.is-open .fk-rating-choice:nth-child(4){animation-delay:.24s}
html body .fk-rating-modal.is-open .fk-rating-choice:nth-child(5){animation-delay:.28s} html body .fk-rating-modal.is-open .fk-rating-choice:nth-child(6){animation-delay:.32s}
html body .fk-rating-modal.is-open .fk-rating-choice:nth-child(7){animation-delay:.36s} html body .fk-rating-modal.is-open .fk-rating-choice:nth-child(8){animation-delay:.40s}
html body .fk-rating-modal.is-open .fk-rating-choice:nth-child(9){animation-delay:.44s} html body .fk-rating-modal.is-open .fk-rating-choice:nth-child(10){animation-delay:.48s}
html body .fk-rating-choice{ transition:transform .22s cubic-bezier(.34,1.56,.64,1),filter .2s,box-shadow .25s,opacity .2s!important; }
html body .fk-rating-choice:hover{ transform:translateY(-4px) scale(1.08)!important; border-color:#ffad55!important; }
html body .fk-rating-choice:active{ transform:scale(.92)!important; }
html body .fk-rating-modal[data-score] .fk-rating-choice:not(.is-selected){ opacity:.55; }
html body .fk-rating-choice.is-selected{
    opacity:1!important; outline:0!important; transform:translateY(-4px) scale(1.12)!important;
    box-shadow:0 0 0 2px #fff,0 0 0 5px rgba(242,140,40,.5),0 10px 22px rgba(0,0,0,.45)!important;
}
html body .fk-rating-choice.is-pop{ animation:fk31Select .5s cubic-bezier(.34,1.56,.64,1); }
html body .fk-rating-selected-label{ color:#ffd3a1!important; transition:color .2s,transform .2s; }
html body .fk-rating-modal[data-score] .fk-rating-selected-label{ animation:fk31LabelIn .3s ease; }
html body .fk-rating-submit{
    background:linear-gradient(135deg,#f7a23a,#d96f12)!important; color:#fff!important; border:1px solid rgba(255,190,120,.5)!important;
    transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity .25s,box-shadow .25s,filter .2s;
}
html body .fk-rating-submit:not(:disabled){ box-shadow:0 8px 26px rgba(217,111,18,.4)!important; animation:fk31Glow 2s ease-in-out infinite; }
html body .fk-rating-submit:not(:disabled):active{ transform:scale(.97); }
html body .fk-rating-modal.is-success .fk-rating-submit{ background:linear-gradient(135deg,#34c27a,#1e8f59)!important; border-color:rgba(130,230,180,.5)!important; animation:fk31Select .5s cubic-bezier(.34,1.56,.64,1); }
html body .fk-rating-close{ transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s; }
html body .fk-rating-close:hover{ transform:rotate(90deg); background:rgba(242,140,40,.25)!important; }
@media (max-width:640px){
    html body .fk-rating-modal{ align-items:flex-end!important; padding:0!important; }
    html body .fk-rating-modal .fk-rating-dialog{ width:100%!important; border-radius:24px 24px 0 0!important; padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))!important; }
    html body .fk-rating-modal.is-open .fk-rating-dialog{ animation:fk31SheetIn .5s cubic-bezier(.2,1,.3,1) both; }
    html body .fk-rating-modal.is-closing .fk-rating-dialog{ animation:fk31SheetOut .26s cubic-bezier(.5,0,1,.6) both; }
    html body .fk-rating-dialog:before{ content:""; display:block; width:38px; height:4px; margin:-12px auto 12px; border-radius:4px; background:rgba(255,255,255,.22); }
}

/* --- 5b. Download / watch popup -------------------------------------------- */
html body #fkFilmtoryDownloadModal.fk-ft-download-modal{ background:rgba(5,5,8,.74)!important; }
html body #fkFilmtoryDownloadModal.is-open{ animation:fk31Fade .28s ease both; }
html body #fkFilmtoryDownloadModal.is-closing{ animation:fk31FadeOut .23s ease both; }
html body #fkFilmtoryDownloadModal.is-open .fk-ft-download-dialog{
    animation:fk31DialogIn .5s cubic-bezier(.2,1.15,.35,1) both;
}
html body #fkFilmtoryDownloadModal.is-closing .fk-ft-download-dialog{ animation:fk31DialogOut .23s cubic-bezier(.5,0,1,.6) both; }
html body #fkFilmtoryDownloadModal .fk-ft-download-dialog{
    border:1px solid rgba(242,140,40,.3)!important; border-radius:22px!important; padding:18px 16px 16px!important;
    background:radial-gradient(120% 60% at 50% 0%,rgba(242,140,40,.13),transparent 62%),linear-gradient(150deg,#26262b,#15151a)!important;
    box-shadow:0 30px 90px #000c!important;
}
html body #fkFilmtoryDownloadModal .fk-ft-download-head strong{ font-size:16px; color:#fff; animation:fk31LabelIn .3s ease; }
html body #fkFilmtoryDownloadModal .fk-ft-download-close{ transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s; }
html body #fkFilmtoryDownloadModal .fk-ft-download-close:hover{ transform:rotate(90deg); background:rgba(242,140,40,.28); }
html body #fkFilmtoryDownloadModal .fk-ft-download-back{ background:rgba(242,140,40,.14)!important; color:#ffd3a1!important; animation:fk31Rise .3s ease; }
html body #fkFilmtoryDownloadModal .fk-ft-download-hint{ color:#c9c3bb!important; animation:fk31Rise .35s ease .05s backwards; }
html body #fkFilmtoryDownloadModal .fk-ft-download-qualities{ gap:0!important; }

/* every step (language / quality / episode) is rebuilt by JS -> items slide in one by one */
html body #fkFilmtoryDownloadModal .fk-ft-step-item,
html body #fkFilmtoryDownloadModal .fk-ft-download-qualities a{
    position:relative; display:flex!important; align-items:center; justify-content:space-between; gap:10px;
    min-height:50px; margin-top:9px!important; padding:12px 16px!important; border-radius:14px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025))!important;
    border:1px solid rgba(242,140,40,.28)!important; color:#fff!important; font-weight:800; font-size:14px;
    overflow:hidden; cursor:pointer;
    transition:transform .25s cubic-bezier(.34,1.56,.64,1),border-color .2s,background .2s,box-shadow .2s;
    animation:fk31ItemIn .42s cubic-bezier(.22,1,.36,1) backwards;
}
html body #fkFilmtoryDownloadModal .fk-ft-step-item:nth-child(1){animation-delay:.03s} html body #fkFilmtoryDownloadModal .fk-ft-step-item:nth-child(2){animation-delay:.08s}
html body #fkFilmtoryDownloadModal .fk-ft-step-item:nth-child(3){animation-delay:.13s} html body #fkFilmtoryDownloadModal .fk-ft-step-item:nth-child(4){animation-delay:.18s}
html body #fkFilmtoryDownloadModal .fk-ft-step-item:nth-child(5){animation-delay:.23s} html body #fkFilmtoryDownloadModal .fk-ft-step-item:nth-child(6){animation-delay:.28s}
html body #fkFilmtoryDownloadModal .fk-ft-step-item:nth-child(n+7){animation-delay:.32s}
html body #fkFilmtoryDownloadModal .fk-ft-step-item:after{ content:"‹"; font-size:22px; line-height:1; color:#ffad55!important; transition:transform .25s cubic-bezier(.34,1.56,.64,1); }
html body #fkFilmtoryDownloadModal .fk-ft-step-item:hover,
html body #fkFilmtoryDownloadModal .fk-ft-step-item:focus-visible,
html body #fkFilmtoryDownloadModal .fk-ft-download-qualities a:hover{
    transform:translateY(-2px); border-color:#ffad55!important; background:linear-gradient(135deg,rgba(242,140,40,.22),rgba(242,140,40,.07))!important;
    box-shadow:0 10px 24px rgba(0,0,0,.35); outline:none;
}
html body #fkFilmtoryDownloadModal .fk-ft-step-item:hover:after{ transform:translateX(-4px); }
html body #fkFilmtoryDownloadModal .fk-ft-step-item:active{ transform:scale(.97); }
/* language choices: two clear, coloured cards */
html body #fkFilmtoryDownloadModal .fk-ft-step-item.fk-ft-lang-dub{
    background:linear-gradient(135deg,#f7a23a,#d96f12)!important; border-color:rgba(255,200,140,.6)!important; color:#fff!important; box-shadow:0 8px 22px rgba(217,111,18,.28);
}
html body #fkFilmtoryDownloadModal .fk-ft-step-item.fk-ft-lang-sub{
    background:linear-gradient(135deg,rgba(242,140,40,.2),rgba(242,140,40,.06))!important; border-color:rgba(242,140,40,.6)!important; color:#ffd3a1!important;
}
html body #fkFilmtoryDownloadModal .fk-ft-step-item.fk-ft-lang-dub:after,
html body #fkFilmtoryDownloadModal .fk-ft-step-item.fk-ft-lang-dub:before{ color:#fff!important; }
html body #fkFilmtoryDownloadModal .fk-ft-step-item.fk-ft-lang-dub:hover{ filter:brightness(1.08); }
@media (max-width:640px){
    html body #fkFilmtoryDownloadModal.fk-ft-download-modal{ align-items:flex-end!important; padding:0!important; }
    html body #fkFilmtoryDownloadModal .fk-ft-download-dialog{
        width:100%!important; max-height:84dvh!important; border-radius:24px 24px 0 0!important;
        padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;
    }
    html body #fkFilmtoryDownloadModal.is-open .fk-ft-download-dialog{ animation:fk31SheetIn .5s cubic-bezier(.2,1,.3,1) both!important; }
    html body #fkFilmtoryDownloadModal.is-closing .fk-ft-download-dialog{ animation:fk31SheetOut .26s cubic-bezier(.5,0,1,.6) both!important; }
    html body #fkFilmtoryDownloadModal .fk-ft-download-dialog:before{ content:""; display:block; width:38px; height:4px; margin:-6px auto 10px; border-radius:4px; background:rgba(255,255,255,.22); }
}

/* --- shared keyframes ------------------------------------------------------ */
@keyframes fk31Fade{ from{opacity:0} to{opacity:1} }
@keyframes fk31FadeOut{ from{opacity:1} to{opacity:0} }
@keyframes fk31DialogIn{ 0%{opacity:0;transform:translateY(40px) scale(.9)} 100%{opacity:1;transform:none} }
@keyframes fk31DialogOut{ to{opacity:0;transform:translateY(24px) scale(.94)} }
@keyframes fk31SheetIn{ from{opacity:.6;transform:translateY(100%)} to{opacity:1;transform:none} }
@keyframes fk31SheetOut{ to{opacity:.8;transform:translateY(100%)} }
@keyframes fk31ItemIn{ from{opacity:0;transform:translateX(26px) scale(.96)} to{opacity:1;transform:none} }
@keyframes fk31Pop{ from{opacity:0;transform:scale(.4) translateY(12px)} to{opacity:1;transform:none} }
@keyframes fk31Select{ 0%{transform:scale(1)} 45%{transform:translateY(-6px) scale(1.3)} 100%{transform:translateY(-4px) scale(1.12)} }
@keyframes fk31LabelIn{ from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }
@keyframes fk31Glow{ 0%,100%{box-shadow:0 8px 26px rgba(217,111,18,.4)} 50%{box-shadow:0 8px 34px rgba(247,162,58,.62)} }

@media (prefers-reduced-motion:reduce){
    html body .fk-rating-modal *, html body #fkFilmtoryDownloadModal *, html body.single-movies .fk-ft-series-actions *{ animation-duration:.01ms!important; animation-delay:0s!important; }
}


/* ==========================================================================
   v32 — Watch / Download buttons: richer look + animated icons
   ========================================================================== */
html body .fk-ft-download-btn[data-fk-download]:before,
html body .fk-ft-watch-btn[data-filmtory-player]:before{ content:none!important; display:none!important; }

html body.single-movies .fk-ft-watch-btn,
html body.single-movies .fk-ft-download-btn{
    display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:10px!important;
    min-height:48px; border-radius:16px!important; font-weight:800; letter-spacing:0; position:relative; overflow:hidden; isolation:isolate;
    -webkit-tap-highlight-color:transparent;
}
/* watch: living gradient + glow */
html body.single-movies .fk-movie-detail-wrap .fk-ft-watch-btn{
    background:linear-gradient(120deg,#ffb04a,#f28c28 38%,#d96f12 70%,#f28c28)!important; background-size:220% 100%!important;
    animation:fk32Flow 6s ease-in-out infinite!important;
    box-shadow:0 10px 26px rgba(217,111,18,.38),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(120,50,0,.25)!important;
    text-shadow:0 1px 2px rgba(90,40,0,.35);
}
html body.single-movies .fk-movie-detail-wrap .fk-ft-watch-btn:hover{ box-shadow:0 14px 34px rgba(242,140,40,.5),inset 0 1px 0 rgba(255,255,255,.35)!important; }
/* download: glass with warm edge */
html body.single-movies .fk-movie-detail-wrap .fk-ft-download-btn{
    background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(242,140,40,.07))!important; border:1px solid rgba(242,140,40,.6)!important;
    -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:#ffd9ad!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 18px rgba(0,0,0,.3)!important;
}
html body.single-movies .fk-movie-detail-wrap .fk-ft-download-btn:before{
    content:""!important; display:block!important; position:absolute; inset:0; z-index:-1; background:linear-gradient(120deg,#f7a23a,#d96f12);
    transform:translateY(101%); transition:transform .35s cubic-bezier(.22,1,.36,1);
}
html body.single-movies .fk-movie-detail-wrap .fk-ft-download-btn:hover:before{ transform:none; }
html body.single-movies .fk-movie-detail-wrap .fk-ft-download-btn:hover{ color:#fff!important; }

/* icon holder */
html body .fk-btn-ico{ position:relative; display:inline-grid; place-items:center; width:24px; height:24px; flex:0 0 24px; }
html body .fk-btn-ico svg{
    width:24px!important; height:24px!important; overflow:visible; fill:none!important; stroke:currentColor!important;
    stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
html body .fk-btn-txt{ line-height:1; }

/* play icon: ring draws itself, triangle beats, soft ripple */
html body .fk-ico-pl .rg{ stroke-dasharray:60; stroke-dashoffset:60; animation:fk32Ring .9s cubic-bezier(.4,0,.2,1) .25s forwards; }
html body .fk-ico-pl .pl{ fill:currentColor!important; stroke:currentColor; stroke-width:1.2; transform-box:fill-box; transform-origin:center; animation:fk32Beat 2.6s ease-in-out 1.4s infinite; }
html body .fk-ft-watch-btn .fk-btn-ico:after{
    content:""; position:absolute; inset:-3px; border-radius:50%; border:1.5px solid currentColor; opacity:0; animation:fk32Ripple 2.6s ease-out 1.4s infinite; pointer-events:none;
}
html body .fk-ft-watch-btn:hover .fk-ico-pl{ transform:scale(1.14) rotate(-8deg); }
html body .fk-ft-watch-btn:hover .fk-ico-pl .pl{ animation-duration:.9s; }
html body .fk-ft-watch-btn:active .fk-ico-pl{ transform:scale(.88); }

/* download icon: arrow bobs into the tray, tray lights up */
html body .fk-ico-dl .ar{ animation:fk32Bob 2.8s ease-in-out 1s infinite; }
html body .fk-ico-dl .tr{ transition:stroke .2s,filter .2s; }
html body .fk-ft-download-btn:hover .fk-ico-dl .ar{ animation-duration:.8s; }
html body .fk-ft-download-btn:hover .fk-ico-dl .tr{ filter:drop-shadow(0 0 4px rgba(255,255,255,.7)); }
html body .fk-ft-download-btn:active .fk-ico-dl .ar{ animation:none; transform:translateY(4px); }

/* shine sweep on watch (already defined in v31) stays; make it softer */
html body.single-movies .fk-ft-watch-btn:after{ z-index:1; }

@keyframes fk32Flow{ 0%,100%{background-position:0 0} 50%{background-position:100% 0} }
@keyframes fk32Ring{ to{stroke-dashoffset:0} }
@keyframes fk32Beat{ 0%,100%{transform:scale(1)} 12%{transform:scale(1.2)} 24%{transform:scale(1)} }
@keyframes fk32Ripple{ 0%{opacity:.7;transform:scale(.85)} 60%,100%{opacity:0;transform:scale(1.7)} }
@keyframes fk32Bob{ 0%,50%,100%{transform:translateY(0)} 66%{transform:translateY(3.5px)} 82%{transform:translateY(-1px)} }
@media (prefers-reduced-motion:reduce){
    html body .fk-btn-ico *, html body .fk-btn-ico:after, html body.single-movies .fk-ft-watch-btn{ animation:none!important; }
    html body .fk-ico-pl .rg{ stroke-dashoffset:0; }
}


/* ==========================================================================
   v32 - Android-style route loader + instant tab feedback
   - The thin top progress line is removed for good.
   - While the destination page loads, the content area is blurred/dimmed and
     a circular spinner turns in the centre (header, sidebar, bottom nav and
     player stay crisp and tappable underneath).
   ========================================================================== */
#fk-page-loader,
#fk-page-loader.fk-progress-active,
#fk-page-loader.fk-progress-done,
#fk-page-loader.fk-progress-initial{ display:none!important; }

#fk-route-loader{
    position:fixed;
    top:var(--fk-app-header-height,64px);
    right:270px;
    bottom:var(--fk-mobile-player-height,90px);
    left:0;
    z-index:10000;
    display:flex; align-items:center; justify-content:center;
    background:rgba(12,11,11,.22);
    -webkit-backdrop-filter:blur(9px) saturate(1.1);
    backdrop-filter:blur(9px) saturate(1.1);
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .18s ease, visibility 0s linear .18s;
    clip-path:inset(48px);
    -webkit-clip-path:inset(48px);
}
#fk-route-loader.is-on{
    opacity:1; visibility:visible; pointer-events:auto; /* swallow taps on the dimmed page */
    transition:opacity .18s ease, visibility 0s;
}
@media (max-width:1023px){
    #fk-route-loader{
        right:0;
        bottom:calc(var(--fk-mobile-nav-height,62px) + var(--fk-mobile-player-height,0px));
    }
}
.fk-rl-card{
    width:64px; height:64px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:rgba(28,25,24,.82);
    box-shadow:0 8px 28px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.07), 0 0 30px rgba(192,38,211,.22);
    transform:scale(.7); opacity:0;
    transition:transform .3s cubic-bezier(.34,1.56,.64,1), opacity .2s ease;
}
#fk-route-loader.is-on .fk-rl-card{ transform:scale(1); opacity:1; }
.fk-rl-box{ display:flex; flex-direction:column; align-items:center; gap:14px; }
.fk-rl-text{
    font-size:13px; font-weight:600; letter-spacing:0; color:#e7e5e4;
    padding:5px 14px; border-radius:999px; background:rgba(28,25,24,.72);
    box-shadow:0 0 0 1px rgba(255,255,255,.06);
    opacity:0; transform:translateY(6px);
    transition:opacity .25s ease .08s, transform .3s ease .08s;
}
#fk-route-loader.is-on .fk-rl-text{ opacity:1; transform:none; }
.fk-rl-dots i{ font-style:normal; display:inline-block; animation:fkRlDot 1.2s ease-in-out infinite; }
.fk-rl-dots i:nth-child(2){ animation-delay:.18s; } .fk-rl-dots i:nth-child(3){ animation-delay:.36s; }
@keyframes fkRlDot{ 0%,60%,100%{ opacity:.25; transform:translateY(0);} 30%{ opacity:1; transform:translateY(-3px);} }

.fk-rl-svg{ width:40px; height:40px; animation:fkRlRotate 1.4s linear infinite; transform-origin:50% 50%; will-change:transform; }
.fk-rl-track{ fill:none; stroke:rgba(255,255,255,.10); stroke-width:4; }
.fk-rl-arc{
    fill:none; stroke:url(#fkRlGrad); stroke-width:4; stroke-linecap:round;
    stroke-dasharray:1,150; stroke-dashoffset:0;
    animation:fkRlDash 1.4s ease-in-out infinite;
}
@keyframes fkRlRotate{ to{ transform:rotate(360deg); } }
@keyframes fkRlDash{
    0%  { stroke-dasharray:1,150;  stroke-dashoffset:0; }
    50% { stroke-dasharray:90,150; stroke-dashoffset:-35; }
    100%{ stroke-dasharray:90,150; stroke-dashoffset:-124; }
}
@media (prefers-reduced-motion:reduce){
    #fk-route-loader, .fk-rl-card{ transition-duration:.01s; }
    .fk-rl-svg{ animation-duration:2.4s; }
}

/* Instant tab colouring (sidebar): no lag between tap and highlight. */
.fk-app-sidebar a{ transition:background-color .12s ease, color .12s ease!important; }
html body #farskids-fixed-menu .fixedside-bottom ul.fk-bn-list > li > a{ transition:color .12s ease!important; }
