/* KinoVio UI v0.6.5 */
:root{
    --kv-emerald:#11A968;
    --kv-emerald-hover:#15C27A;
    --kv-scarlet:#FF4D67;
    --kv-scarlet-hover:#FF6B80;
}

/* Главные заголовки */
#kv-popular .site-title,
#kv-ratings .site-title,
.kv-new-movies .site-title,
.kvui-catalog-page .kvui-catalog-title{
    color:var(--kv-emerald)!important;
}

/* Кнопки «Смотреть все» — фирменный K-neon v0.5.8 */
.kvui-all-btn{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;

    min-height:40px!important;
    padding:8px 13px 8px 15px!important;

    border:1px solid rgba(65,255,183,.95)!important;
    border-radius:16px!important;

    background:
        linear-gradient(145deg,
            #20F0A0 0%,
            #00D990 22%,
            #00B97C 58%,
            #007D67 100%)!important;

    color:#F7FFFC!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:.045em!important;
    text-transform:uppercase!important;
    text-decoration:none!important;

    box-shadow:
        0 0 0 1px rgba(89,255,195,.22) inset,
        0 0 9px rgba(0,232,151,.42),
        0 6px 18px rgba(0,190,124,.25)!important;

    text-shadow:0 1px 8px rgba(0,60,40,.45)!important;
    overflow:hidden!important;
    isolation:isolate!important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease,
        filter .18s ease!important;
}

/* верхний стеклянный неоновый блик как на K */
.kvui-all-btn::before{
    content:""!important;
    position:absolute!important;
    inset:1px!important;
    z-index:-1!important;
    border-radius:15px!important;
    background:
        linear-gradient(
            180deg,
            rgba(186,255,226,.34) 0%,
            rgba(96,255,196,.14) 22%,
            rgba(0,0,0,0) 50%)!important;
    box-shadow:
        inset 0 1px 0 rgba(220,255,240,.45),
        inset 0 -7px 14px rgba(0,67,55,.17)!important;
}

/* лёгкий проходящий блик */
.kvui-all-btn::after{
    content:""!important;
    position:absolute!important;
    top:-80%!important;
    left:-42%!important;
    width:22%!important;
    height:270%!important;
    z-index:0!important;
    pointer-events:none!important;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(220,255,241,.44),
        transparent)!important;
    transform:rotate(19deg)!important;
    transition:left .45s ease!important;
}

.kvui-all-btn i{
    position:relative!important;
    z-index:1!important;
    width:22px!important;
    height:22px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 22px!important;
    margin:0!important;
    border-radius:50%!important;

    background:rgba(0,76,60,.32)!important;
    border:1px solid rgba(182,255,225,.28)!important;
    color:#fff!important;
    font-size:9px!important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        0 0 7px rgba(39,255,177,.14)!important;

    transition:transform .18s ease, background .18s ease!important;
}

.kvui-all-btn:hover{
    color:#fff!important;
    border-color:#71FFD0!important;
    filter:saturate(1.10) brightness(1.08)!important;
    transform:translateY(-1px)!important;

    box-shadow:
        0 0 0 1px rgba(126,255,209,.25) inset,
        0 0 13px rgba(0,240,157,.62),
        0 8px 21px rgba(0,196,127,.31)!important;
}

.kvui-all-btn:hover::after{
    left:120%!important;
}

.kvui-all-btn:hover i{
    transform:translateX(2px)!important;
    background:rgba(0,66,52,.42)!important;
}

.kvui-all-btn:active{
    transform:translateY(0)!important;
}

@media(max-width:575px){
    .kvui-all-btn{
        min-height:36px!important;
        padding:7px 11px 7px 13px!important;
        gap:7px!important;
        border-radius:14px!important;
        font-size:10px!important;
        letter-spacing:.035em!important;
    }

    .kvui-all-btn::before{
        border-radius:13px!important;
    }

    .kvui-all-btn i{
        width:20px!important;
        height:20px!important;
        flex-basis:20px!important;
        font-size:8px!important;
    }
}

/* Верхняя панель: даём меню и иконкам больше ширины */
.main-navigation .navbar > .container{
    max-width:1540px!important;
    width:calc(100% - 28px)!important;
}
.main-navigation .navbar-nav{
    gap:2px!important;
}
.main-navigation .navbar-nav .nav-link{
    padding-left:10px!important;
    padding-right:10px!important;
    white-space:nowrap;
}
.main-navigation .nav-right{
    margin-left:28px!important;
    margin-right:18px!important;
    flex-shrink:0!important;
}

/* Домашние каталоги */
#kv-popular,
#kv-ratings{
    scroll-margin-top:96px;
}
#kv-ratings{
    padding-top:10px!important;
}
.kvui-message,
.kvui-loading{
    min-height:130px;
    display:grid;
    place-items:center;
    text-align:center;
    opacity:.72;
}

/* Карточки */
#kv-popular .movie-content,
#kv-ratings .movie-content,
.kvui-catalog-page .movie-content{
    padding-top:10px!important;
}
#kv-popular .movie-title,
#kv-ratings .movie-title,
.kvui-catalog-page .movie-title{
    margin:0!important;
    font-size:15px!important;
    line-height:1.25!important;
    font-weight:700!important;
    text-align:center!important;
    width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
#kv-popular .kv-card-poster,
#kv-ratings .kv-card-poster,
.kvui-catalog-page .kv-card-poster{
    border-radius:15px!important;
    overflow:hidden;
    position:relative;
}
#kv-popular .kv-card-poster img,
#kv-ratings .kv-card-poster img,
.kvui-catalog-page .kv-card-poster img{
    width:100%;
    aspect-ratio:2/3;
    object-fit:cover;
}
.kv-card-badges{
    position:absolute;
    z-index:3;
    top:8px;
    left:8px;
    right:8px;
    display:flex;
    align-items:center;
    gap:5px;
    pointer-events:none;
}
.kv-card-badge{
    display:inline-flex;
    align-items:center;
    gap:4px;
    min-height:25px;
    padding:4px 7px;
    border-radius:8px;
    color:#fff!important;
    background:rgba(7,9,11,.78);
    backdrop-filter:blur(8px);
    font-size:11px;
    font-weight:800;
    line-height:1;
    box-shadow:0 3px 12px rgba(0,0,0,.16);
}
.kv-card-imdb i{
    color:#ffd76a!important;
}
.kv-card-hit{
    position:absolute;
    inset:0;
    z-index:1;
}
.kv-card-play{
    z-index:4!important;
}
.kvui-poster-empty{
    width:100%;
    aspect-ratio:2/3;
    display:grid;
    place-items:center;
    font-size:42px;
    background:#10161b;
}

/* Новый верхний слайдер */
.kv-new-movies .movie-slider .movie-item .movie-info,
.kv-new-movies .movie-slider .movie-item .movie-action{
    display:none!important;
}
.kv-new-movies .movie-slider .movie-content{
    padding-top:10px!important;
}
.kv-new-movies .movie-slider .movie-title{
    font-size:15px!important;
    line-height:1.25!important;
    text-align:center!important;
    width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.kv-new-movies .movie-slider .kv-card-poster{
    border-radius:15px;
    overflow:hidden;
    position:relative;
}
.kv-new-movies .movie-slider .kv-card-poster img{
    width:100%;
    aspect-ratio:2/3;
    object-fit:cover;
}


/* Фирменное лого KinoVio + неоновая иконка K */
.kvui-brand-text{font-weight:800;letter-spacing:-.04em;white-space:nowrap}
.kvui-brand-kino{color:#FFD84D!important;text-shadow:0 0 18px rgba(255,216,77,.10)}
.kvui-brand-vio{color:#FF4D67!important;text-shadow:0 0 18px rgba(255,77,103,.10)}
.kvui-brand-ready{display:inline-flex!important;align-items:center!important;gap:12px!important}
.kvui-brand-icon-single{display:block!important;width:44px!important;height:44px!important;flex:0 0 44px!important;object-fit:contain!important;filter:drop-shadow(0 0 12px rgba(18,235,155,.32)) drop-shadow(0 0 26px rgba(18,235,155,.18))}
@media (max-width:768px){.kvui-brand-ready{gap:10px!important}.kvui-brand-icon-single{width:38px!important;height:38px!important;flex-basis:38px!important}}

/* Центрируем названия карточек */
#kv-popular .movie-head,
#kv-ratings .movie-head,
.kv-new-movies .movie-head,
.kvui-catalog-page .movie-head{justify-content:center!important;text-align:center!important}
#kv-popular .movie-title a,
#kv-ratings .movie-title a,
.kv-new-movies .movie-title a,
.kvui-catalog-page .movie-title a{display:block!important;text-align:center!important}

/* v0.3.1 — кнопка "Вверх": только главная / Популярные / Рейтинговые */
#scroll-top{display:none!important}
html.kvui-scrolltop-allowed #scroll-top{
    position:fixed!important;
    right:24px!important;
    left:auto!important;
    bottom:22px!important;
    top:auto!important;
    margin:0!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    display:block!important;
    border-radius:50%!important;
    background:
        radial-gradient(circle at 30% 24%,rgba(255,133,145,.26) 0,rgba(255,133,145,0) 28%),
        linear-gradient(155deg,#df3048 0%,#9f1124 52%,#590913 100%)!important;
    border:1px solid rgba(255,128,141,.58)!important;
    outline:none!important;
    color:transparent!important;
    font-size:0!important;
    line-height:0!important;
    text-decoration:none!important;
    overflow:visible!important;
    opacity:0!important;
    visibility:hidden!important;
    z-index:99999!important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        inset 0 -7px 15px rgba(33,0,7,.31),
        0 8px 20px rgba(0,0,0,.33),
        0 0 14px rgba(228,36,67,.18)!important;
    transform:none!important;
    transition:opacity .2s ease,visibility .2s ease,box-shadow .22s ease,filter .22s ease,bottom .18s ease!important;
}
html.kvui-scrolltop-allowed #scroll-top.active{
    right:24px!important;
    left:auto!important;
    bottom:22px!important;
    top:auto!important;
    opacity:1!important;
    visibility:visible!important;
}
html.kvui-scrolltop-allowed #scroll-top:hover{
    right:24px!important;
    left:auto!important;
    bottom:25px!important;
    filter:saturate(1.08) brightness(1.05)!important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.24),
        inset 0 -7px 15px rgba(33,0,7,.26),
        0 11px 25px rgba(0,0,0,.37),
        0 0 18px rgba(255,52,85,.27)!important;
}
html.kvui-scrolltop-allowed #scroll-top:active{bottom:23px!important;filter:brightness(.97)!important}
html.kvui-scrolltop-allowed #scroll-top i,
html.kvui-scrolltop-allowed #scroll-top svg,
html.kvui-scrolltop-allowed #scroll-top img{display:none!important}
html.kvui-scrolltop-allowed #scroll-top::before{
    content:''!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:12px!important;
    height:12px!important;
    border-left:3px solid #fff!important;
    border-top:3px solid #fff!important;
    border-radius:1px!important;
    transform:translate(-50%,-68%) rotate(45deg)!important;
    box-sizing:border-box!important;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))!important;
}
html.kvui-scrolltop-allowed #scroll-top::after{
    content:''!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:3px!important;
    height:14px!important;
    background:#fff!important;
    border-radius:4px!important;
    transform:translate(-50%,-2%)!important;
    box-shadow:0 2px 4px rgba(0,0,0,.20)!important;
}
body:has([data-modal="login"].open) #scroll-top{display:none!important}
@media (max-width:768px){
    html.kvui-scrolltop-allowed #scroll-top,
    html.kvui-scrolltop-allowed #scroll-top.active{right:14px!important;bottom:14px!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
    html.kvui-scrolltop-allowed #scroll-top:hover{right:14px!important;bottom:17px!important}
    html.kvui-scrolltop-allowed #scroll-top::before{width:11px!important;height:11px!important}
    html.kvui-scrolltop-allowed #scroll-top::after{height:13px!important}
}

/* Login: даже если браузер успел применить autofill, жёлтый фон не показываем */
[data-modal="login"] #login_password:-webkit-autofill,
[data-modal="login"] #login_password:-webkit-autofill:hover,
[data-modal="login"] #login_password:-webkit-autofill:focus{
    -webkit-text-fill-color:#fff!important;
    -webkit-box-shadow:0 0 0 1000px #0d1318 inset!important;
    box-shadow:0 0 0 1000px #0d1318 inset!important;
    caret-color:#fff!important;
    transition:background-color 9999s ease-out 0s!important;
}

/* Отдельная страница каталога */
.kvui-catalog-page{
    padding:58px 0 70px;
}
.kvui-catalog-page .container{
    max-width:1450px!important;
}
.kvui-catalog-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:26px;
}
.kvui-catalog-title{
    margin:0!important;
    font-size:34px!important;
    font-weight:800!important;
}
.kvui-catalog-subtitle{
    margin:5px 0 0;
    opacity:.68;
}
.kvui-back-home{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--kv-emerald)!important;
    font-weight:700;
}
.kvui-pagination{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:34px;
}
.kvui-page{
    min-width:40px;
    height:40px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.10);
    color:inherit!important;
    font-weight:800;
    text-decoration:none!important;
    transition:.15s ease;
}
.kvui-page:hover,
.kvui-page.is-active{
    background:var(--kv-emerald)!important;
    border-color:var(--kv-emerald)!important;
    color:#fff!important;
    transform:none!important;
}
.kvui-page-dots{
    min-width:30px;
    text-align:center;
    opacity:.55;
}

/* Расширенная страница фильма */
body.kvui-movie-page .movie-single.movie-single2 > .container,
body.kvui-movie-page .kv-movie-page > .container{
    width:calc(100% - 40px)!important;
    max-width:1480px!important;
}

@media (min-width:992px){
    #kv-popular .kv-dense-grid > .kv-card-col,
    #kv-ratings .kv-dense-grid > .kv-card-col,
    .kvui-catalog-page .kv-dense-grid > .kv-card-col{
        flex:0 0 20%!important;
        width:20%!important;
        max-width:20%!important;
    }
    #kv-popular .kv-dense-grid,
    #kv-ratings .kv-dense-grid,
    .kvui-catalog-page .kv-dense-grid{
        --bs-gutter-x:26px;
        --bs-gutter-y:24px;
    }
}
@media (min-width:768px) and (max-width:991.98px){
    #kv-popular .kv-dense-grid > .kv-card-col,
    #kv-ratings .kv-dense-grid > .kv-card-col,
    .kvui-catalog-page .kv-dense-grid > .kv-card-col{
        flex:0 0 25%!important;
        width:25%!important;
        max-width:25%!important;
    }
}
@media (max-width:991.98px){
    .main-navigation .nav-right{
        margin-left:0!important;
        margin-right:0!important;
    }
}
@media (max-width:767.98px){
    #kv-popular .kv-dense-grid > .kv-card-col,
    #kv-ratings .kv-dense-grid > .kv-card-col,
    .kvui-catalog-page .kv-dense-grid > .kv-card-col{
        flex:0 0 50%!important;
        width:50%!important;
        max-width:50%!important;
    }
    body.kvui-movie-page .movie-single.movie-single2 > .container,
    body.kvui-movie-page .kv-movie-page > .container{
        width:calc(100% - 24px)!important;
    }
    .kvui-catalog-header{
        align-items:flex-start;
        flex-direction:column;
    }
    .kvui-catalog-title{
        font-size:28px!important;
    }
}


/* Рейтинг Кинопоиска на карточках */
.kv-card-kp{
    border:1px solid rgba(255,92,112,.30)!important;
    background:rgba(31,12,18,.86)!important;
}
.kv-card-kp b{
    color:#ff5c70!important;
    font-size:10px;
    letter-spacing:.02em;
}

/* IMDb + КП на полной странице фильма */
.kvui-external-ratings{
    display:flex!important;
    align-items:stretch!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin:0 0 16px!important;
}
.kvui-external-ratings > *{margin:0!important}
.kvui-kp-rating{
    min-width:120px;
    min-height:78px;
    padding:12px 15px;
    border-radius:14px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#0b1620;
    border:1px solid rgba(255,92,112,.25);
    box-shadow:0 8px 24px rgba(0,0,0,.15);
}
.kvui-kp-rating-value{
    display:flex;
    align-items:center;
    gap:7px;
    color:#fff;
    font-size:22px;
    line-height:1;
    font-weight:800;
}
.kvui-kp-mark{
    display:inline-grid;
    place-items:center;
    min-width:31px;
    height:25px;
    padding:0 5px;
    border-radius:7px;
    background:linear-gradient(135deg,#ff7a18,#ff3f6c);
    color:#fff;
    font-size:11px;
    font-weight:900;
    letter-spacing:.03em;
}
.kvui-kp-rating-label{
    margin-top:9px;
    color:#f5f7f8;
    font-size:12px;
    line-height:1;
    font-weight:800;
}


/* v0.2.3 — рейтинги на карточках крупнее и читаемее */
.kv-card-badge{
    min-height:31px!important;
    padding:6px 9px!important;
    gap:5px!important;
    border-radius:9px!important;
    font-size:13px!important;
    line-height:1!important;
}
.kv-card-badge i{font-size:14px!important}
.kv-card-kp b{
    font-size:12px!important;
    letter-spacing:.025em!important;
}
@media(max-width:560px){
    .kv-card-badge{min-height:28px!important;padding:5px 7px!important;font-size:12px!important}
    .kv-card-badge i{font-size:13px!important}
}

/* v0.2.3 — IMDb + КП на полной странице */
.kvui-external-ratings{
    display:flex!important;
    align-items:stretch!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    margin:0 0 18px!important;
}
.kvui-external-ratings > *{
    margin:0!important;
    min-width:122px!important;
}
.kvui-kp-rating{
    min-width:122px!important;
    min-height:79px!important;
    padding:12px 15px!important;
    border-radius:14px!important;
}
.kvui-kp-rating-value{font-size:23px!important}
.kvui-kp-mark{
    min-width:34px!important;
    height:27px!important;
    padding:0 6px!important;
    font-size:12px!important;
}
.kvui-kp-rating-label{font-size:12px!important}

/* v0.2.3 — убираем большие служебные hero/breadcrumb-баннеры */
.kvui-utility-hero{display:none!important}
body.kvui-no-utility-heroes .site-breadcrumb,
body.kvui-no-utility-heroes .breadcrumb-area,
body.kvui-no-utility-heroes .breadcrumb-section,
body.kvui-no-utility-heroes .page-breadcrumb,
body.kvui-no-utility-heroes .page-banner,
body.kvui-no-utility-heroes .inner-banner,
body.kvui-no-utility-heroes .inner-page-banner,
body.kvui-no-utility-heroes .page-title-area,
body.kvui-no-utility-heroes .page-header-area{
    display:none!important;
}

/* v0.2.3 — возвращаем красную анимацию кнопке отправки комментария */
#dle-comments-form button[type="submit"],
#dle-comments-form input[type="submit"],
.add-comments-form button[type="submit"],
.add-comments-form input[type="submit"],
.comment-form button[type="submit"],
.comment-form input[type="submit"],
.comments-form button[type="submit"],
.comments-form input[type="submit"]{
    transition:background .20s ease,border-color .20s ease,box-shadow .20s ease,transform .20s ease,color .20s ease!important;
}
#dle-comments-form button[type="submit"]:hover,
#dle-comments-form input[type="submit"]:hover,
.add-comments-form button[type="submit"]:hover,
.add-comments-form input[type="submit"]:hover,
.comment-form button[type="submit"]:hover,
.comment-form input[type="submit"]:hover,
.comments-form button[type="submit"]:hover,
.comments-form input[type="submit"]:hover{
    background:linear-gradient(135deg,#ff5268,#d91f3d)!important;
    border-color:#ff5268!important;
    color:#fff!important;
    box-shadow:0 10px 28px rgba(255,56,84,.34),0 0 0 4px rgba(255,56,84,.10)!important;
    transform:translateY(-2px)!important;
}

/* v0.2.8 — в шапке ровно один фирменный логотип */
.main-navigation .navbar-brand.kvui-brand-ready{
    display:inline-flex!important;
    align-items:center!important;
    gap:12px!important;
    width:auto!important;
    max-width:none!important;
}
.main-navigation .navbar-brand.kvui-brand-ready > img:not(.kvui-brand-icon-single),
.main-navigation .navbar-brand.kvui-brand-ready > .logo-scrolled,
.main-navigation .navbar-brand.kvui-brand-ready > .logo-display{display:none!important}
.kvui-brand-icon-single{
    display:block!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    object-fit:contain!important;
    flex:0 0 44px!important;
    filter:drop-shadow(0 0 12px rgba(18,235,155,.36)) drop-shadow(0 0 24px rgba(18,235,155,.18))!important;
}
@media(max-width:768px){
    .main-navigation .navbar-brand.kvui-brand-ready{gap:9px!important}
    .kvui-brand-icon-single{width:38px!important;height:38px!important;min-width:38px!important;flex-basis:38px!important}
}

/* ===== v0.3.7: rating, search, badges, anti-flash ===== */
[data-kv-vibix-host].kv-vibix-pending [data-kv-local-fallback],
[data-kv-vibix-host] [data-kv-local-fallback][hidden]{display:none!important}

/* Алая лупа поиска KinoVio */
.main-navigation .search-btn i,
.main-navigation .search-btn svg,
.main-navigation .search-toggler i,
.main-navigation .search-toggler svg,
.main-navigation [data-modal-trigger="search"] i,
.main-navigation [data-modal-trigger="search"] svg,
.main-navigation .nav-right .fa-search,
.main-navigation .nav-right .feather-search,
.main-navigation .nav-right [class*="search"] i{
    color:var(--kv-scarlet)!important;
    stroke:var(--kv-scarlet)!important;
    font-size:20px!important;
    filter:drop-shadow(0 0 8px rgba(255,77,103,.34));
    transition:color .18s ease,stroke .18s ease,transform .18s ease,filter .18s ease!important;
}
.main-navigation .search-btn:hover i,
.main-navigation .search-btn:hover svg,
.main-navigation .search-toggler:hover i,
.main-navigation .search-toggler:hover svg,
.main-navigation [data-modal-trigger="search"]:hover i,
.main-navigation [data-modal-trigger="search"]:hover svg{
    color:var(--kv-scarlet-hover)!important;
    stroke:var(--kv-scarlet-hover)!important;
    transform:scale(1.08);
    filter:drop-shadow(0 0 11px rgba(255,77,103,.48));
}

/* IMDb / КП на постерах ещё немного крупнее */
.kv-card-badge{
    min-height:34px!important;
    padding:7px 10px!important;
    gap:6px!important;
    border-radius:10px!important;
    font-size:14px!important;
}
.kv-card-badge i{font-size:15px!important}
.kv-card-kp b{font-size:13px!important}
@media(max-width:560px){
    .kv-card-badge{min-height:31px!important;padding:6px 8px!important;font-size:13px!important}
    .kv-card-badge i{font-size:14px!important}
    .kv-card-kp b{font-size:12px!important}
}

/* Новый компактный рейтинг KinoVio: две независимые кнопки Like / Dislike */
.kv-user-rating-card[hidden]{display:none!important}
.kv-user-rating-card{
    margin:14px 0 18px!important;
    padding:13px 15px!important;
    border:1px solid #263139!important;
    border-radius:16px!important;
    background:linear-gradient(145deg,#0a1015,#0d141a)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    box-shadow:0 12px 30px rgba(0,0,0,.16)!important;
}
.kv-user-rating-head{
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    min-width:0!important;
}
.kv-user-rating-kicker{
    font-size:13px!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:.025em!important;
    color:#fff!important;
}
.kv-user-rating-total{
    color:#8f9ba4!important;
    font-size:11px!important;
    line-height:1.2!important;
}
.kv-user-rating-total b{color:#dce4e9!important}
.kv-user-vote-actions{
    display:flex!important;
    align-items:center!important;
    gap:13px!important;
    flex:0 0 auto!important;
}
.kv-user-vote-item{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    min-width:62px!important;
}
.kv-user-vote-item a{
    display:inline-flex!important;
    text-decoration:none!important;
    border:0!important;
}
.kv-user-vote-circle{
    width:42px!important;
    height:42px!important;
    border-radius:50%!important;
    display:inline-grid!important;
    place-items:center!important;
    color:#fff!important;
    font-size:18px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
.kv-user-vote-up .kv-user-vote-circle{
    background:linear-gradient(145deg,#1dc77b,#0c9a5b)!important;
    box-shadow:0 8px 20px rgba(20,190,113,.24)!important;
}
.kv-user-vote-down .kv-user-vote-circle{
    background:linear-gradient(145deg,#ff5b70,#d92f49)!important;
    box-shadow:0 8px 20px rgba(236,65,91,.22)!important;
}
.kv-user-vote-item a:hover .kv-user-vote-circle{
    transform:translateY(-2px) scale(1.05)!important;
    filter:brightness(1.08)!important;
}
.kv-user-vote-count,
.kv-user-rating-card .ratingtypeplusminus{
    display:inline-block!important;
    min-width:18px!important;
    padding:0!important;
    background:none!important;
    border:0!important;
    color:#fff!important;
    font-size:16px!important;
    line-height:1!important;
    font-weight:900!important;
    text-align:center!important;
}
@media(max-width:560px){
    .kv-user-rating-card{padding:11px 12px!important;gap:10px!important}
    .kv-user-rating-kicker{font-size:12px!important}
    .kv-user-vote-actions{gap:9px!important}
    .kv-user-vote-item{min-width:55px!important;gap:5px!important}
    .kv-user-vote-circle{width:38px!important;height:38px!important;font-size:16px!important}
    .kv-user-vote-count,.kv-user-rating-card .ratingtypeplusminus{font-size:15px!important}
}

/* ===== v0.3.7: универсальная кнопка следующей страницы ===== */
.kvui-page-next,
a.kvui-native-next{
    min-width:42px!important;
    height:40px!important;
    padding:0 12px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:10px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    font-size:22px!important;
    line-height:1!important;
    font-weight:900!important;
    text-decoration:none!important;
    vertical-align:middle!important;
    transition:background .16s ease,border-color .16s ease,transform .16s ease!important;
}
.kvui-page-next:hover,
a.kvui-native-next:hover{
    background:var(--kv-emerald)!important;
    border-color:var(--kv-emerald)!important;
    color:#fff!important;
    transform:translateX(2px)!important;
}
.kvui-native-next-item{display:inline-flex!important;align-items:center!important}
.navigation > a.kvui-native-next,
.pages > a.kvui-native-next,
.pagenav > a.kvui-native-next,
.page-nav > a.kvui-native-next,
.nav-pages > a.kvui-native-next,
.dle-pagination > a.kvui-native-next,
.pagination-wrapper > a.kvui-native-next,
.pagination-container > a.kvui-native-next,
.page-navigation > a.kvui-native-next{margin-left:8px!important}
@media(max-width:560px){
    .kvui-page-next,a.kvui-native-next{min-width:38px!important;height:38px!important;padding:0 10px!important;font-size:20px!important}
}



/* ===== v0.3.8: clean first render, no legacy flash ===== */
/* На обычных страницах серверный fallback ведёт себя как будто обёртки нет. */
.kvui-server-home-content{display:contents}

/* На настоящей главной старые DLE-карточки никогда не попадают в первый кадр.
   API стартует ещё в <head>, а JS заменяет grid только готовыми карточками. */
html.kvui-home-boot .kvui-server-home-content{display:none!important}

html.kvui-home-boot .kv-new-movies .hero-single{
    padding-top:28px!important;
    padding-bottom:20px!important;
}

/* Новый верхний контейнер до получения данных намеренно не является .movie-slider:
   штатный Stremio main.js не создаёт пустой Owl-карусели. */
.kv-home-movie-slider:empty{display:none}
.kv-home-movie-slider.movie-slider{display:block}

/* Каталоги ?kv=...: вместо старой главной / пустого тёмного экрана показываем
   лёгкую правильную оболочку раздела до готовности данных. */
.kvui-catalog-boot{
    padding:44px 0 30px;
    min-height:150px;
}
html.kvui-catalog-pending main.main > :not(.kvui-catalog-boot){display:none!important}
html.kvui-catalog-pending .kvui-catalog-boot{display:block!important}
.kvui-catalog-boot-title:empty::after{
    content:"Каталог";
}
html.kvui-cat-popular .kvui-catalog-boot-title:empty::after{content:"Популярные"}
html.kvui-cat-ratings .kvui-catalog-boot-title:empty::after{content:"Рейтинговые"}
html.kvui-cat-cartoons .kvui-catalog-boot-title:empty::after{content:"Мультфильмы"}
html.kvui-cat-new .kvui-catalog-boot-title:empty::after{content:"Новые фильмы"}

/* После отрисовки оболочка больше не участвует в layout. */
html:not(.kvui-catalog-pending) .kvui-catalog-boot{display:none!important}


/* ===== KinoVio v0.5.0: search / related / recent / comments / footer ===== */
.kv-nav-search{position:relative}
.kv-search-suggest{position:absolute;z-index:1100;top:calc(100% + 8px);right:0;width:min(420px,86vw);background:#0e1419;border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 18px 45px rgba(0,0,0,.35);padding:6px;overflow:hidden}
.kv-search-item{display:flex;gap:10px;align-items:center;padding:8px;border-radius:10px;color:#e9eef2!important;text-decoration:none!important}
.kv-search-item:hover{background:rgba(16,185,129,.11)}
.kv-search-item img,.kv-search-noimg{width:42px;height:58px;border-radius:7px;object-fit:cover;background:#151d23;flex:0 0 auto;display:grid;place-items:center}
.kv-search-item span:last-child{min-width:0;display:flex;flex-direction:column}.kv-search-item strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kv-search-item small{color:#8f9aa4;margin-top:2px}.kv-search-empty{padding:12px;color:#8f9aa4;text-align:center}
.kv-related-section{margin-top:28px}.kv-related-section[hidden]{display:none!important}
.kvui-recent-section{border-top:1px solid rgba(255,255,255,.04)}
.kv-recent-clear{border:1px solid rgba(255,255,255,.12);background:#11181e;color:#aeb7bf;border-radius:10px;padding:8px 12px;font-size:13px}.kv-recent-clear:hover{color:#fff;border-color:#10b981}
.kv-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:16px 22px}
.kv-footer-links a{white-space:nowrap}
/* comments: keep the editor visually inside the dark KinoVio card */
.kv-comments .comment-form{background:#0e1419;border:1px solid rgba(255,255,255,.045);border-radius:22px;padding:28px 32px}
.kv-comments .tox-tinymce,.kv-comments .tox-editor-header,.kv-comments .tox-toolbar__primary{border-color:rgba(255,255,255,.08)!important}
@media(max-width:767px){
 .kv-comments .comment-form{padding:18px 14px;border-radius:16px}
 .kv-comments .comment-form h4{font-size:20px;margin-bottom:16px}
 .kv-search-suggest{position:fixed;top:72px;left:12px;right:12px;width:auto;max-height:60vh;overflow:auto}
 .kv-footer-row{align-items:flex-start!important;gap:12px}.kv-footer-links{justify-content:flex-start;gap:10px 16px;font-size:13px}
 .kv-related-section .kv-card-col:nth-child(n+7){display:none}
}

.kv-static-page{max-width:1000px;margin:50px auto;padding:32px;border:1px solid rgba(255,255,255,.06);background:#0e1419;border-radius:20px;color:#c9d0d6}.kv-static-page h1{color:#fff;margin-bottom:22px}.kv-static-page p{line-height:1.8;margin-bottom:14px}@media(max-width:767px){.kv-static-page{margin:24px 12px;padding:22px 18px}}
.kv-card-resume{background:rgba(16,185,129,.94)!important;color:#06110d!important;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kvui-continue-section{border-top:1px solid rgba(255,255,255,.04)}


/* v0.5.2: keep the Series item visible next to Cartoons on desktop. */
@media (min-width: 992px){
    .main-navigation .nav-right{margin-left:12px!important;margin-right:10px!important}
    .main-navigation .kv-nav-search{width:clamp(205px,15vw,270px)!important;flex:0 1 270px!important}
    .main-navigation .navbar-nav{margin-right:6px!important}
    .main-navigation .kv-series-nav{display:list-item!important}
}
.kv-new-series{margin-top:-18px}
.kv-new-series .site-title{color:var(--kv-emerald)!important}
.kv-home-series-slider .kv-card-quality{background:rgba(17,169,104,.95)!important;color:#fff!important}

/* KinoVio v0.6.5 — крупные заголовки снова фирменный изумруд */
.kv-new-movies .site-title,
.kv-new-series .site-title,
#kv-popular .site-title,
#kv-ratings .site-title,
.kv-movie-page .kv-detail-title{
    color:var(--kv-emerald)!important; /* #11A968 */
}



/* KinoVio v0.6.3 — единственное отличие карточки сериала от фильма */
.kv-home-series-slider .kv-card-series-label{
    position:absolute;
    z-index:3;
    right:8px;
    bottom:8px;
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:4px 7px;
    border-radius:8px;
    color:#fff!important;
    background:#18b86d;
    backdrop-filter:blur(8px);
    font-size:11px;
    font-weight:800;
    line-height:1;
    box-shadow:0 3px 12px rgba(0,0,0,.16);
    pointer-events:none;
}

/* ===== KinoVio v0.7.1: unified catalog sort tabs ===== */
.kvui-sort-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:-6px 0 26px;
    padding:5px;
    width:max-content;
    max-width:100%;
    border:1px solid rgba(255,255,255,.09);
    border-radius:14px;
    background:rgba(255,255,255,.035);
}
.kvui-sort-tab{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 14px;
    border-radius:10px;
    color:inherit!important;
    font-size:14px;
    font-weight:750;
    line-height:1.15;
    text-decoration:none!important;
    white-space:nowrap;
    transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.kvui-sort-tab:hover{
    background:rgba(17,169,104,.12);
    color:var(--kv-emerald)!important;
}
.kvui-sort-tab.is-active{
    background:var(--kv-emerald)!important;
    color:#fff!important;
    box-shadow:0 7px 20px rgba(17,169,104,.18);
}
html.kvui-cat-series .kvui-catalog-boot-title:empty::after{content:"Сериалы"}

@media (max-width:575.98px){
    .kvui-sort-tabs{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        width:100%;
        gap:5px;
        padding:4px;
        margin:-4px 0 20px;
    }
    .kvui-sort-tab{
        min-width:0;
        padding:8px 5px;
        font-size:11.5px;
        letter-spacing:-.1px;
    }
}

/* ===== KinoVio Original Black Restore v1.0.0 START ===== */

/* Original black header */
body.theme-mode-variables .kv-inline-header .main-navigation{
    background:#080a0c!important;
    background-color:#080a0c!important;
}

body.theme-mode-variables .kv-inline-header .navbar,
body.theme-mode-variables .kv-inline-header .navbar.fixed-top{
    background:rgba(8,10,12,.96)!important;
    background-color:rgba(8,10,12,.96)!important;
    border-bottom:1px solid rgba(255,255,255,.055)!important;
    box-shadow:none!important;
}

/* Remove any geometric layer left on the header container */
body.theme-mode-variables .kv-inline-header .navbar > .container{
    background:transparent!important;
}

/* Original black footer */
body.theme-mode-variables footer.footer-area.kv-footer,
body.theme-mode-variables .kv-footer{
    background:#080a0c!important;
    background-color:#080a0c!important;
    border-top-color:rgba(255,255,255,.06)!important;
}

body.theme-mode-variables footer.footer-area.kv-footer > .copyright,
body.theme-mode-variables .kv-footer .copyright{
    background:#080a0c!important;
    background-color:#080a0c!important;
    border-top-color:rgba(255,255,255,.06)!important;
}

/* Remove any geometric layer left on footer container */
body.theme-mode-variables footer.footer-area.kv-footer > .copyright > .container{
    background:transparent!important;
}

/* ===== KinoVio Original Black Restore v1.0.0 END ===== */
