/* ========================================================= TURBOVIP.INFO — custom.css Стиль: green / white / graphite Для Bootstrap 4.3.1 / DLE ========================================================= */ 
/* ---------- БАЗА ---------- */ 
body { 
    background: #f4f7f3; 
    background-image: radial-gradient(circle at top left, rgba(22, 163, 74, 0.06), transparent 26%), radial-gradient(circle at top right, rgba(134, 239, 172, 0.10), transparent 24%), linear-gradient(180deg, #f7faf7 0%, #eef4ee 100%); 
    color: #1f2937; 
} 
a { 
    color: #15803d; 
    text-decoration: none; 
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; 
} 
a:hover { 
    color: #166534; 
    text-decoration: none; 
} 
/* ---------- ХЕДЕР ---------- */ 
.site-header-tech { 
    position: sticky; 
    top: 0; 
    z-index: 1030; 
    padding: 14px 0; 
    background: rgba(255, 255, 255, 0.92) !important; 
    backdrop-filter: blur(12px); 
    -webkit-backdrop-filter: blur(12px); 
    border-bottom: 1px solid rgba(21, 128, 61, 0.10); 
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05); 
} 
.site-header-tech.navbar-light.bg-light { 
    background: rgba(255, 255, 255, 0.92) !important; 
} 
/* ---------- ЛОГО ---------- */ 
.site-logo { 
    display: inline-flex; 
    align-items: center; 
    gap: 8px; 
    font-weight: 800; 
    font-size: 1.18rem; 
    letter-spacing: 0.08em; 
    color: #111827 !important; 
    text-transform: uppercase; 
} 
.site-logo:hover, .site-logo:focus { 
    color: #111827 !important; 
    opacity: 0.96; 
} 
.site-logo-icon { 
    font-size: 38px; 
    color: #16a34a; 
    filter: drop-shadow(0 0 8px rgba(22, 163, 74, 0.16)); 
} 
.site-logo .lgg { 
    color: #111827; 
    font-weight: 900; 
} 
.site-logo-accent { 
    color: #16a34a; 
    font-weight: 800; 
    text-transform: lowercase; 
} 
/* ---------- БУРГЕР ---------- */ 
.site-toggler { 
    border: 1px solid rgba(17, 24, 39, 0.08) !important; 
    border-radius: 12px; 
    padding: 7px 11px; 
    color: #1f2937 !important; 
    background: #ffffff; 
} 
.site-toggler:hover, .site-toggler:focus { 
    background: #f0fdf4; 
    box-shadow: none; 
    outline: none; 
} 
/* ---------- ГЛАВНОЕ МЕНЮ ---------- */ 
.site-main-nav { 
    align-items: center; 
    margin-left: 28px; 
} 
.site-main-nav .nav-item { 
    margin-right: 6px; 
} 
.site-main-nav .nav-link { 
    position: relative; 
    padding: 11px 14px !important; 
    border-radius: 12px; 
    font-size: 0.95rem; 
    font-weight: 600; 
    line-height: 1.2; 
    color: #374151 !important; 
    white-space: nowrap; 
} 
.site-main-nav .nav-link:hover, .site-main-nav .nav-link:focus { 
    color: #166534 !important; 
    background: #f0fdf4; 
} 
.site-main-nav .nav-link::after { 
    content: ""; 
    position: absolute; 
    left: 14px; 
    right: 14px; 
    bottom: 6px; 
    height: 2px; 
    border-radius: 99px; 
    background: linear-gradient(90deg, #16a34a 0%, #86efac 100%); 
    opacity: 0; 
    transform: scaleX(0.6); 
    transition: opacity .2s ease, transform .2s ease; 
} 
.site-main-nav .nav-link:hover::after, .site-main-nav .nav-link:focus::after { 
    opacity: 1; 
    transform: scaleX(1); 
} 
/* ---------- ПРАВАЯ ЧАСТЬ ---------- */ 
.site-nav-right { 
    display: flex; 
    flex-direction: row; 
    align-items: center; 
    gap: 14px; 
} 
.site-contact-link { 
    padding: 11px 14px !important; 
    border-radius: 12px; 
    color: #374151 !important; 
    font-weight: 600; 
} 
.site-contact-link:hover, .site-contact-link:focus { 
    color: #166534 !important; 
    background: #f0fdf4; 
} 
/* ---------- ПОИСК ---------- */ 
.site-search-form { 
    display: flex; 
    align-items: center; 
    gap: 10px; 
    margin-left: 6px; 
} 
.site-search-wrap { 
    position: relative; 
    display: flex; 
    align-items: center; 
    min-width: 270px; 
} 
.site-search-icon { 
    position: absolute; 
    left: 14px; 
    top: 50%; 
    transform: translateY(-50%); 
    font-size: 18px; 
    color: #6b7280; 
    pointer-events: none; 
} 
.site-search-input { 
    height: 44px !important; 
    padding: 0 14px 0 42px !important; 
    border-radius: 14px !important; 
    border: 1px solid #d1d5db !important; 
    background: #ffffff !important; 
    color: #111827 !important; 
    box-shadow: none !important; 
} 
.site-search-input::placeholder { 
    color: #6b7280 !important; 
} 
.site-search-input:focus { 
    border-color: #22c55e !important; 
    background: #ffffff !important; 
    box-shadow: 0 0 0 0.18rem rgba(34, 197, 94, 0.12) !important; 
} 
.site-search-btn { 
    height: 44px; 
    padding: 0 18px; 
    border: 0; 
    border-radius: 14px; 
    font-weight: 700; 
    color: #ffffff; 
    background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%); 
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.16); 
} 
.site-search-btn:hover, .site-search-btn:focus { 
    color: #ffffff; 
    transform: translateY(-1px); 
    box-shadow: 0 14px 28px rgba(22, 163, 74, 0.22); 
    outline: none; 
} 
/* ---------- КАРТОЧКИ / КОНТЕНТ ---------- */ 
.story, .box, .shortstory, .fullstory, .page, .content-box, .base-box, .main-news, .sect, .sect-white { 
    background: #ffffff; 
    border: 1px solid rgba(17, 24, 39, 0.06); 
    border-radius: 20px; 
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); 
    color: #1f2937; 
} 
.story a, .box a, .shortstory a, .fullstory a, .page a { 
    color: #15803d; 
} 
.story a:hover, .box a:hover, .shortstory a:hover, .fullstory a:hover, .page a:hover { 
    color: #166534; 
} 
/* ---------- ЗАГОЛОВКИ ---------- */ 
h1, h2, h3, h4, h5, h6 { 
    color: #111827; 
    font-weight: 800; 
    letter-spacing: -0.02em; 
} 
h1 { 
    font-size: 2.1rem; 
    line-height: 1.15; 
} 
h2 { 
    font-size: 1.7rem; 
    line-height: 1.2; 
} 
h3 { 
    font-size: 1.35rem; 
    line-height: 1.25; 
} 
/* ---------- ТЕКСТ ---------- */ 
p, li { 
    color: #374151; 
} 
small, span, label, div, td, th { 
    word-wrap: break-word; 
} 
/* ---------- САЙДБАР ---------- */ 
.sidebar .box, .right .box, .left .box, .side-block, .sidebox, .sect-side { 
    background: #ffffff; 
    border: 1px solid rgba(17, 24, 39, 0.06); 
    border-radius: 18px; 
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05); 
    color: #1f2937; 
} 
/* ---------- ТАБЛИЦЫ ---------- */ 
.table { 
    color: #1f2937; 
    background: transparent; 
} 
.table th, .table td { 
    border-color: #e5e7eb !important; 
} 
.table thead th { 
    background: #f0fdf4; 
    color: #14532d; 
} 
/* ---------- ФОРМЫ ---------- */ 
.form-control, input[type="text"], input[type="email"], input[type="password"], input[type="search"], textarea, select { 
    border-radius: 14px; 
    background: #ffffff; 
    color: #111827; 
    border: 1px solid #d1d5db; 
} 
.form-control:focus, input:focus, textarea:focus, select:focus { 
    outline: none; 
    border-color: #22c55e; 
    box-shadow: 0 0 0 0.18rem rgba(34, 197, 94, 0.12); 
} 
/* ---------- КНОПКИ ---------- */ 
.btn, button, input[type="submit"] { 
    border-radius: 14px; 
    transition: all .2s ease; 
} 
/* ---------- ХЛЕБНЫЕ КРОШКИ ---------- */ 
.breadcrumb, .bread, .navigation, .speedbar { 
    background: #ffffff; 
    border: 1px solid rgba(17, 24, 39, 0.06); 
    border-radius: 14px; 
    color: #4b5563; 
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04); 
} 
.breadcrumb a, .speedbar a { 
    color: #15803d; 
} 
/* ---------- ПАГИНАЦИЯ ---------- */ 
.pagination, .pages, .navigation { 
    gap: 6px; 
} 
.page-link, .pages a, .navigation a, .pages span { 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    min-width: 40px; 
    height: 40px; 
    padding: 0 12px; 
    border-radius: 12px; 
    border: 1px solid #d1d5db; 
    background: #ffffff; 
    color: #1f2937; 
} 
.page-link:hover, .pages a:hover, .navigation a:hover { 
    background: #f0fdf4; 
    color: #166534; 
    border-color: #86efac; 
} 
.pages span, .page-item.active .page-link { 
    background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%); 
    border-color: transparent; 
    color: #ffffff; 
    font-weight: 700; 
} 
/* ---------- FOOTER ---------- */ 
footer, .footer, #footer { 
    background: transparent; 
    color: #6b7280; 
    border-top: 1px solid rgba(17, 24, 39, 0.06); 
} 
footer a, .footer a, #footer a { 
    color: #15803d; 
} 
/* ---------- CODE / PRE ---------- */ 
code, pre { 
    border-radius: 14px; 
} 
pre { 
    padding: 16px 18px; 
    background: #0f172a; 
    border: 1px solid rgba(17, 24, 39, 0.08); 
    color: #e5e7eb; 
    overflow: auto; 
} 
code { 
    color: #166534; 
    background: #ecfdf3; 
    padding: 2px 7px; 
} 
/* ---------- ИЗОБРАЖЕНИЯ ---------- */ 
img { 
    max-width: 100%; 
    height: auto; 
} 
.story img, .fullstory img, .shortstory img { 
    border-radius: 16px; 
} 
/* ---------- ДОП. АКЦЕНТ ДЛЯ КАРТОЧЕК ---------- */ 
.story, .shortstory, .fullstory { 
    position: relative; 
    overflow: hidden; 
} 
.story::before, .shortstory::before, .fullstory::before { 
    content: ""; 
    position: absolute; 
    left: 0; 
    top: 0; 
    width: 100%; 
    height: 4px; 
    background: linear-gradient(90deg, #16a34a 0%, #86efac 100%); 
    opacity: 0.95; 
} 
/* ---------- МОБИЛКА ---------- */ 
@media (max-width: 1199.98px) { 
    .site-main-nav { 
        margin-left: 18px; 
    } 
    .site-search-wrap { 
        min-width: 230px; 
    } 
} 
@media (max-width: 991.98px) { 
    .site-header-tech { 
        padding: 10px 0; 
    } 
    .site-main-nav { 
        margin-left: 0; 
        margin-top: 14px; 
    } 
    .site-main-nav .nav-item { 
        margin-right: 0; 
        margin-bottom: 4px; 
    } 
    .site-main-nav .nav-link { 
        padding: 12px 14px !important; 
    } 
    .site-nav-right { 
        display: block; 
        width: 100%; 
        margin-top: 12px; 
    } 
    .site-contact-link { 
        display: block; 
        margin-bottom: 8px; 
    } 
    .site-search-form { 
        display: flex; 
        flex-direction: column; 
        align-items: stretch; 
        gap: 10px; 
        margin-left: 0; 
        width: 100%; 
    } 
    .site-search-wrap { 
        min-width: 100%; 
        width: 100%; 
    } 
    .site-search-btn { 
        width: 100%; 
    } 
} 
@media (max-width: 767.98px) { 
    .site-logo { 
        font-size: 1.02rem; 
        letter-spacing: 0.06em; 
    } 
    .site-logo-icon { 
        font-size: 32px; 
    } 
    h1 { 
        font-size: 1.7rem; 
    } 
    h2 { 
        font-size: 1.45rem; 
    } 
    h3 { 
        font-size: 1.22rem; 
    } 
} 
@media (max-width: 575.98px) { 
    .site-header-tech .container { 
        padding-left: 12px; 
        padding-right: 12px; 
    } 
    .site-search-input, .site-search-btn { 
        height: 42px; 
    } 
    .site-main-nav .nav-link, .site-contact-link { 
        font-size: 0.95rem; 
    } 
} 
/* ===== NEW TURBOVIP LOGO ===== */ 
.tv-logo { 
    display: inline-flex; 
    align-items: center; 
    gap: 12px; 
    padding: 0 !important; 
    text-transform: none !important; 
} 
.tv-logo:hover, .tv-logo:focus { 
    text-decoration: none; 
    opacity: 1; 
} 
.tv-logo-mark { 
    width: 48px; 
    height: 48px; 
    min-width: 48px; 
    border-radius: 14px; 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%); 
    border: 1px solid rgba(22, 163, 74, 0.16); 
    box-shadow: 0 10px 24px rgba(22, 163, 74, 0.10); 
} 
.tv-logo-icon { 
    font-size: 28px; 
    color: #16a34a; 
    filter: none; 
} 
.tv-logo-text { 
    display: flex; 
    flex-direction: column; 
    line-height: 1; 
} 
.tv-logo-main { 
    font-size: 2rem; 
    font-weight: 900; 
    letter-spacing: -0.04em; 
    color: #111827; 
} 
.tv-logo-dot { 
    margin-left: 4px; 
    font-size: 1.2rem; 
    font-weight: 800; 
    color: #16a34a; 
} 
.tv-logo-main, .tv-logo-dot { 
    display: inline-block; 
    vertical-align: baseline; 
} 
.tv-logo-sub { 
    margin-top: 4px; 
    font-size: 0.68rem; 
    font-weight: 700; 
    letter-spacing: 0.18em; 
    text-transform: uppercase; 
    color: #6b7280; 
} 
/* Чтобы TurboVIP и .info были в одной строке */ 
.tv-logo-text > .tv-logo-main::after { 
    content: ""; 
} 
.tv-logo-text { 
    position: relative; 
} 
.tv-logo-text .tv-logo-main, .tv-logo-text .tv-logo-dot { 
    line-height: 1; 
} 
.tv-logo-text .tv-logo-dot { 
    position: relative; 
    top: -1px; 
} 
/* Компоновка первой строки */ 
.tv-logo-text { 
    display: grid; 
    grid-template-columns: auto auto; 
    grid-template-rows: auto auto; 
    column-gap: 2px; 
    row-gap: 3px; 
    align-items: end; 
} 
.tv-logo-main { 
    grid-column: 1; 
    grid-row: 1; 
} 
.tv-logo-dot { 
    grid-column: 2; 
    grid-row: 1; 
    align-self: end; 
} 
.tv-logo-sub { 
    grid-column: 1 / 3; 
    grid-row: 2; 
} 
/* Ховер */ 
.tv-logo:hover .tv-logo-mark, .tv-logo:focus .tv-logo-mark { 
    background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%); 
    border-color: rgba(22, 163, 74, 0.26); 
    box-shadow: 0 14px 28px rgba(22, 163, 74, 0.14); 
} 
.tv-logo:hover .tv-logo-main, .tv-logo:focus .tv-logo-main { 
    color: #0f172a; 
} 
/* Мобилка */ 
@media (max-width: 991.98px) { 
    .tv-logo-main { 
        font-size: 1.55rem; 
    } 
    .tv-logo-dot { 
        font-size: 1rem; 
    } 
    .tv-logo-sub { 
        font-size: 0.58rem; 
        letter-spacing: 0.14em; 
    } 
    .tv-logo-mark { 
        width: 42px; 
        height: 42px; 
        min-width: 42px; 
        border-radius: 12px; 
    } 
    .tv-logo-icon { 
        font-size: 24px; 
    } 
} 
@media (max-width: 575.98px) { 
    .tv-logo { 
        gap: 10px; 
    } 
    .tv-logo-main { 
        font-size: 1.32rem; 
    } 
    .tv-logo-dot { 
        font-size: 0.9rem; 
    } 
    .tv-logo-sub { 
        display: none; 
    } 
    .tv-logo-mark { 
        width: 38px; 
        height: 38px; 
        min-width: 38px; 
    } 
    .tv-logo-icon { 
        font-size: 22px; 
    } 
} 
/* ========================================================= TURBOVIP SIDEBAR ========================================================= */ 
.tv-side-card { 
    border: 1px solid rgba(17, 24, 39, 0.06) !important; 
    border-radius: 18px !important; 
    background: #ffffff !important; 
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); 
    overflow: hidden; 
} 
.tv-side-card .card-body { 
    padding: 18px 18px 16px; 
} 
.tv-top-card { 
    position: relative; 
} 
.tv-top-card::before, .tv-links-card::before { 
    content: ""; 
    display: block; 
    width: 100%; 
    height: 4px; 
    background: linear-gradient(90deg, #16a34a 0%, #22c55e 55%, #86efac 100%); 
} 
.tv-side-head { 
    display: flex; 
    flex-direction: column; 
    align-items: flex-start; 
    gap: 4px; 
} 
.tv-side-kicker { 
    display: inline-flex; 
    align-items: center; 
    padding: 6px 10px; 
    border-radius: 999px; 
    background: #f0fdf4; 
    color: #166534; 
    font-size: 0.72rem; 
    font-weight: 800; 
    letter-spacing: 0.08em; 
    text-transform: uppercase; 
    border: 1px solid rgba(22, 163, 74, 0.10); 
} 
.tv-side-card .card-title { 
    font-size: 1.08rem; 
    line-height: 1.25; 
    font-weight: 800; 
    color: #111827; 
} 
.tv-side-divider { 
    width: 100%; 
    height: 1px; 
    margin: 14px 0 4px; 
    background: linear-gradient(90deg, rgba(22, 163, 74, 0.18) 0%, rgba(17, 24, 39, 0.05) 100%); 
} 
/* ---------- TOP NEWS LIST ---------- */ 
.tv-top-list { 
    display: flex; 
    flex-direction: column; 
    gap: 12px; 
    padding-top: 10px; 
} 
/* Стилизация элементов topnews */ 
.tv-top-list .shortstory, .tv-top-list .story, .tv-top-list .base-short, .tv-top-list .topnews-item, .tv-top-list > div, .tv-top-list > article { 
    position: relative; 
    padding: 0 0 0 18px; 
    margin: 0; 
    background: transparent !important; 
    border: 0 !important; 
    box-shadow: none !important; 
    border-radius: 0 !important; 
} 
.tv-top-list .shortstory::before, .tv-top-list .story::before, .tv-top-list .base-short::before, .tv-top-list .topnews-item::before, .tv-top-list > div::before, .tv-top-list > article::before { 
    content: ""; 
    position: absolute; 
    left: 0; 
    top: 8px; 
    width: 8px; 
    height: 8px; 
    border-radius: 999px; 
    background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%); 
    box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.10); 
} 
.tv-top-list a { 
    display: inline-block; 
    color: #1f2937 !important; 
    font-size: 0.95rem; 
    line-height: 1.5; 
    font-weight: 600; 
    text-decoration: none !important; 
} 
.tv-top-list a:hover { 
    color: #166534 !important; 
} 
.tv-top-list .date, .tv-top-list .meta, .tv-top-list small, .tv-top-list .short-story-date, .tv-top-list .post-date { 
    display: inline-block; 
    margin-top: 3px; 
    font-size: 0.82rem; 
    line-height: 1.4; 
    color: #6b7280 !important; 
} 
/* ---------- USEFUL LINKS ---------- */ 
.tv-side-links { 
    padding-top: 8px; 
} 
.tv-side-links li + li { 
    margin-top: 10px; 
} 
.tv-side-links a { 
    position: relative; 
    display: flex; 
    align-items: center; 
    padding: 12px 14px 12px 16px; 
    border-radius: 14px; 
    background: #f8faf8; 
    border: 1px solid rgba(17, 24, 39, 0.05); 
    color: #1f2937; 
    font-size: 0.95rem; 
    font-weight: 600; 
    line-height: 1.35; 
    text-decoration: none !important; 
    transition: all .2s ease; 
} 
.tv-side-links a::before { 
    content: ""; 
    width: 8px; 
    height: 8px; 
    min-width: 8px; 
    margin-right: 10px; 
    border-radius: 999px; 
    background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%); 
    box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.10); 
} 
.tv-side-links a:hover { 
    background: #f0fdf4; 
    border-color: rgba(22, 163, 74, 0.14); 
    color: #14532d; 
    transform: translateY(-1px); 
    box-shadow: 0 10px 20px rgba(22, 163, 74, 0.08); 
} 
/* ---------- LOGIN BLOCK IF DLE OUTPUTS A CARD ---------- */ 
.tv-side-col .loginpane, .tv-side-col .login-box, .tv-side-col .side-login, .tv-side-col .card { 
    border-radius: 18px; 
} 
/* ---------- MOBILE ---------- */ 
@media (max-width: 991.98px) { 
    .tv-side-card .card-body { 
        padding: 16px 16px 14px; 
    } 
    .tv-side-card .card-title { 
        font-size: 1rem; 
    } 
    .tv-top-list a, .tv-side-links a { 
        font-size: 0.93rem; 
    } 
} 
/* ========================================================= TURBOVIP AUTH / USER PANEL ========================================================= */ 
.tv-auth-card { 
    border: 1px solid rgba(17, 24, 39, 0.06) !important; 
    border-radius: 18px !important; 
    background: #ffffff !important; 
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); 
    overflow: hidden; 
} 
.tv-auth-card::before { 
    content: ""; 
    display: block; 
    width: 100%; 
    height: 4px; 
    background: linear-gradient(90deg, #16a34a 0%, #22c55e 55%, #86efac 100%); 
} 
.tv-auth-card .card-body { 
    padding: 18px; 
} 
/* ---------- USER TOP ---------- */ 
.tv-user-top { 
    display: flex; 
    align-items: center; 
    gap: 14px; 
} 
.tv-user-avatar-wrap { 
    flex: 0 0 64px; 
} 
.tv-user-avatar { 
    width: 64px; 
    height: 64px; 
    border-radius: 16px; 
    object-fit: cover; 
    border: 2px solid #dcfce7; 
    box-shadow: 0 10px 24px rgba(22, 163, 74, 0.10); 
    background: #f8faf8; 
} 
.tv-user-meta { 
    min-width: 0; 
} 
.tv-user-kicker { 
    display: inline-flex; 
    align-items: center; 
    padding: 6px 10px; 
    border-radius: 999px; 
    background: #f0fdf4; 
    color: #166534; 
    font-size: 0.72rem; 
    font-weight: 800; 
    letter-spacing: 0.08em; 
    text-transform: uppercase; 
    border: 1px solid rgba(22, 163, 74, 0.10); 
    margin-bottom: 8px; 
} 
.tv-user-title { 
    margin: 0 0 4px; 
    font-size: 1.08rem; 
    line-height: 1.2; 
    font-weight: 800; 
    color: #111827; 
} 
.tv-user-name { 
    font-size: 0.95rem; 
    line-height: 1.45; 
    color: #6b7280; 
    font-weight: 600; 
    word-break: break-word; 
} 
.tv-user-action-wrap { 
    margin-top: 16px; 
    padding-top: 14px; 
    border-top: 1px solid rgba(17, 24, 39, 0.06); 
} 
/* ---------- MENU LINKS ---------- */ 
.tv-user-menu { 
    border-top: 1px solid rgba(17, 24, 39, 0.06); 
    background: transparent; 
} 
.tv-user-menu .list-group-item { 
    display: flex; 
    align-items: center; 
    padding: 13px 18px; 
    border: 0 !important; 
    border-top: 1px solid rgba(17, 24, 39, 0.05) !important; 
    background: #ffffff; 
    color: #1f2937; 
    font-size: 0.95rem; 
    font-weight: 600; 
    line-height: 1.35; 
    transition: all .2s ease; 
} 
.tv-user-menu .list-group-item:first-child { 
    border-top: 0 !important; 
} 
.tv-user-menu .list-group-item i { 
    font-size: 0.98rem; 
    color: #16a34a; 
    opacity: 0.95; 
} 
.tv-user-menu .list-group-item:hover { 
    background: #f0fdf4; 
    color: #14532d; 
    padding-left: 22px; 
} 
.tv-logout-link { 
    color: #6b7280 !important; 
} 
.tv-logout-link:hover { 
    color: #b91c1c !important; 
    background: #fef2f2 !important; 
} 
.tv-logout-link i { 
    color: #ef4444 !important; 
} 
/* ---------- LOGIN HEAD ---------- */ 
.tv-auth-head { 
    margin-bottom: 16px; 
} 
.tv-login-form { 
    margin-top: 2px; 
} 
/* ---------- INPUTS ---------- */ 
.tv-auth-input { 
    height: 46px !important; 
    padding: 0 14px !important; 
    border-radius: 14px !important; 
    border: 1px solid #d1d5db !important; 
    background: #ffffff !important; 
    color: #111827 !important; 
    box-shadow: none !important; 
} 
.tv-auth-input::placeholder { 
    color: #6b7280 !important; 
} 
.tv-auth-input:focus { 
    border-color: #22c55e !important; 
    box-shadow: 0 0 0 0.18rem rgba(34, 197, 94, 0.12) !important; 
} 
/* ---------- SEPARATOR ---------- */ 
.tv-login-sep { 
    position: relative; 
    text-align: center; 
    margin: 14px 0 16px; 
} 
.tv-login-sep::before { 
    content: ""; 
    position: absolute; 
    left: 0; 
    right: 0; 
    top: 50%; 
    height: 1px; 
    background: rgba(17, 24, 39, 0.08); 
    transform: translateY(-50%); 
} 
.tv-login-sep span { 
    position: relative; 
    z-index: 2; 
    display: inline-block; 
    padding: 0 10px; 
    background: #ffffff; 
    color: #6b7280; 
    font-size: 0.88rem; 
    font-weight: 600; 
} 
/* ---------- SOCIAL ---------- */ 
.tv-social-btns { 
    list-style: none; 
    margin: 0; 
    display: flex; 
    flex-direction: column; 
    gap: 10px; 
} 
.tv-social-btns li { 
    margin: 0; 
} 
.tv-social-btn { 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    width: 100%; 
    height: 44px; 
    border-radius: 14px; 
    font-size: 0.94rem; 
    font-weight: 700; 
    text-decoration: none !important; 
    border: 1px solid rgba(17, 24, 39, 0.06); 
    transition: all .2s ease; 
} 
.tv-social-vk { 
    background: #f8fafc; 
    color: #2563eb; 
} 
.tv-social-vk:hover { 
    background: #eff6ff; 
    color: #1d4ed8; 
} 
.tv-social-google { 
    background: #fafafa; 
    color: #374151; 
} 
.tv-social-google:hover { 
    background: #f3f4f6; 
    color: #111827; 
} 
/* ---------- CHECKBOX ---------- */ 
.tv-check-wrap { 
    padding-left: 0; 
    min-height: 24px; 
} 
.tv-check-wrap .custom-control-input { 
    position: absolute; 
    opacity: 0; 
    pointer-events: none; 
} 
.tv-check-wrap .custom-control-label { 
    position: relative; 
    padding-left: 34px; 
    margin: 0; 
    cursor: pointer; 
    font-size: 0.92rem; 
    font-weight: 600; 
    color: #4b5563; 
    line-height: 1.45; 
    user-select: none; 
} 
.tv-check-wrap .custom-control-label::before { 
    content: ""; 
    position: absolute; 
    left: 0; 
    top: 1px; 
    width: 22px; 
    height: 22px; 
    border-radius: 8px; 
    background: #ffffff; 
    border: 1px solid #cbd5e1; 
    box-shadow: none; 
} 
.tv-check-wrap .custom-control-label::after { 
    content: ""; 
    position: absolute; 
    left: 7px; 
    top: 6px; 
    width: 8px; 
    height: 5px; 
    border-left: 2px solid #ffffff; 
    border-bottom: 2px solid #ffffff; 
    transform: rotate(-45deg) scale(0); 
    transition: transform .16s ease; 
} 
.tv-check-wrap .custom-control-input:checked + .custom-control-label::before { 
    background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%); 
    border-color: #16a34a; 
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.10); 
} 
.tv-check-wrap .custom-control-input:checked + .custom-control-label::after { 
    transform: rotate(-45deg) scale(1); 
} 
.tv-check-wrap .custom-control-input:focus + .custom-control-label::before { 
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.10); 
} 
/* ---------- BUTTONS ---------- */ 
.tv-main-btn { 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    min-height: 44px; 
    padding: 11px 16px; 
    border-radius: 14px; 
    font-size: 0.95rem; 
    font-weight: 800; 
    line-height: 1.2; 
    text-decoration: none !important; 
    border: 1px solid transparent; 
    transition: all .2s ease; 
    cursor: pointer; 
} 
.tv-main-btn-green { 
    background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%); 
    color: #ffffff !important; 
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.16); 
} 
.tv-main-btn-green:hover { 
    color: #ffffff !important; 
    transform: translateY(-1px); 
    box-shadow: 0 14px 28px rgba(22, 163, 74, 0.22); 
} 
.tv-main-btn-light { 
    background: #f8faf8; 
    border-color: rgba(17, 24, 39, 0.06); 
    color: #1f2937 !important; 
} 
.tv-main-btn-light:hover { 
    background: #f0fdf4; 
    color: #14532d !important; 
    border-color: rgba(22, 163, 74, 0.14); 
} 
.tv-btn-block { 
    width: 100%; 
} 
/* ---------- BOTTOM LINKS ---------- */ 
.tv-auth-links { 
    display: flex; 
    flex-direction: column; 
    gap: 10px; 
    margin-top: 12px; 
} 
.tv-text-link { 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    padding: 8px 4px 0; 
    color: #6b7280 !important; 
    font-size: 0.9rem; 
    font-weight: 600; 
    text-decoration: none !important; 
} 
.tv-text-link:hover { 
    color: #14532d !important; 
} 
/* ---------- MOBILE ---------- */ 
@media (max-width: 991.98px) { 
    .tv-auth-card .card-body { 
        padding: 16px; 
    } 
    .tv-user-avatar { 
        width: 58px; 
        height: 58px; 
        border-radius: 14px; 
    } 
    .tv-user-title { 
        font-size: 1rem; 
    } 
    .tv-user-menu .list-group-item { 
        padding: 12px 16px; 
        font-size: 0.93rem; 
    } 
} 
/* ========================================================= TURBOVIP PROFILE PAGE ========================================================= */ 
.tv-profile-card { 
    border: 1px solid rgba(17, 24, 39, 0.06) !important; 
    border-radius: 18px !important; 
    background: #ffffff !important; 
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); 
    overflow: hidden; 
} 
.tv-profile-card::before { 
    content: ""; 
    display: block; 
    width: 100%; 
    height: 4px; 
    background: linear-gradient(90deg, #16a34a 0%, #22c55e 55%, #86efac 100%); 
} 
.tv-profile-main .card-body { 
    padding: 20px; 
} 
/* ---------- TOP BLOCK ---------- */ 
.tv-profile-avatar-box { 
    position: relative; 
    border-radius: 18px; 
    overflow: hidden; 
    background: #f8faf8; 
    border: 1px solid rgba(17, 24, 39, 0.05); 
} 
.tv-profile-avatar { 
    display: block; 
    width: 100%; 
    height: auto; 
    min-height: 120px; 
    object-fit: cover; 
} 
.tv-profile-status { 
    position: absolute; 
    top: 12px; 
    left: 12px; 
    z-index: 3; 
} 
.tv-status-badge { 
    display: inline-flex; 
    align-items: center; 
    padding: 6px 10px; 
    border-radius: 999px; 
    font-size: 0.72rem; 
    font-weight: 800; 
    letter-spacing: 0.04em; 
    text-transform: uppercase; 
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.12); 
} 
.tv-status-online { 
    background: rgba(22, 163, 74, 0.96); 
    color: #ffffff; 
} 
.tv-status-offline { 
    background: rgba(239, 68, 68, 0.96); 
    color: #ffffff; 
} 
.tv-profile-settings { 
    display: flex; 
    justify-content: flex-end; 
    margin-bottom: 6px; 
} 
.tv-profile-settings a { 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    width: 40px; 
    height: 40px; 
    border-radius: 12px; 
    background: #f8faf8; 
    border: 1px solid rgba(17, 24, 39, 0.06); 
    color: #166534; 
    text-decoration: none !important; 
    transition: all .2s ease; 
} 
.tv-profile-settings a:hover { 
    background: #f0fdf4; 
    color: #14532d; 
    transform: translateY(-1px); 
} 
.tv-profile-kicker { 
    display: inline-flex; 
    align-items: center; 
    padding: 6px 10px; 
    border-radius: 999px; 
    background: #f0fdf4; 
    color: #166534; 
    font-size: 0.72rem; 
    font-weight: 800; 
    letter-spacing: 0.08em; 
    text-transform: uppercase; 
    border: 1px solid rgba(22, 163, 74, 0.10); 
    margin-bottom: 10px; 
} 
.tv-profile-title { 
    margin: 0 0 6px; 
    font-size: 1.55rem; 
    line-height: 1.15; 
    font-weight: 900; 
    color: #111827; 
    word-break: break-word; 
} 
.tv-profile-name { 
    font-size: 1rem; 
    line-height: 1.5; 
    font-weight: 700; 
    color: #16a34a; 
    margin-bottom: 12px; 
} 
.tv-profile-info-box { 
    padding: 14px 16px; 
    border-radius: 14px; 
    background: #f8faf8; 
    border: 1px solid rgba(17, 24, 39, 0.05); 
    color: #4b5563; 
    line-height: 1.65; 
} 
.tv-profile-signature { 
    margin-top: 12px; 
    padding-top: 12px; 
    border-top: 1px solid rgba(17, 24, 39, 0.06); 
    color: #4b5563; 
    line-height: 1.6; 
} 
.tv-profile-signature-label { 
    font-weight: 700; 
    color: #111827; 
    margin-right: 6px; 
} 
/* ---------- ACTION LINKS ---------- */ 
.tv-profile-action-wrap, .tv-profile-action, .tv-profile-action-static { 
    height: 100%; 
} 
.tv-profile-action, .tv-profile-action-static { 
    display: flex; 
    align-items: center; 
    min-height: 52px; 
    padding: 14px 16px; 
    border-radius: 14px; 
    background: #f8faf8; 
    border: 1px solid rgba(17, 24, 39, 0.05); 
    color: #1f2937 !important; 
    font-size: 0.95rem; 
    font-weight: 700; 
    line-height: 1.35; 
    text-decoration: none !important; 
    transition: all .2s ease; 
} 
.tv-profile-action i, .tv-profile-action-static i { 
    color: #16a34a; 
} 
.tv-profile-action:hover { 
    background: #f0fdf4; 
    border-color: rgba(22, 163, 74, 0.14); 
    color: #14532d !important; 
    transform: translateY(-1px); 
    box-shadow: 0 10px 20px rgba(22, 163, 74, 0.08); 
} 
/* ---------- INFO TABLE ---------- */ 
.tv-profile-table { 
    margin-bottom: 0; 
    color: #1f2937; 
} 
.tv-profile-table td { 
    padding: 12px 14px !important; 
    border-top: 1px solid #eef2f7 !important; 
    vertical-align: middle; 
    font-size: 0.94rem; 
    line-height: 1.45; 
} 
.tv-profile-table tr:first-child td { 
    border-top: 0 !important; 
} 
.tv-profile-table td:first-child { 
    width: 38%; 
    color: #6b7280; 
    font-weight: 700; 
    background: #fafcfb; 
} 
.tv-profile-table td:last-child { 
    color: #111827; 
    font-weight: 500; 
} 
.tv-profile-group { 
    display: inline-flex; 
    align-items: center; 
    padding: 5px 10px; 
    border-radius: 999px; 
    background: #ecfdf3; 
    color: #15803d; 
    font-weight: 800; 
    font-size: 0.84rem; 
    border: 1px solid rgba(22, 163, 74, 0.10); 
} 
/* ---------- MODAL ---------- */ 
.tv-modal .modal-dialog { 
    max-width: 860px; 
} 
.tv-modal-content { 
    border: 0; 
    border-radius: 20px; 
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.18); 
    overflow: hidden; 
} 
.tv-modal-content::before { 
    content: ""; 
    display: block; 
    width: 100%; 
    height: 4px; 
    background: linear-gradient(90deg, #16a34a 0%, #22c55e 55%, #86efac 100%); 
} 
.tv-modal-header { 
    border-bottom: 1px solid rgba(17, 24, 39, 0.06); 
    padding: 18px 22px; 
    background: #ffffff; 
} 
.tv-modal-header .modal-title { 
    font-size: 1.12rem; 
    font-weight: 800; 
    color: #111827; 
} 
.tv-modal-close { 
    opacity: 1; 
    color: #6b7280; 
    text-shadow: none; 
} 
.tv-modal-close:hover { 
    color: #111827; 
} 
.tv-modal-body { 
    padding: 22px; 
    background: #ffffff; 
    color: #374151; 
} 
.tv-modal-divider { 
    height: 1px; 
    margin: 8px 0 18px; 
    background: linear-gradient(90deg, rgba(22, 163, 74, 0.18) 0%, rgba(17, 24, 39, 0.05) 100%); 
} 
.tv-modal-footer { 
    border-top: 1px solid rgba(17, 24, 39, 0.06); 
    padding: 16px 22px; 
    background: #ffffff; 
} 
/* ---------- FORM ELEMENTS ---------- */ 
.tv-modal-body label { 
    display: inline-block; 
    margin-bottom: 8px; 
    font-size: 0.92rem; 
    font-weight: 700; 
    color: #111827; 
} 
.tv-select-wrap select, .tv-select-wrap .form-control, .tv-select-wrap input, .tv-select-wrap textarea { 
    width: 100%; 
} 
.tv-upload-box { 
    padding: 16px; 
    border-radius: 16px; 
    background: #f8faf8; 
    border: 1px solid rgba(17, 24, 39, 0.05); 
} 
.tv-upload-box input[type="file"] { 
    display: block; 
    width: 100%; 
    padding: 10px 12px; 
    border-radius: 12px; 
    background: #ffffff; 
    border: 1px solid #dbe3ea; 
} 
.tv-switch-wrap { 
    padding-left: 0; 
} 
.tv-switch-wrap .custom-control-label { 
    padding-left: 48px; 
    font-size: 0.92rem; 
    font-weight: 600; 
    color: #4b5563; 
    cursor: pointer; 
} 
.tv-switch-wrap .custom-control-label::before { 
    left: 0; 
    top: 1px; 
    width: 38px; 
    height: 22px; 
    border-radius: 999px; 
    background: #e5e7eb; 
    border: 0; 
    box-shadow: none; 
} 
.tv-switch-wrap .custom-control-label::after { 
    top: 4px; 
    left: 3px; 
    width: 16px; 
    height: 16px; 
    border-radius: 999px; 
    background: #ffffff; 
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.16); 
} 
.tv-switch-wrap .custom-control-input:checked ~ .custom-control-label::before { 
    background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%); 
} 
.tv-switch-wrap .custom-control-input:checked ~ .custom-control-label::after { 
    transform: translateX(16px); 
} 
.tv-switch-wrap .custom-control-input:focus ~ .custom-control-label::before { 
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.10); 
} 
/* ---------- XFIELDS / OPTIONS ---------- */ 
.tv-xfields-wrap { 
    border-radius: 16px; 
    overflow: hidden; 
    border: 1px solid rgba(17, 24, 39, 0.06); 
} 
.tv-xfields-table { 
    margin-bottom: 0 !important; 
    background: #ffffff; 
} 
.tv-xfields-table td, .tv-xfields-table th { 
    padding: 12px 14px !important; 
    border-color: #eef2f7 !important; 
} 
.tv-profile-options { 
    padding: 14px 16px; 
    border-radius: 16px; 
    background: #f8faf8; 
    border: 1px solid rgba(17, 24, 39, 0.05); 
} 
.tv-profile-options > div + div { 
    margin-top: 8px; 
} 
/* ---------- RESPONSIVE ---------- */ 
@media (max-width: 991.98px) { 
    .tv-profile-title { 
        font-size: 1.32rem; 
    } 
    .tv-modal-body, .tv-modal-header, .tv-modal-footer { 
        padding-left: 16px; 
        padding-right: 16px; 
    } 
} 
@media (max-width: 767.98px) { 
    .tv-profile-main .card-body { 
        padding: 16px; 
    } 
    .tv-profile-title { 
        font-size: 1.18rem; 
        line-height: 1.2; 
    } 
    .tv-profile-name { 
        font-size: 0.95rem; 
    } 
    .tv-profile-table td { 
        padding: 10px 12px !important; 
        font-size: 0.9rem; 
    } 
    .tv-profile-table td:first-child { 
        width: 42%; 
    } 
}

/* =========================================================
   TURBOVIP FULLSTORY — FINAL POLISHED
   ВСТАВЛЕНО В САМЫЙ КОНЕЦ custom.css
   ========================================================= */

:root {
	--tv-article-bg: #ffffff;
	--tv-article-bg-soft: #f8fbf8;
	--tv-article-line: #dbe7dc;
	--tv-article-line-2: #e7efe8;
	--tv-article-text: #18212b;
	--tv-article-text-2: #536173;
	--tv-article-text-3: #7a8798;
	--tv-article-accent: #16a34a;
	--tv-article-accent-dark: #166534;
	--tv-article-accent-soft: #ecfdf3;
	--tv-article-blue-soft: #eef5ff;
	--tv-article-warning-bg: #fff8ec;
	--tv-article-warning-line: #ffe2b8;
	--tv-article-shadow-xs: 0 6px 18px rgba(16, 24, 40, 0.04);
	--tv-article-shadow-sm: 0 12px 30px rgba(16, 24, 40, 0.06);
	--tv-article-shadow: 0 18px 44px rgba(16, 24, 40, 0.08);
	--tv-article-radius-sm: 16px;
	--tv-article-radius-md: 20px;
	--tv-article-radius-lg: 26px;
}

/* ---------- shell ---------- */

.tv-fs-pro,
.tv-fullstory {
	position: relative;
	overflow: visible !important;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%) !important;
	border: 1px solid var(--tv-article-line) !important;
	border-radius: var(--tv-article-radius-lg) !important;
	box-shadow: var(--tv-article-shadow) !important;
}

.tv-fs-pro::before,
.tv-fullstory::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 0px;
    width: 96%;
    height: 4px;
    border-radius: 26px 26px 0 0;
    background: linear-gradient(90deg, #16a34a 0%, #4ade80 100%);
}

.tv-fs-pro-body,
.tv-fs-body {
	padding: 28px 30px 26px !important;
	color: var(--tv-article-text);
}

/* ---------- header ---------- */

.tv-fs-pro-header,
.tv-fs-header {
	position: relative;
	margin-bottom: 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--tv-article-line-2);
}

.tv-fs-pro-title,
.tv-fs-title {
	margin: 0 0 14px;
	padding-right: 54px;
	font-size: clamp(2rem, 3vw, 2.8rem);
	line-height: 1.08;
	font-weight: 900;
	letter-spacing: -0.05em;
	color: var(--tv-article-text);
	max-width: 980px;
}

.tv-fs-pro-title .ffx,
.tv-fs-title .ffx {
	color: var(--tv-article-accent);
}

.tv-fs-pro-dropdown .btn,
.tv-fs-pro-more,
.tv-fs-dropdown .btn,
.tv-fs-more-btn {
	min-height: 40px;
	height: 40px;
	padding: 0 14px !important;
	border-radius: 14px !important;
	border: 1px solid var(--tv-article-line) !important;
	background: #fff !important;
	color: var(--tv-article-text-2) !important;
	box-shadow: var(--tv-article-shadow-xs) !important;
}

.tv-fs-pro-dropdown .btn:hover,
.tv-fs-pro-dropdown .btn:focus,
.tv-fs-pro-more:hover,
.tv-fs-pro-more:focus,
.tv-fs-dropdown .btn:hover,
.tv-fs-dropdown .btn:focus,
.tv-fs-more-btn:hover,
.tv-fs-more-btn:focus {
	color: var(--tv-article-accent-dark) !important;
	background: #fff !important;
	border-color: #cfdcd1 !important;
}

.tv-fs-pro-dropdown-menu,
.tv-fs-dropdown-menu {
	padding: .55rem !important;
	border: 1px solid var(--tv-article-line) !important;
	border-radius: 16px !important;
	box-shadow: 0 18px 40px rgba(16,24,40,.12) !important;
	background: rgba(255,255,255,.98) !important;
}

.tv-fs-pro-dropdown-menu .dropdown-item,
.tv-fs-dropdown-menu .dropdown-item {
	border-radius: 12px;
	padding: .72rem .9rem;
	font-weight: 700;
	color: var(--tv-article-text);
}

.tv-fs-pro-dropdown-menu .dropdown-item:hover,
.tv-fs-pro-dropdown-menu .dropdown-item:focus,
.tv-fs-dropdown-menu .dropdown-item:hover,
.tv-fs-dropdown-menu .dropdown-item:focus {
	color: var(--tv-article-accent-dark);
	background: rgba(22,163,74,.07);
}

/* ---------- meta ---------- */

.tv-fs-pro-meta,
.tv-fs-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
	align-items: center;
	font-size: 14px;
	line-height: 1.35;
	color: var(--tv-article-text-2) !important;
}

.tv-fs-pro-meta .fs-meta-item,
.tv-fs-meta .fs-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 7px 12px;
	border-radius: 999px;
	background: #f7faf7;
	border: 1px solid var(--tv-article-line);
	color: var(--tv-article-text-2) !important;
}

.tv-fs-pro-meta .fs-meta-item i,
.tv-fs-meta .fs-meta-item i {
	color: var(--tv-article-accent-dark);
	opacity: .9;
}

.tv-fs-pro-meta .fs-meta-item a,
.tv-fs-pro-meta .fs-meta-item span,
.tv-fs-pro-meta .fs-meta-item time,
.tv-fs-meta .fs-meta-item a,
.tv-fs-meta .fs-meta-item span,
.tv-fs-meta .fs-meta-item time {
	color: inherit !important;
}

.tv-fs-pro-category,
.tv-fs-category {
	background: var(--tv-article-accent-soft) !important;
	border-color: rgba(22,163,74,.12) !important;
	color: var(--tv-article-accent-dark) !important;
	font-weight: 800;
}

.tv-fs-pro-rating,
.tv-fs-rating {
	display: inline-flex;
	align-items: center;
}

.tv-fs-pro-rating .rate_like,
.tv-fs-pro-rating .rate_like-dislike,
.tv-fs-pro-rating .rate_stars,
.tv-fs-rating .rate_like,
.tv-fs-rating .rate_like-dislike,
.tv-fs-rating .rate_stars {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	padding: 7px 12px;
	border-radius: 999px;
	background: #f7faf7;
	border: 1px solid var(--tv-article-line);
	color: var(--tv-article-text);
	font-weight: 700;
}

/* ---------- hero ---------- */

.tv-fs-pro-hero,
.tv-fs-hero {
	display: grid;
	grid-template-columns: 360px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	margin-bottom: 28px;
}

.tv-fs-pro-poster,
.tv-fs-hero-poster {
	position: relative;
	margin: 0;
	border-radius: 22px;
	overflow: hidden;
	background: #0f172a;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tv-fs-pro-poster-image,
.tv-fs-hero-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	border-radius: 0 !important;
	background: #0f172a;
}

.tv-fs-pro-note-wrap,
.tv-fs-hero-aside {
	min-width: 0;
	display: flex;
}

.tv-fs-pro-note-mount,
.tv-fs-note-mount {
	width: 100%;
	display: flex;
}

.tv-fs-pro-note-mount .ai-note,
.tv-fs-note-mount .ai-note {
	position: relative;
	width: 100%;
	margin: 0 !important;
	padding: 18px 18px 16px;
	border-radius: 24px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
	border: 1px solid var(--tv-article-line);
	box-shadow: var(--tv-article-shadow-sm);
	overflow: hidden;
}

.tv-fs-pro-note-mount .ai-note::before,
.tv-fs-note-mount .ai-note::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: linear-gradient(180deg, #16a34a 0%, #4ade80 100%);
	border-radius: 999px;
}

.tv-fs-pro-note-mount .ai-note-title,
.tv-fs-note-mount .ai-note-title {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	margin: 0 0 14px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--tv-article-accent-soft);
	border: 1px solid rgba(22,163,74,.12);
	color: var(--tv-article-accent-dark);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.tv-fs-pro-note-mount .ai-note-body,
.tv-fs-note-mount .ai-note-body {
	position: relative;
	color: var(--tv-article-text);
	font-size: 1rem;
	line-height: 1.82;
	max-width: 100%;
	overflow: hidden;
	transition: max-height .28s ease;
}

.tv-fs-pro-note-mount .ai-note-body p:last-child,
.tv-fs-note-mount .ai-note-body p:last-child {
	margin-bottom: 0;
}

/* Свернуто по умолчанию: скрывает примерно половину/чуть больше текста */
.tv-fs-pro-note-mount .ai-note .ai-note-body,
.tv-fs-note-mount .ai-note .ai-note-body,
.tv-fs-pro-text > .ai-note .ai-note-body,
.tv-fs-text > .ai-note .ai-note-body {
	max-height: 220px;
}

.tv-fs-pro-note-mount .ai-note.is-collapsed .ai-note-body,
.tv-fs-note-mount .ai-note.is-collapsed .ai-note-body,
.tv-fs-pro-text > .ai-note.is-collapsed .ai-note-body,
.tv-fs-text > .ai-note.is-collapsed .ai-note-body {
	max-height: 110px;
}

.tv-fs-pro-note-mount .ai-note:not(.is-open) .ai-note-body::after,
.tv-fs-note-mount .ai-note:not(.is-open) .ai-note-body::after,
.tv-fs-pro-text > .ai-note:not(.is-open) .ai-note-body::after,
.tv-fs-text > .ai-note:not(.is-open) .ai-note-body::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 84px;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(248,251,248,.98) 100%);
	pointer-events: none;
}

.tv-fs-pro-note-mount .ai-note.is-open .ai-note-body,
.tv-fs-note-mount .ai-note.is-open .ai-note-body,
.tv-fs-pro-text > .ai-note.is-open .ai-note-body,
.tv-fs-text > .ai-note.is-open .ai-note-body {
	max-height: 520px;
	overflow-y: auto;
	padding-right: 8px;
}

.tv-fs-pro-note-mount .ai-note.is-open .ai-note-body::-webkit-scrollbar,
.tv-fs-note-mount .ai-note.is-open .ai-note-body::-webkit-scrollbar,
.tv-fs-pro-text > .ai-note.is-open .ai-note-body::-webkit-scrollbar,
.tv-fs-text > .ai-note.is-open .ai-note-body::-webkit-scrollbar {
	width: 8px;
}

.tv-fs-pro-note-mount .ai-note.is-open .ai-note-body::-webkit-scrollbar-thumb,
.tv-fs-note-mount .ai-note.is-open .ai-note-body::-webkit-scrollbar-thumb,
.tv-fs-pro-text > .ai-note.is-open .ai-note-body::-webkit-scrollbar-thumb,
.tv-fs-text > .ai-note.is-open .ai-note-body::-webkit-scrollbar-thumb {
	background: rgba(22, 163, 74, 0.35);
	border-radius: 999px;
}

.tv-fs-pro-note-mount .ai-note-toggle,
.tv-fs-note-mount .ai-note-toggle,
.tv-fs-pro-text > .ai-note .ai-note-toggle,
.tv-fs-text > .ai-note .ai-note-toggle {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--tv-article-line-2);
}

.tv-fs-pro-note-mount .ai-note-toggle-btn,
.tv-fs-note-mount .ai-note-toggle-btn,
.tv-fs-pro-text > .ai-note .ai-note-toggle-btn,
.tv-fs-text > .ai-note .ai-note-toggle-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 16px;
	border: 1px solid rgba(22,163,74,.12);
	border-radius: 14px;
	background: #ffffff;
	color: var(--tv-article-accent-dark);
	font-size: .92rem;
	font-weight: 800;
	box-shadow: var(--tv-article-shadow-xs);
	cursor: pointer;
	transition: all .2s ease;
}

.tv-fs-pro-note-mount .ai-note-toggle-btn:hover,
.tv-fs-note-mount .ai-note-toggle-btn:hover,
.tv-fs-pro-text > .ai-note .ai-note-toggle-btn:hover,
.tv-fs-text > .ai-note .ai-note-toggle-btn:hover {
	background: var(--tv-article-accent-soft);
	border-color: rgba(22,163,74,.18);
	transform: translateY(-1px);
}

/* ---------- article typography ---------- */

.tv-fs-pro-content,
.tv-fs-content {
	display: block;
	color: var(--tv-article-text);
}

.tv-fs-pro-text,
.tv-fs-text {
	position: relative;
	color: var(--tv-article-text);
	font-size: 17px;
	line-height: 1.9;
	word-wrap: break-word;
}

.tv-fs-pro-text::after,
.tv-fs-text::after {
	content: "";
	display: block;
	clear: both;
}

.tv-fs-pro-text > *:first-child,
.tv-fs-text > *:first-child {
	margin-top: 0 !important;
}

.tv-fs-pro-text p,
.tv-fs-text p {
	margin: 0 0 1.15rem;
	color: var(--tv-article-text);
}

.tv-fs-pro-text strong,
.tv-fs-text strong {
	color: #0f1720;
	font-weight: 550;
}

.tv-fs-pro-text em,
.tv-fs-text em {
	color: var(--tv-article-text-2);
}

.tv-fs-pro-text a,
.tv-fs-text a {
	color: var(--tv-article-accent-dark);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid rgba(22,163,74,.18);
	box-shadow: inset 0 -1px 0 rgba(22,163,74,.08);
}

.tv-fs-pro-text a:hover,
.tv-fs-pro-text a:focus,
.tv-fs-text a:hover,
.tv-fs-text a:focus {
	color: var(--tv-article-accent);
	border-color: rgba(22,163,74,.28);
	box-shadow: inset 0 -1px 0 rgba(22,163,74,.18);
}

.tv-fs-pro-text ul,
.tv-fs-pro-text ol,
.tv-fs-text ul,
.tv-fs-text ol {
	margin: 0 0 1.25rem;
	padding-left: 1.35rem;
}

.tv-fs-pro-text ul li,
.tv-fs-pro-text ol li,
.tv-fs-text ul li,
.tv-fs-text ol li {
	margin-bottom: .55rem;
	padding-left: .1rem;
}

.tv-fs-pro-text ul li::marker,
.tv-fs-text ul li::marker {
	color: var(--tv-article-accent);
}

.tv-fs-pro-text h2,
.tv-fs-pro-text h3,
.tv-fs-text h2,
.tv-fs-text h3 {
	position: relative;
	margin: 2rem 0 1rem;
	line-height: 1.2;
	letter-spacing: -0.03em;
	color: #0f1720;
}

.tv-fs-pro-text h2,
.tv-fs-text h2 {
	padding-left: 18px;
	font-size: clamp(1.5rem, 2vw, 1.95rem);
	font-weight: 600;
}

.tv-fs-pro-text h2::before,
.tv-fs-text h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: .18em;
	width: 7px;
	height: calc(100% - .36em);
	border-radius: 999px;
	background: linear-gradient(180deg, #16a34a 0%, #4ade80 100%);
}

.tv-fs-pro-text h3,
.tv-fs-text h3 {
	padding-left: 15px;
	font-size: clamp(1.16rem, 1.5vw, 1.38rem);
	font-weight: 550;
}

.tv-fs-pro-text h3::before,
.tv-fs-text h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: .55em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 6px rgba(34,197,94,.10);
}

.tv-fs-pro-text blockquote,
.tv-fs-text blockquote {
	margin: 1.4rem 0;
	padding: 1.05rem 1.15rem 1.05rem 1.2rem;
	border: 1px solid var(--tv-article-warning-line);
	border-left: 4px solid #f59e0b;
	border-radius: 18px;
	background: var(--tv-article-warning-bg);
	color: var(--tv-article-text);
	box-shadow: var(--tv-article-shadow-xs);
}

/* ---------- toc inside article ---------- */

.tv-fs-pro-text .ai-toc,
.tv-fs-text .ai-toc {
	float: right;
	width: min(320px, 41%);
	margin: .35rem 0 1.2rem 1.45rem;
	padding: 1rem 1rem .95rem;
	border: 1px solid var(--tv-article-line);
	border-radius: 20px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
	box-shadow: var(--tv-article-shadow-xs);
	clear: right;
}

.tv-fs-pro-text .ai-toc-title,
.tv-fs-text .ai-toc-title {
	display: flex;
	align-items: center;
	margin: 0 0 .85rem;
	color: var(--tv-article-text);
	font-size: .92rem;
	font-weight: 900;
	letter-spacing: -.01em;
}

.tv-fs-pro-text .ai-toc-title::before,
.tv-fs-text .ai-toc-title::before {
	content: "";
	width: 10px;
	height: 10px;
	margin-right: .7rem;
	border-radius: 50%;
	background: linear-gradient(135deg, #4ade80 0%, #16a34a 100%);
	flex: 0 0 auto;
}

.tv-fs-pro-text .ai-toc-grid,
.tv-fs-text .ai-toc-grid {
	display: block;
}

.tv-fs-pro-text .ai-toc ul,
.tv-fs-text .ai-toc ul {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.tv-fs-pro-text .ai-toc ul + ul,
.tv-fs-text .ai-toc ul + ul {
	margin-top: .65rem;
	padding-top: .65rem;
	border-top: 1px solid var(--tv-article-line-2);
}

.tv-fs-pro-text .ai-toc li,
.tv-fs-text .ai-toc li {
	margin-bottom: .5rem;
	padding-left: 0;
}

.tv-fs-pro-text .ai-toc li:last-child,
.tv-fs-text .ai-toc li:last-child {
	margin-bottom: 0;
}

.tv-fs-pro-text .ai-toc a,
.tv-fs-text .ai-toc a {
	display: inline-block;
	color: var(--tv-article-text);
	font-size: .92rem;
	font-weight: 700;
	line-height: 1.45;
	border: 0;
	box-shadow: none;
}

.tv-fs-pro-text .ai-toc a:hover,
.tv-fs-text .ai-toc a:hover {
	color: var(--tv-article-accent-dark);
}

/* ---------- note inside article ---------- */

.tv-fs-pro-text > .ai-note,
.tv-fs-text > .ai-note {
	float: left;
	width: min(360px, 46%);
	margin: .35rem 1.5rem 1.2rem 0;
	padding: 18px 18px 16px;
	border-radius: 22px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
	border: 1px solid var(--tv-article-line);
	box-shadow: var(--tv-article-shadow-sm);
	position: relative;
	overflow: hidden;
	clear: left;
}

.tv-fs-pro-text > .ai-note::before,
.tv-fs-text > .ai-note::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: linear-gradient(180deg, #16a34a 0%, #4ade80 100%);
	border-radius: 999px;
}

.tv-fs-pro-text > .ai-note .ai-note-title,
.tv-fs-text > .ai-note .ai-note-title {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	margin: 0 0 14px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--tv-article-accent-soft);
	border: 1px solid rgba(22,163,74,.12);
	color: var(--tv-article-accent-dark);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .05em;
	text-transform: uppercase;
}

/* ---------- tables ---------- */

.tv-table-scroll,
.tv-fs-pro-text .ai-table-wrap,
.tv-fs-text .ai-table-wrap {
	display: block;
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 1.35rem 0;
	padding-bottom: 6px;
}

.tv-table-scroll table,
.tv-fs-pro-text .ai-table-wrap table,
.tv-fs-text .ai-table-wrap table,
.tv-fs-pro-text table,
.tv-fs-text table {
	width: 100%;
	min-width: 700px;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	border: 1px solid var(--tv-article-line);
	border-radius: 18px;
	overflow: hidden;
}

.tv-table-scroll table th,
.tv-table-scroll table td,
.tv-fs-pro-text .ai-table-wrap table th,
.tv-fs-pro-text .ai-table-wrap table td,
.tv-fs-text .ai-table-wrap table th,
.tv-fs-text .ai-table-wrap table td,
.tv-fs-pro-text table th,
.tv-fs-pro-text table td,
.tv-fs-text table th,
.tv-fs-text table td {
	padding: 14px 15px;
	border-right: 1px solid var(--tv-article-line-2);
	border-bottom: 1px solid var(--tv-article-line-2);
	vertical-align: top;
	text-align: left;
}

.tv-table-scroll table tr:first-child th,
.tv-fs-pro-text .ai-table-wrap table tr:first-child th,
.tv-fs-text .ai-table-wrap table tr:first-child th,
.tv-fs-pro-text table tr:first-child th,
.tv-fs-text table tr:first-child th {
	background: #f3faf4;
	font-weight: 900;
	color: #14532d;
}

.tv-table-scroll table th:last-child,
.tv-table-scroll table td:last-child,
.tv-fs-pro-text .ai-table-wrap table th:last-child,
.tv-fs-pro-text .ai-table-wrap table td:last-child,
.tv-fs-text .ai-table-wrap table th:last-child,
.tv-fs-text .ai-table-wrap table td:last-child,
.tv-fs-pro-text table th:last-child,
.tv-fs-pro-text table td:last-child,
.tv-fs-text table th:last-child,
.tv-fs-text table td:last-child {
	border-right: 0;
}

.tv-table-scroll::-webkit-scrollbar,
.tv-fs-pro-text .ai-table-wrap::-webkit-scrollbar,
.tv-fs-text .ai-table-wrap::-webkit-scrollbar {
	height: 8px;
}

.tv-table-scroll::-webkit-scrollbar-thumb,
.tv-fs-pro-text .ai-table-wrap::-webkit-scrollbar-thumb,
.tv-fs-text .ai-table-wrap::-webkit-scrollbar-thumb {
	background: rgba(22, 163, 74, 0.35);
	border-radius: 999px;
}

/* ---------- steps / pros / cons ---------- */

.tv-fs-pro-text .ai-steps,
.tv-fs-text .ai-steps {
	counter-reset: step;
	list-style: none;
	padding-left: 0;
}

.tv-fs-pro-text .ai-steps > li,
.tv-fs-text .ai-steps > li {
	position: relative;
	padding: 0 0 0 54px;
	margin-bottom: 1rem;
	min-height: 38px;
}

.tv-fs-pro-text .ai-steps > li::before,
.tv-fs-text .ai-steps > li::before {
	counter-increment: step;
	content: counter(step);
	position: absolute;
	left: 0;
	top: .05rem;
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%);
	color: #fff;
	font-size: .92rem;
	font-weight: 900;
	box-shadow: 0 10px 18px rgba(22,163,74,.15);
}

.tv-fs-pro-text .ai-proscons,
.tv-fs-text .ai-proscons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 1.35rem 0;
}

.tv-fs-pro-text .ai-pros,
.tv-fs-pro-text .ai-cons,
.tv-fs-text .ai-pros,
.tv-fs-text .ai-cons {
	padding: 18px 18px 16px;
	border-radius: 20px;
	border: 1px solid var(--tv-article-line);
	box-shadow: var(--tv-article-shadow-xs);
}

.tv-fs-pro-text .ai-pros,
.tv-fs-text .ai-pros {
	background: linear-gradient(180deg, #ffffff 0%, #f6fff8 100%);
}

.tv-fs-pro-text .ai-cons,
.tv-fs-text .ai-cons {
	background: linear-gradient(180deg, #ffffff 0%, #fffaf6 100%);
}

.tv-fs-pro-text .ai-pros-title,
.tv-fs-pro-text .ai-cons-title,
.tv-fs-text .ai-pros-title,
.tv-fs-text .ai-cons-title {
	margin: 0 0 .85rem;
	font-size: 1rem;
	line-height: 1.25;
	font-weight: 900;
}

.tv-fs-pro-text .ai-pros-title,
.tv-fs-text .ai-pros-title {
	color: #166534;
}

.tv-fs-pro-text .ai-cons-title,
.tv-fs-text .ai-cons-title {
	color: #b45309;
}

/* ---------- faq ---------- */

.tv-fs-pro-text .ai-faq,
.tv-fs-text .ai-faq {
	margin: 1.2rem 0 0;
}

.tv-fs-pro-text .ai-faq-item,
.tv-fs-text .ai-faq-item {
	padding: 1rem 1rem .9rem;
	margin-bottom: .9rem;
	border: 1px solid var(--tv-article-line);
	border-radius: 18px;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
	box-shadow: var(--tv-article-shadow-xs);
}

.tv-fs-pro-text .ai-faq-question,
.tv-fs-text .ai-faq-question {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.35;
	font-weight: 550;
	color: #111827;
	padding-left: 0;
}

.tv-fs-pro-text .ai-faq-question::before,
.tv-fs-text .ai-faq-question::before {
	display: none;
}

.tv-fs-pro-text .ai-faq-answer,
.tv-fs-text .ai-faq-answer {
	margin-top: .7rem;
	color: var(--tv-article-text);
}

.tv-fs-pro-text .ai-faq-item.faq-collapsed .ai-faq-answer,
.tv-fs-text .ai-faq-item.faq-collapsed .ai-faq-answer {
	display: none;
}

/* ---------- summary ---------- */

.tv-fs-pro-text .ai-summary,
.tv-fs-text .ai-summary {
	margin-top: 1.7rem;
	padding: 1.15rem 1.2rem;
	border-radius: 20px;
	background: linear-gradient(180deg, #f7fcf7 0%, #eff9f1 100%);
	border: 1px solid rgba(22,163,74,.12);
	box-shadow: var(--tv-article-shadow-xs);
	clear: both;
}

.tv-fs-pro-text .ai-summary h2,
.tv-fs-text .ai-summary h2 {
	margin-top: 0;
}

.tv-fs-pro-text .ai-summary p:last-child,
.tv-fs-text .ai-summary p:last-child {
	margin-bottom: 0;
}

/* ---------- media in article ---------- */

.tv-fs-pro-text img:not(.poster_one):not(.xfieldimage):not(.owl-lazy),
.tv-fs-text img:not(.poster_one):not(.xfieldimage):not(.owl-lazy) {
	display: block;
	margin: 1.35rem auto;
	border-radius: 18px;
	box-shadow: var(--tv-article-shadow-sm);
}

.tv-fs-pro-text iframe,
.tv-fs-text iframe,
.tv-fs-pro-text video,
.tv-fs-text video {
	width: 100%;
	max-width: 100%;
	border-radius: 18px;
	overflow: hidden;
}

/* ---------- responsive ---------- */

@media (max-width: 1199.98px) {
	.tv-fs-pro-body,
	.tv-fs-body {
		padding: 24px 24px 22px !important;
	}

	.tv-fs-pro-hero,
	.tv-fs-hero {
		grid-template-columns: 330px minmax(0, 1fr);
	}

	.tv-fs-pro-text > .ai-note,
	.tv-fs-text > .ai-note {
		width: min(320px, 45%);
	}

	.tv-fs-pro-text .ai-toc,
	.tv-fs-text .ai-toc {
		width: min(290px, 40%);
	}
}

@media (max-width: 991.98px) {
	.tv-fs-pro-hero,
	.tv-fs-hero {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.tv-fs-pro-poster-image,
	.tv-fs-hero-image {
		aspect-ratio: auto;
    min-height: 320px;
	}

	.tv-fs-pro-note-mount .ai-note.is-open .ai-note-body,
	.tv-fs-note-mount .ai-note.is-open .ai-note-body {
		max-height: 380px;
	}

	.tv-fs-pro-text,
	.tv-fs-text {
		font-size: 16px;
		line-height: 1.82;
	}

	.tv-fs-pro-text > .ai-note,
	.tv-fs-text > .ai-note,
	.tv-fs-pro-text .ai-toc,
	.tv-fs-text .ai-toc {
		float: none;
		width: 100%;
		max-width: 100%;
		margin: 0 0 1.15rem;
	}

	.tv-fs-pro-text .ai-proscons,
	.tv-fs-text .ai-proscons {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767.98px) {
	.tv-fs-pro,
	.tv-fullstory {
		border-radius: 20px !important;
	}

	.tv-fs-pro::before,
	.tv-fullstory::before {
		border-radius: 20px 20px 0 0;
	}

	.tv-fs-pro-body,
	.tv-fs-body {
		padding: 18px 16px 18px !important;
	}

	.tv-fs-pro-header,
	.tv-fs-header {
		margin-bottom: 18px;
		padding-bottom: 14px;
	}

	.tv-fs-pro-title,
	.tv-fs-title {
		padding-right: 0;
		font-size: 1.7rem;
		line-height: 1.12;
	}

	.tv-fs-pro-meta,
	.tv-fs-meta {
		gap: 8px;
	}

	.tv-fs-pro-meta .fs-meta-item,
	.tv-fs-meta .fs-meta-item,
	.tv-fs-pro-rating .rate_like,
	.tv-fs-pro-rating .rate_like-dislike,
	.tv-fs-pro-rating .rate_stars,
	.tv-fs-rating .rate_like,
	.tv-fs-rating .rate_like-dislike,
	.tv-fs-rating .rate_stars {
		min-height: 32px;
		padding: 6px 10px;
		font-size: 13px;
	}

	.tv-fs-pro-poster,
	.tv-fs-hero-poster,
	.tv-fs-pro-note-mount .ai-note,
	.tv-fs-note-mount .ai-note,
	.tv-fs-pro-text > .ai-note,
	.tv-fs-text > .ai-note,
	.tv-fs-pro-text .ai-toc,
	.tv-fs-text .ai-toc {
		border-radius: 18px;
	}

	.tv-fs-pro-note-mount .ai-note,
	.tv-fs-note-mount .ai-note,
	.tv-fs-pro-text > .ai-note,
	.tv-fs-text > .ai-note {
		padding: 16px 16px 14px;
	}

	.tv-fs-pro-note-mount .ai-note .ai-note-body,
	.tv-fs-note-mount .ai-note .ai-note-body,
	.tv-fs-pro-text > .ai-note .ai-note-body,
	.tv-fs-text > .ai-note .ai-note-body {
		max-height: 180px;
		font-size: .95rem;
		line-height: 1.72;
	}

	.tv-fs-pro-note-mount .ai-note.is-open .ai-note-body,
	.tv-fs-note-mount .ai-note.is-open .ai-note-body,
	.tv-fs-pro-text > .ai-note.is-open .ai-note-body,
	.tv-fs-text > .ai-note.is-open .ai-note-body {
		max-height: 320px;
	}

	.tv-fs-pro-text,
	.tv-fs-text {
		font-size: 15.5px;
		line-height: 1.76;
	}

	.tv-fs-pro-text h2,
	.tv-fs-text h2 {
		font-size: 1.34rem;
	}

	.tv-fs-pro-text h3,
	.tv-fs-text h3 {
		font-size: 1.12rem;
	}

	.tv-table-scroll table,
	.tv-fs-pro-text .ai-table-wrap table,
	.tv-fs-text .ai-table-wrap table,
	.tv-fs-pro-text table,
	.tv-fs-text table {
		min-width: 620px;
	}
}

@media (max-width: 575.98px) {
	.tv-fs-pro-title,
	.tv-fs-title {
		font-size: 1.52rem;
	}

	.tv-fs-pro-meta .fs-meta-item,
	.tv-fs-meta .fs-meta-item {
		max-width: 100%;
	}

	.tv-fs-pro-note-mount .ai-note-toggle-btn,
	.tv-fs-note-mount .ai-note-toggle-btn,
	.tv-fs-pro-text > .ai-note .ai-note-toggle-btn,
	.tv-fs-text > .ai-note .ai-note-toggle-btn {
		width: 100%;
	}
}
/* ===== HERO POSTER FIX ===== */

.tv-fs-pro-hero,
.tv-fs-hero {
	display: grid;
	grid-template-columns: 420px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	margin-bottom: 26px;
}

.tv-fs-pro-poster,
.tv-fs-hero-poster {
	position: relative;
	margin: 0;
	border-radius: 22px;
	overflow: hidden;
	background: #0b1220;
	border: 1px solid #dbe7dc;
	box-shadow: 0 14px 34px rgba(16, 24, 40, 0.08);
	height: 268px;
	min-height: 268px;
}

.tv-fs-pro-poster-image,
.tv-fs-hero-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right bottom;
	border-radius: 0 !important;
	background: transparent !important;
}

/* если картинка внутри ссылки или picture */
.tv-fs-pro-poster a,
.tv-fs-hero-poster a,
.tv-fs-pro-poster picture,
.tv-fs-hero-poster picture {
	display: block;
	width: 100%;
	height: 100%;
}

@media (max-width: 991.98px) {
	.tv-fs-pro-hero,
	.tv-fs-hero {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.tv-fs-pro-poster,
	.tv-fs-hero-poster {
		height: 240px;
		min-height: 240px;
	}
}

@media (max-width: 767.98px) {
	.tv-fs-pro-poster,
	.tv-fs-hero-poster {
		height: 210px;
		min-height: 210px;
		border-radius: 18px;
	}
}
/* ===== HERO POSTER FINAL TIGHT FIX ===== */

.tv-fs-pro-hero,
.tv-fs-hero {
	display: grid;
	grid-template-columns: 420px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	margin-bottom: 26px;
}

.tv-fs-pro-poster,
.tv-fs-hero-poster {
	position: relative;
	margin: 0;
	border-radius: 22px;
	overflow: hidden;
	background: #08101d;
	border: 1px solid #dbe7dc;
	box-shadow: 0 14px 34px rgba(16, 24, 40, 0.08);
	height: 236px;
	min-height: 236px;
	line-height: 0;
}

.tv-fs-pro-poster a,
.tv-fs-hero-poster a,
.tv-fs-pro-poster picture,
.tv-fs-hero-poster picture {
	display: block;
	width: 100%;
	height: 100%;
}

.tv-fs-pro-poster-image,
.tv-fs-hero-image,
.tv-fs-pro-poster img,
.tv-fs-hero-poster img {
	display: block;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: 50% 72%;
	border-radius: 0 !important;
	background: transparent !important;
}

/* если DLE или шаблон где-то задает auto-height картинке */
.tv-fs-pro-poster img,
.tv-fs-hero-poster img {
	max-width: none !important;
	height: 100% !important;
}

/* note */
.tv-fs-pro-note-wrap,
.tv-fs-hero-aside {
	min-width: 0;
	display: flex;
}

.tv-fs-pro-note-mount,
.tv-fs-note-mount {
	width: 100%;
	display: flex;
}

@media (max-width: 991.98px) {
	.tv-fs-pro-hero,
	.tv-fs-hero {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.tv-fs-pro-poster,
	.tv-fs-hero-poster {
		height: 220px;
		min-height: 220px;
	}
}

@media (max-width: 767.98px) {
	.tv-fs-pro-poster,
	.tv-fs-hero-poster {
		height: 200px;
		min-height: 200px;
		border-radius: 18px;
	}
}
/* =========================================================
   TURBOVIP COMMENTS
   ========================================================= */

.db-comment {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin: 0 0 18px;
	padding: 18px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
	border: 1px solid rgba(17, 24, 39, 0.06);
	border-radius: 22px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
	overflow: hidden;
}

.db-comment::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	border-radius: 999px;
	background: linear-gradient(180deg, #16a34a 0%, #4ade80 100%);
	opacity: 0.95;
}

.db-comment-avatar {
	flex: 0 0 56px;
	position: relative;
	z-index: 2;
}

.db-comment-avatar-link {
	display: block;
	text-decoration: none !important;
}

.db-comment-avatar-img {
	display: block;
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 16px;
	border: 2px solid #dcfce7;
	background: #f8faf8;
	box-shadow: 0 10px 24px rgba(22, 163, 74, 0.10);
}

.db-comment-body {
	flex: 1 1 auto;
	min-width: 0;
	position: relative;
	z-index: 2;
}

.db-comment-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid #e7efe8;
}

.db-comment-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	min-width: 0;
}

.db-comment-author {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 7px 12px;
	border-radius: 999px;
	background: #ecfdf3;
	border: 1px solid rgba(22, 163, 74, 0.12);
	color: #166534 !important;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.db-comment-author:hover,
.db-comment-author:focus {
	background: #dcfce7;
	color: #14532d !important;
	text-decoration: none !important;
}

.db-comment-author i {
	font-size: 0.9rem;
	opacity: 0.9;
}

.db-comment-author#online {
	box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.08);
}

.db-comment-date,
.db-comment-parent {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 7px 12px;
	border-radius: 999px;
	background: #f7faf7;
	border: 1px solid #dbe7dc;
	color: #536173;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.db-comment-parent {
	background: #f8fafc;
	border-color: #e5e7eb;
	color: #475569;
}

.db-comment-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex-wrap: wrap;
}

.db-comment-like {
	display: flex;
	align-items: center;
}

.db-comment-like-btn,
.db-comment-iconbtn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 38px;
	padding: 8px 12px !important;
	border-radius: 12px !important;
	border: 1px solid rgba(17, 24, 39, 0.07) !important;
	background: #ffffff !important;
	color: #374151 !important;
	box-shadow: 0 6px 18px rgba(16, 24, 40, 0.04);
	transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.db-comment-like-btn:hover,
.db-comment-like-btn:focus,
.db-comment-iconbtn:hover,
.db-comment-iconbtn:focus {
	background: #f0fdf4 !important;
	border-color: rgba(22, 163, 74, 0.16) !important;
	color: #166534 !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(22, 163, 74, 0.10);
	outline: none !important;
}

.db-comment-like-btn i,
.db-comment-iconbtn i {
	font-size: 0.95rem;
}

.db-comment-like-btn span {
	font-weight: 800;
	font-size: 0.88rem;
}

.db-comment-dropdown .dropdown-toggle::after {
	margin-left: 6px;
}

.db-comment-dropdown .dropdown-menu {
	margin-top: 8px;
	padding: 8px;
	min-width: 190px;
	border: 1px solid #dbe7dc !important;
	border-radius: 16px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 40px rgba(16, 24, 40, 0.12) !important;
}

.db-comment-dropdown .dropdown-item {
	display: flex;
	align-items: center;
	padding: 10px 12px;
	border-radius: 12px;
	color: #1f2937;
	font-size: 0.92rem;
	font-weight: 700;
	background: transparent;
	border: 0;
	transition: background .2s ease, color .2s ease;
}

.db-comment-dropdown .dropdown-item:hover,
.db-comment-dropdown .dropdown-item:focus {
	background: #f0fdf4;
	color: #14532d;
	outline: none;
}

.db-comment-content {
	color: #1f2937;
	font-size: 1rem;
	line-height: 1.8;
	word-wrap: break-word;
}

.db-comment-content p:last-child {
	margin-bottom: 0;
}

.db-comment-content a {
	color: #15803d;
	font-weight: 600;
	word-break: break-word;
}

.db-comment-content a:hover {
	color: #166534;
}

.db-comment-content img {
	max-width: 100%;
	height: auto;
	border-radius: 14px;
}

.db-comment-divider {
	height: 1px;
	margin: 14px 0;
	background: linear-gradient(90deg, rgba(22, 163, 74, 0.18) 0%, rgba(17, 24, 39, 0.05) 100%);
}

.db-comment-images {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.db-comment-images img,
.db-comment-images a img {
	display: block;
	max-width: 140px;
	border-radius: 14px;
	border: 1px solid rgba(17, 24, 39, 0.06);
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.db-comment-signature {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid rgba(17, 24, 39, 0.06);
	color: #6b7280;
	font-size: 0.92rem;
	line-height: 1.65;
	font-style: italic;
}

/* вложенные / дочерние комментарии, если тема их вкладывает внутрь списка */
.db-comment .db-comment {
	margin-top: 14px;
	margin-left: 8px;
	background: linear-gradient(180deg, #fbfdfb 0%, #f6faf7 100%);
	border-color: rgba(22, 163, 74, 0.08);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.db-comment .db-comment::before {
	width: 3px;
	opacity: 0.8;
}

/* форма, если рядом используется та же зона комментариев */
.comments-tree-list .db-comment,
.comments-list .db-comment,
#dle-comments-list .db-comment {
	scroll-margin-top: 90px;
}

/* мобилка */
@media (max-width: 767.98px) {
	.db-comment {
		gap: 12px;
		padding: 14px;
		border-radius: 18px;
	}

	.db-comment-avatar {
		flex: 0 0 46px;
	}

	.db-comment-avatar-img {
		width: 46px;
		height: 46px;
		border-radius: 14px;
	}

	.db-comment-head {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

	.db-comment-meta {
		gap: 8px;
	}

	.db-comment-author,
	.db-comment-date,
	.db-comment-parent {
		min-height: 30px;
		padding: 6px 10px;
		font-size: 0.82rem;
	}

	.db-comment-actions {
		justify-content: flex-start;
	}

	.db-comment-like-btn,
	.db-comment-iconbtn {
		min-height: 34px;
		padding: 7px 10px !important;
		border-radius: 10px !important;
	}

	.db-comment-content {
		font-size: 0.95rem;
		line-height: 1.72;
	}

	.db-comment-images img,
	.db-comment-images a img {
		max-width: 110px;
		border-radius: 12px;
	}

	.db-comment-signature {
		font-size: 0.88rem;
	}
}

@media (max-width: 479.98px) {
	.db-comment {
		padding: 12px;
		gap: 10px;
	}

	.db-comment-meta {
		gap: 6px;
	}

	.db-comment-author,
	.db-comment-date,
	.db-comment-parent {
		font-size: 0.78rem;
		padding: 5px 9px;
	}

	.db-comment-like-btn,
	.db-comment-iconbtn {
		min-height: 32px;
		padding: 6px 9px !important;
	}

	.db-comment-content {
		font-size: 0.93rem;
	}
}
/* =========================================================
   TURBOVIP TOP NEWS ITEM
   ========================================================= */

.tv-top-news-item {
	margin-bottom: 12px;
}

.tv-top-news-item:last-child {
	margin-bottom: 0;
}

.tv-top-news-link {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
	border: 1px solid rgba(17, 24, 39, 0.06);
	border-radius: 18px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
	text-decoration: none !important;
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.tv-top-news-link::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	border-radius: 999px;
	background: linear-gradient(180deg, #16a34a 0%, #4ade80 100%);
	opacity: 0.95;
}

.tv-top-news-link:hover,
.tv-top-news-link:focus {
	text-decoration: none !important;
	transform: translateY(-2px);
	background: linear-gradient(180deg, #ffffff 0%, #f4faf4 100%);
	border-color: #cfe1d1;
	box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08);
}

.tv-top-news-thumb-wrap {
	position: relative;
	flex: 0 0 108px;
	width: 108px;
	z-index: 2;
}

.tv-top-news-thumb {
	display: block;
	width: 108px;
	height: 72px;
	object-fit: cover;
	object-position: center;
	border-radius: 14px;
	border: 1px solid rgba(17, 24, 39, 0.06);
	background: #eef4ee;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
	transition: transform .2s ease, box-shadow .2s ease;
}

.tv-top-news-link:hover .tv-top-news-thumb,
.tv-top-news-link:focus .tv-top-news-thumb {
	transform: scale(1.02);
	box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.tv-top-news-body {
	position: relative;
	z-index: 2;
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 72px;
}

.tv-top-news-title {
	margin-bottom: 8px;
	color: #111827;
	font-size: 0.97rem;
	line-height: 1.35;
	font-weight: 800;
	word-break: break-word;
	transition: color .2s ease;
}

.tv-top-news-link:hover .tv-top-news-title,
.tv-top-news-link:focus .tv-top-news-title {
	color: #166534;
}

.tv-top-news-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}

.tv-top-news-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 28px;
	padding: 5px 9px;
	border-radius: 999px;
	background: #f7faf7;
	border: 1px solid #dbe7dc;
	color: #536173;
	font-size: 0.76rem;
	line-height: 1.2;
	font-weight: 700;
	white-space: nowrap;
}

.tv-top-news-meta-item i {
	color: #166534;
	opacity: 0.9;
	font-size: 0.8rem;
}

/* компактнее в сайдбаре */
.sidebar .tv-top-news-link,
.right .tv-top-news-link,
.left .tv-top-news-link {
	padding: 11px;
	border-radius: 16px;
}

.sidebar .tv-top-news-thumb-wrap,
.right .tv-top-news-thumb-wrap,
.left .tv-top-news-thumb-wrap {
	flex: 0 0 96px;
	width: 96px;
}

.sidebar .tv-top-news-thumb,
.right .tv-top-news-thumb,
.left .tv-top-news-thumb {
	width: 96px;
	height: 66px;
	border-radius: 12px;
}

.sidebar .tv-top-news-title,
.right .tv-top-news-title,
.left .tv-top-news-title {
	font-size: 0.92rem;
	line-height: 1.32;
}

.sidebar .tv-top-news-meta-item,
.right .tv-top-news-meta-item,
.left .tv-top-news-meta-item {
	font-size: 0.72rem;
	min-height: 26px;
	padding: 4px 8px;
}

/* мобилка */
@media (max-width: 767.98px) {
	.tv-top-news-link {
		gap: 10px;
		padding: 10px;
		border-radius: 16px;
	}

	.tv-top-news-thumb-wrap {
		flex: 0 0 90px;
		width: 90px;
	}

	.tv-top-news-thumb {
		width: 90px;
		height: 62px;
		border-radius: 12px;
	}

	.tv-top-news-title {
		font-size: 0.9rem;
		line-height: 1.3;
		margin-bottom: 7px;
	}

	.tv-top-news-meta {
		gap: 5px;
	}

	.tv-top-news-meta-item {
		font-size: 0.7rem;
		min-height: 24px;
		padding: 4px 7px;
	}
}

@media (max-width: 479.98px) {
	.tv-top-news-link {
		padding: 9px;
		gap: 9px;
	}

	.tv-top-news-thumb-wrap {
		flex: 0 0 82px;
		width: 82px;
	}

	.tv-top-news-thumb {
		width: 82px;
		height: 58px;
	}

	.tv-top-news-title {
		font-size: 0.86rem;
	}

	.tv-top-news-meta-item {
		font-size: 0.68rem;
		padding: 4px 6px;
	}
}
/* =========================================================
   TURBOVIP REGISTRATION / VALIDATION PAGE
   ========================================================= */

.tv-auth-page {
	width: 100%;
}

.tv-auth-shell {
	width: 100%;
}

.tv-auth-main {
	width: 100%;
}

.tv-register-card {
	border: 1px solid rgba(17, 24, 39, 0.06) !important;
	border-radius: 22px !important;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%) !important;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
	overflow: hidden;
	position: relative;
}

.tv-register-card::before {
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #16a34a 0%, #22c55e 55%, #86efac 100%);
}

.tv-auth-card-body {
	padding: 22px;
}

.tv-auth-title {
	display: flex;
	align-items: center;
	margin: 0 0 16px;
	font-size: 1.5rem;
	line-height: 1.15;
	font-weight: 900;
	letter-spacing: -0.03em;
	color: #111827;
}

.tv-auth-title .icon-user-follow {
	color: #16a34a;
	font-size: 1.1em;
}

.tv-auth-alert {
	margin-bottom: 16px;
	padding: 14px 16px;
	border-radius: 16px;
	background: linear-gradient(180deg, #f8faf8 0%, #f3f8f3 100%);
	border: 1px solid #dbe7dc;
	color: #4b5563;
	font-size: 0.95rem;
	line-height: 1.65;
	font-weight: 600;
}

.tv-form-row {
	margin-bottom: 14px;
}

.tv-input-group {
	display: flex;
	align-items: stretch;
	gap: 10px;
}

.tv-auth-label {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 0.92rem;
	font-weight: 800;
	color: #111827;
}

.tv-auth-input,
.tv-auth-textarea,
.tv-auth-file,
.tv-register-card input[type="text"],
.tv-register-card input[type="email"],
.tv-register-card input[type="password"],
.tv-register-card input[type="file"],
.tv-register-card textarea,
.tv-register-card select {
	width: 100%;
	min-height: 46px;
	padding: 0 14px;
	border-radius: 14px !important;
	border: 1px solid #d1d5db !important;
	background: #ffffff !important;
	color: #111827 !important;
	box-shadow: none !important;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.tv-auth-textarea,
.tv-register-card textarea {
	min-height: 130px;
	padding: 12px 14px;
	resize: vertical;
}

.tv-auth-file,
.tv-register-card input[type="file"] {
	padding: 10px 12px;
	min-height: auto;
}

.tv-auth-input:focus,
.tv-auth-textarea:focus,
.tv-register-card input:focus,
.tv-register-card textarea:focus,
.tv-register-card select:focus {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: 0 0 0 0.18rem rgba(34, 197, 94, 0.12) !important;
	background: #ffffff !important;
}

.tv-auth-check-btn {
	flex: 0 0 auto;
	min-width: 122px;
	padding: 0 16px;
	border: 0;
	border-radius: 14px;
	background: #f0fdf4;
	border: 1px solid rgba(22, 163, 74, 0.12);
	color: #166534;
	font-size: 0.92rem;
	font-weight: 800;
	box-shadow: 0 8px 18px rgba(16, 24, 40, 0.04);
	transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.tv-auth-check-btn:hover,
.tv-auth-check-btn:focus {
	background: #dcfce7;
	color: #14532d;
	border-color: rgba(22, 163, 74, 0.18);
	transform: translateY(-1px);
	outline: none;
}

.tv-auth-result {
	margin-top: 8px;
	font-size: 0.9rem;
	line-height: 1.5;
}

.tv-auth-subcard {
	margin-bottom: 16px;
	border: 1px solid rgba(17, 24, 39, 0.06);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
	overflow: hidden;
}

.tv-auth-subcard-title {
	padding: 13px 16px;
	background: #f8faf8;
	border-bottom: 1px solid #e7efe8;
	color: #111827;
	font-size: 0.98rem;
	font-weight: 800;
}

.tv-auth-subcard-body {
	padding: 16px;
}

.tv-auth-xfields {
	margin-bottom: 16px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid rgba(17, 24, 39, 0.06);
	background: #ffffff;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.tv-auth-xfields .tv-xfields-table,
.tv-auth-xfields .xfields {
	width: 100%;
	margin-bottom: 0 !important;
	background: #ffffff;
}

.tv-auth-xfields .tv-xfields-table td,
.tv-auth-xfields .tv-xfields-table th,
.tv-auth-xfields .xfields td,
.tv-auth-xfields .xfields th {
	padding: 12px 14px !important;
	border-color: #eef2f7 !important;
	vertical-align: middle;
}

.tv-auth-xfields .xfields input,
.tv-auth-xfields .xfields select,
.tv-auth-xfields .xfields textarea {
	width: 100%;
}

.tv-auth-captcha {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin: 14px 0 4px;
	padding: 14px;
	background: #f8faf8;
	border: 1px solid rgba(17, 24, 39, 0.05);
	border-radius: 16px;
}

.tv-auth-captcha img,
.tv-auth-captcha .captcha,
.tv-auth-captcha .sec_code {
	border-radius: 12px;
	overflow: hidden;
}

.tv-auth-captcha input {
	flex: 1 1 240px;
	min-width: 180px;
}

.tv-auth-recaptcha {
	margin-top: 6px;
}

.tv-auth-submit-wrap {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid #e7efe8;
}

.tv-register-card hr {
	display: none;
}

/* legacy cleanup inside old DLE markup if something stays */
.tv-register-card .card,
.tv-register-card .card-body,
.tv-register-card .card-header {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.tv-register-card .alert {
	margin-bottom: 16px;
	border-radius: 16px;
	background: linear-gradient(180deg, #f8faf8 0%, #f3f8f3 100%);
	border: 1px solid #dbe7dc;
	color: #4b5563;
	font-size: 0.95rem;
	line-height: 1.65;
	font-weight: 600;
}

.tv-register-card .input-group,
.tv-register-card .input-group-addon,
.tv-register-card .input-group-btn {
	display: contents;
}

.tv-register-card .wide {
	width: 100%;
	min-height: 46px;
	padding: 0 14px;
	border-radius: 14px !important;
	border: 1px solid #d1d5db !important;
	background: #ffffff !important;
	color: #111827 !important;
	box-shadow: none !important;
}

.tv-register-card .wide:focus {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: 0 0 0 0.18rem rgba(34, 197, 94, 0.12) !important;
}

/* mobile */
@media (max-width: 767.98px) {
	.tv-auth-card-body {
		padding: 16px;
	}

	.tv-auth-title {
		font-size: 1.2rem;
		margin-bottom: 14px;
	}

	.tv-auth-alert {
		padding: 12px 14px;
		font-size: 0.9rem;
		border-radius: 14px;
	}

	.tv-input-group {
		flex-direction: column;
		gap: 10px;
	}

	.tv-auth-check-btn {
		width: 100%;
		min-height: 42px;
	}

	.tv-auth-subcard {
		border-radius: 16px;
	}

	.tv-auth-subcard-title {
		padding: 12px 14px;
		font-size: 0.94rem;
	}

	.tv-auth-subcard-body {
		padding: 14px;
	}

	.tv-auth-captcha {
		padding: 12px;
		border-radius: 14px;
	}

	.tv-auth-submit-wrap {
		margin-top: 16px;
		padding-top: 14px;
	}

	.tv-auth-submit-wrap .tv-main-btn {
		width: 100%;
	}
}
/* =========================================================
   TURBOVIP HEADER SEARCH FIX
   ========================================================= */

/* правая часть шапки */
.site-nav-right {
	display: flex;
	align-items: center;
	margin-left: auto;
}

/* форма поиска всегда в одну строку */
.site-search-form {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 10px;
	margin-left: 6px;
	width: auto !important;
}

/* поле поиска */
.site-search-wrap {
	position: relative;
	display: flex;
	align-items: center;
	min-width: 270px;
	width: 270px;
	flex: 0 0 270px;
}

/* сам input */
.site-search-input {
	width: 100% !important;
	min-width: 0;
}

/* кнопка рядом, не переносится */
.site-search-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 18px;
	white-space: nowrap;
	flex: 0 0 auto;
	width: auto !important;
	margin: 0 !important;
}

/* чтобы bootstrap не тянул кнопку/форму */
.site-search-form .btn,
.site-search-form button,
.site-search-form input[type="submit"] {
	flex: 0 0 auto;
}

.site-search-form .form-control {
	width: 100%;
}

/* на планшете тоже рядом */
@media (max-width: 1199.98px) {
	.site-search-wrap {
		min-width: 230px;
		width: 230px;
		flex: 0 0 230px;
	}
}

/* только на мобильных уводим в колонку */
@media (max-width: 991.98px) {
	.site-nav-right {
		display: block;
		width: 100%;
		margin-top: 12px;
	}

	.site-search-form {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		margin-left: 0;
		gap: 10px;
	}

	.site-search-wrap {
		width: 100% !important;
		min-width: 100% !important;
		flex: 1 1 auto;
	}

	.site-search-btn {
		width: 100% !important;
	}
}
/* =========================================================
   TURBOVIP SHORTSTORY
   ========================================================= */

.tv-shortstory {
	position: relative;
	margin-bottom: 22px !important;
	border: 1px solid rgba(17, 24, 39, 0.06) !important;
	border-radius: 24px !important;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%) !important;
	box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06) !important;
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.tv-shortstory::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	border-radius: 999px;
	background: linear-gradient(180deg, #16a34a 0%, #4ade80 100%);
	opacity: 0.95;
	z-index: 1;
}

.tv-shortstory:hover {
	transform: translateY(-2px);
	border-color: #cfe1d1 !important;
	box-shadow: 0 22px 46px rgba(15, 23, 42, 0.09) !important;
	background: linear-gradient(180deg, #ffffff 0%, #f4faf4 100%) !important;
}

.tv-shortstory-body {
	position: relative;
	z-index: 2;
	padding: 20px 22px !important;
}

.tv-shortstory .row {
	margin-left: -10px;
	margin-right: -10px;
}

.tv-shortstory .row > [class*="col-"] {
	padding-left: 10px;
	padding-right: 10px;
}

/* poster */

.tv-shortstory-poster {
	position: relative;
	display: block;
	border-radius: 20px;
	overflow: hidden;
	background: #0f172a;
	border: 1px solid rgba(17, 24, 39, 0.06);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
	text-decoration: none !important;
}

.tv-shortstory-image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 214px;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: center;
	border-radius: 0 !important;
	transition: transform .25s ease, opacity .2s ease;
}

.tv-shortstory:hover .tv-shortstory-image {
	transform: scale(1.02);
}

.tv-shortstory-fixed-badge {
	position: absolute;
	left: 12px;
	top: 12px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(17, 24, 39, 0.88);
	color: #ffffff;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	box-shadow: 0 10px 22px rgba(15, 23, 42, 0.16);
}

.tv-shortstory-fixed {
	border-color: rgba(22, 163, 74, 0.14) !important;
	box-shadow: 0 18px 42px rgba(22, 163, 74, 0.08) !important;
}

/* dropdown */

.tv-shortstory-dropdown {
	position: relative;
	z-index: 5;
}

.tv-shortstory-more-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px !important;
	border-radius: 12px !important;
	border: 1px solid rgba(17, 24, 39, 0.07) !important;
	background: #ffffff !important;
	color: #536173 !important;
	box-shadow: 0 6px 18px rgba(16, 24, 40, 0.04);
}

.tv-shortstory-more-btn:hover,
.tv-shortstory-more-btn:focus {
	background: #f0fdf4 !important;
	color: #166534 !important;
	border-color: rgba(22, 163, 74, 0.15) !important;
	box-shadow: 0 10px 22px rgba(22, 163, 74, 0.08);
	outline: none !important;
}

.tv-shortstory-dropdown-menu {
	padding: 8px !important;
	border: 1px solid #dbe7dc !important;
	border-radius: 16px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 40px rgba(16, 24, 40, 0.12) !important;
}

.tv-shortstory-dropdown-menu .dropdown-item {
	border-radius: 12px;
	padding: 10px 12px;
	font-size: 0.92rem;
	font-weight: 700;
	color: #1f2937;
}

.tv-shortstory-dropdown-menu .dropdown-item:hover,
.tv-shortstory-dropdown-menu .dropdown-item:focus {
	background: #f0fdf4;
	color: #14532d;
	outline: none;
}

/* topline / category */

.tv-shortstory-topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
	padding-right: 50px;
}

.tv-shortstory-category {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.tv-shortstory-category a {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 11px;
	border-radius: 999px;
	background: #ecfdf3;
	border: 1px solid rgba(22, 163, 74, 0.12);
	color: #166534 !important;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-decoration: none !important;
	line-height: 1.2;
}

.tv-shortstory-category a:hover,
.tv-shortstory-category a:focus {
	background: #dcfce7;
	color: #14532d !important;
	text-decoration: none !important;
}

/* title */

.tv-shortstory-title {
	margin: 0 0 12px;
	font-size: clamp(1.32rem, 2vw, 1.7rem);
	line-height: 1.18;
	font-weight: 600;
	letter-spacing: -0.03em;
	color: #111827;
}

.tv-shortstory-title a {
	color: inherit !important;
	text-decoration: none !important;
}

.tv-shortstory-title a:hover,
.tv-shortstory-title a:focus {
	color: #166534 !important;
	text-decoration: none !important;
}

.tv-shortstory-title i {
	color: #16a34a;
}

/* excerpt */

.tv-shortstory-excerpt {
	margin-bottom: 14px;
	color: #374151;
	font-size: 1rem;
	line-height: 1.8;
	word-break: break-word;
}

.tv-shortstory-excerpt p:last-child {
	margin-bottom: 0;
}

/* edit note */

.tv-shortstory-editnote {
	margin-bottom: 14px;
	padding: 12px 14px;
	border-radius: 14px;
	background: #f8faf8;
	border: 1px solid rgba(17, 24, 39, 0.05);
	color: #536173;
	font-size: 0.9rem;
	line-height: 1.6;
}

.tv-shortstory-editnote b {
	color: #111827;
	font-weight: 800;
}

.tv-shortstory-editreason {
	display: inline-block;
	margin-left: 8px;
	color: #6b7280;
}

/* footer */

.tv-shortstory-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-top: 14px;
	border-top: 1px solid #e7efe8;
}

.tv-shortstory-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	list-style: none;
	padding-left: 0;
}

.tv-shortstory-meta .list-inline-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 32px;
	margin: 0 !important;
	padding: 7px 11px;
	border-radius: 999px;
	background: #f7faf7;
	border: 1px solid #dbe7dc;
	color: #536173;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.tv-shortstory-meta .list-inline-item i {
	color: #166534;
	opacity: 0.9;
}

.tv-shortstory-meta .list-inline-item#online {
	box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.08);
}

/* actions */

.tv-shortstory-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px;
}

.tv-shortstory-rate-link {
	text-decoration: none !important;
}

.tv-shortstory-rate-btn,
.tv-shortstory-rate-multi {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	padding: 9px 14px;
	border-radius: 14px;
	background: #ffffff;
	border: 1px solid rgba(17, 24, 39, 0.07);
	color: #374151;
	font-size: 0.9rem;
	font-weight: 800;
	box-shadow: 0 6px 18px rgba(16, 24, 40, 0.04);
	transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.tv-shortstory-rate-btn:hover,
.tv-shortstory-rate-multi:hover {
	background: #f0fdf4;
	border-color: rgba(22, 163, 74, 0.16);
	color: #166534;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(22, 163, 74, 0.08);
}

.tv-shortstory-rate-btn i,
.tv-rate-icon {
	color: #16a34a;
}

.tv-shortstory-readmore {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 16px;
	border-radius: 14px;
	background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%);
	border: 1px solid transparent;
	color: #ffffff !important;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
	box-shadow: 0 10px 22px rgba(22, 163, 74, 0.16);
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.tv-shortstory-readmore:hover,
.tv-shortstory-readmore:focus {
	background: linear-gradient(135deg, #15803d 0%, #16a34a 100%);
	color: #ffffff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(22, 163, 74, 0.22);
}

/* mobile */

@media (max-width: 991.98px) {
	.tv-shortstory-body {
		padding: 18px !important;
	}

	.tv-shortstory-image {
		min-height: 190px;
	}

	.tv-shortstory-footer {
		flex-direction: column;
		align-items: stretch;
	}

	.tv-shortstory-actions {
		justify-content: flex-start;
	}
}

@media (max-width: 767.98px) {
	.tv-shortstory {
		border-radius: 20px !important;
	}

	.tv-shortstory-body {
		padding: 14px !important;
	}

	.tv-shortstory-poster {
		border-radius: 16px;
	}

	.tv-shortstory-image {
		min-height: 170px;
		border-radius: 0 !important;
	}

	.tv-shortstory-fixed-badge {
		left: 10px;
		top: 10px;
		font-size: 0.72rem;
		min-height: 28px;
		padding: 5px 9px;
	}

	.tv-shortstory-topline {
		padding-right: 0;
		margin-bottom: 8px;
	}

	.tv-shortstory-title {
		font-size: 1.18rem;
		line-height: 1.22;
		margin-bottom: 10px;
	}

	.tv-shortstory-excerpt {
		font-size: 0.95rem;
		line-height: 1.72;
		margin-bottom: 12px;
	}

	.tv-shortstory-editnote {
		font-size: 0.86rem;
		padding: 10px 12px;
	}

	.tv-shortstory-meta .list-inline-item {
		font-size: 0.76rem;
		min-height: 30px;
		padding: 6px 10px;
	}

	.tv-shortstory-rate-btn,
	.tv-shortstory-rate-multi,
	.tv-shortstory-readmore {
		min-height: 38px;
		padding: 9px 12px;
		font-size: 0.86rem;
	}
}

@media (max-width: 575.98px) {
	.tv-shortstory .row {
		margin-left: -6px;
		margin-right: -6px;
	}

	.tv-shortstory .row > [class*="col-"] {
		padding-left: 6px;
		padding-right: 6px;
	}

	.tv-shortstory-body {
		padding: 12px !important;
	}

	.tv-shortstory-image {
		min-height: 156px;
	}

	.tv-shortstory-meta {
		gap: 6px;
	}

	.tv-shortstory-meta .list-inline-item {
		font-size: 0.72rem;
		padding: 5px 9px;
	}

	.tv-shortstory-actions {
		gap: 8px;
	}

	.tv-shortstory-rate-btn,
	.tv-shortstory-rate-multi,
	.tv-shortstory-readmore {
		width: auto;
	}
}