@import url('https://fonts.googleapis.com/css?family=Abel&display=swap');

/* ==========================================================================
   Цветовая схема — все цвета теперь здесь (тёмная тема)
   ========================================================================== */
:root {
  --bg-body:               #131313;
  --bg-header-footer:      #181818;
  --bg-dark-border:        #2d2d2d;
  --bg-thumb:              #e0e0e0;
  --text-main:             #ddd;
  --text-white:            #fff;
  --text-black:            #000;
  --text-search:           #333;
  --accent-blue:           rgb(58, 170, 226);
  --accent-blue-hover:     rgb(58, 170, 226);   /* можно сделать светлее при желании */
  --thumb-border-default:  #2d2d2d;
  --thumb-border-hover:    rgb(58, 170, 226);
  --overlay-bg:            rgba(0,0,0,0.75);
  --title-hover-bg:        #000;
}

/* ==========================================================================
   Основные стили (цвета заменены на переменные)
   ========================================================================== */

* {
    box-sizing: border-box;
    outline: 0;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

ul, li {
    margin: 0;
    padding: 0;
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

input, select {
    vertical-align:middle;
    outline: none;
}

body {
    background: var(--bg-body);
    font-family: 'Abel', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: var(--text-main);
}

a {
    position: relative;
    color: var(--text-white);
    text-decoration: none;
}

a:hover {
    color: var(--accent-blue);
}

h1, h2, h3 {
    display: block;
    margin: 15px 0 5px;
    font-size: 24px;
    line-height: 36px;
    font-weight: 400;
    border-bottom: 1px solid var(--accent-blue);
}

.width-wrap {
    position: relative;
    width: 100%;
    max-width: 1522px;
    margin: 0 auto;
    padding: 0 10px;
}

.clearfix:after {
    display: table;
    content: "";
    clear: both;
}

.show-on-mobile {
    display: none !important;
}

.heading-container {
    position: relative;
}
    .heading-container:after {
        content: '';
        display: block;
        clear: both;
    }

.header {
    z-index: 2;
    position: relative;
    width: 100%;
    min-height: 50px;
    border-bottom: 1px solid var(--bg-dark-border);
    background: var(--bg-header-footer);
    text-align: center;
}
    .header .width-wrap:after {
        content: '';
        display: block;
        clear: both;
    }
    .header .logo {
        position: absolute;
        top: 0;
        left: 50%;
        margin: 4px 0 0 0;
        float: left;
        color: var(--text-white);
        font-size: 32px;
        line-height: 40px;
        text-transform: uppercase;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
        .header .logo a {
            display: block;
            transition: 0.15s ease color;
        }
            .header .logo a span {
                color: var(--accent-blue);
                transition: 0.15s ease color;
            }
            .header .logo a:hover span {
                color: var(--text-white);
            }
    .navigation {
        float: left;
        margin-top: 6px;
    }
        .navigation > ul > li {
            display: inline-block;
            line-height: 34px;
            vertical-align: top;
        }
            .navigation > ul > li > a {
                height: 36px;
                display: block;
                margin-right: 2px;
                padding: 0 10px;
                border: 2px solid var(--text-white);
                background: var(--accent-blue);
                font-size: 14px;
                color: var(--text-black);
                transition: 0.15s ease opacity;
            }
                .navigation > ul > li.active > a,
                .navigation > ul > li > a:hover {
                    opacity: 0.5;
                }
    .header .search {
        float: right;
        position: relative;
        height: 36px;
        margin: 6px 0 0 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        z-index: 3;
    }
        .header .search .search-input {
            width: 300px;
            height: 36px;
            padding: 0 65px 0 10px;
            background: #fff;
            border: 2px solid #fff;
            font-family: 'Abel', sans-serif;
            color: var(--text-search);
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
        }
        .header .search .search-submit {
            display: block;
            position: absolute;
            top: 2px;
            right: 2px;
            height: 32px;
            padding: 0 10px;
            border: 0;
            background: var(--accent-blue);
            background-size: 20px 20px;
            font-family: 'Abel', sans-serif;
            font-size: 14px;
            line-height: 30px;
            color: var(--text-black);
            cursor: pointer;
            transition: 0.15s ease opacity;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
        }
            .header .search .search-submit:hover {
                opacity: 0.5;
            }

.thumbs {
    text-align: center;
    letter-spacing: -5px;
    margin: 0 -5px;
}
    .thumbs .spots {
        margin-bottom: 10px;
    }
    .thumbs .thumb {
        display: inline-block;
        width: 16.666666%;
        padding: 5px;
        letter-spacing: 0;
        vertical-align: top;
    }
        .thumbs .thumb > a {
            border: 1px solid var(--thumb-border-default);
            background: var(--bg-thumb);
            transition: 0.15s ease border-color;
        }
            .thumbs .thumb > a:hover {
                border-color: var(--thumb-border-hover);
            }
        .thumbs .thumb .thumb-image {
            position: relative;
            display: block;
        }
        .thumbs .thumb .thumb-container {
            position: relative;
            display: block;
            overflow: hidden;
        }
            .thumbs .thumb .thumb-image img {
                display: block;
                width: 100%;
                height: auto;
            }
                .thumbs .thumb.category .thumb-image img {
                    position: static;
                    height: auto;
                }
            .thumbs .thumb .thumb-info {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
            }
                .thumbs .thumb .thumb-info span {
                    display: block;
                    position: absolute;
                    padding: 0 5px;
                    background: var(--overlay-bg);
                    font-size: 12px;
                    line-height: 20px;
                    color: var(--text-white);
                    text-align: center;
                }
                    .thumbs .thumb.category .thumb-info span {
                        font-size: 16px;
                        line-height: 24px;
                    }
                .thumbs .thumb .thumb-info .thumb-videos,
                .thumbs .thumb .thumb-info .thumb-duration {
                    top: 0;
                    right: 0;
                    transition: 0.15s ease opacity;
                }
                .thumbs .thumb .thumb-info .thumb-title {
                    overflow: hidden;
                    bottom: 0;
                    right: 0;
                    left: 0;
                    transition: 0.15s ease background-color;
                    white-space: nowrap;
                    text-overflow: ellipsis;
                    text-align: center;
                }
                    .thumbs .thumb a:hover .thumb-info .thumb-videos,
                    .thumbs .thumb a:hover .thumb-info .thumb-duration {
                        opacity: 0;
                    }
                    .thumbs .thumb a:hover .thumb-info .thumb-title {
                        background: var(--title-hover-bg);
                    }

.paginator {
    margin: 10px 0;
    text-align: center;
}
    .paginator li {
        margin: 0 0 2px;
        display: inline-block;
        vertical-align: top;
        font-size: 18px;
        line-height: 36px;
        text-align: center;
    }
        .paginator li a,
        .paginator li span {
            display: inline-block;
            min-width: 36px;
            height: 36px;
            margin: 0 2px;
            padding: 0 10px;
            border: 2px solid var(--text-white);
            background: var(--accent-blue);
            font-size: 14px;
            line-height: 34px;
            color: var(--text-black);
            transition: 0.15s ease opacity;
        }
            .paginator li span,
            .paginator li a:hover,
            .paginator li.active a,
            .paginator li.active span {
                opacity: 0.5;
            }
            .paginator li a i {
                height: 38px;
                display: block;
                background-repeat: no-repeat;
                background-position: center;
            }

.bottom-text {
    margin: 15px 0;
    padding: 15px 0;
    font-size: 14px;
    line-height: 20px;
    text-align: left;
}

.list-section {
}
    .list-section ul {
        -webkit-columns: 5;
        columns: 5;
    }
        .list-section ul li {
            display: inline-block;
            width: 100%;
            padding: 5px 0;
            line-height: 24px;
        }
            .list-section ul li a {
                display: block;
                overflow: hidden;
                position: relative;
                padding: 0 10px;
                border: 2px solid var(--text-white);
                background: var(--accent-blue);
                font-size: 16px;
                line-height: 30px;
                white-space: nowrap;
                color: var(--text-black);
                text-overflow: ellipsis;
                transition: 0.15s ease opacity;
            }
                .list-section.tubes-section ul li a {
                    text-align: center;
                }
                    .list-section ul li a:hover {
                        opacity: 0.5;
                    }

.spots-section {
    padding: 10px 0;
}
    .spots-section.mobile-spots-section {
        display: none;
        padding: 5px 0;
    }
    .spots {
        text-align: center;
    }
        .spots .spot {
            display: inline-block;
            text-align: center;
        }

.video-section {
    padding: 10px 0;
}
    .video-section .width-wrap {
    }
    .video-section .top-tags {
        margin-bottom: 10px;
    }
        .video-section .top-tags .categories-row {
            text-align: center;
        }
            .video-section .top-tags .categories-row a {
                display: inline-block;
                height: 36px;
                margin-right: 2px;
                padding: 0 10px;
                border: 2px solid var(--text-white);
                background: var(--accent-blue);
                font-size: 14px;
                line-height: 34px;
                color: var(--text-black);
                transition: 0.15s ease opacity;
            }
                .video-section .top-tags .categories-row a:hover {
                    opacity: 0.5;
                }
    .video-section .left-section {
        width: calc(100% - 310px);
    }
        .video-section .left-section h1 {
            margin: 0 0 5px;
            padding: 0;
        }
        .video-section .left-section .player-container {
            position: relative;
            width: 100%;
            height: 0;
            padding-bottom: 56.25%;
            margin-bottom: 10px;
        }
            .video-section .left-section .player-container iframe,
            .video-section .left-section .player-container video {
                display: block;
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
            }
            .video-section .left-section .player-container #kt_player {
                position: absolute;
            }
    .video-section .right-section {
        position: absolute;
        top: 35px;
        right: 10px;
    }
        .video-section .right-section .side-spots {
        }
            .video-section .right-section .side-spots .spot {
                margin-bottom: 10px;
            }
                .video-section .right-section .side-spots .spot a,
                .video-section .right-section .side-spots .spot img {
                    display: block;
                }

.footer {
    margin-top: 20px;
    padding: 15px 0;
    border-top: 1px solid var(--bg-dark-border);
    background: var(--bg-header-footer);
    font-size: 13px;
    text-align: center;
}
    .footer .width-wrap:after {
        content: '';
        display: block;
        clear: both;
    }
    .footer a {
        text-decoration: underline;
        color: var(--accent-blue);
        cursor: pointer;
    }
        .footer a:hover {
            text-decoration: none;
        }
    .footer .footer-text {
        line-height: 20px;
    }

/* медиа-запросы остаются без изменений */
@media (max-width: 1270px) {
    .thumbs .thumb {
        width: 20%;
    }
}
@media (max-width: 1230px) {
    .spots .spot:nth-child(4) {
        display: none;
    }
}
@media (max-width: 1024px) {
    h1, h2, h3 {
        font-size: 18px;
    }
    .video-section .left-section {
        width: 100%;
    }
    .video-section .right-section {
        display: none;
    }
    .footer {
        padding: 10px 0;
    }
    .footer .footer-text {
        float: none;
        text-align: center;
        margin-bottom: 5px;
    }
    .footer .footer-copyright {
        float: none;
        text-align: center;
        margin-bottom: 5px;
    }
}
/* ... остальные медиа-запросы без изменений ... */

.fluid_video_wrapper {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
}
.fluid_video_wrapper video {
    width: 100% !important;
    height: 100% !important;
}