/*
 * RuDub: дополнительные стили шаблона.
 * Подключать после engine.css и fontawesome.css.
 * Порядок объединённых блоков сохранён для неизменного CSS-каскада.
 */

/* RUDUBPLAYER STAGE 12 — SLIDER EDGE, EXTENDED SEARCH, COMMENTS ALIGNMENT
--------------------------------------------------------------- */
.theme-rudubplayer {
    --r12-service-topbar: rgb(45 45 45);
    --r12-editor-surface: #15161a;
    --r12-editor-toolbar: #202126;
    --r12-editor-text: #f2f2f3;
}
.theme-rudubplayer:not(.dt-is-active) {
    --r12-editor-surface: #dedfe2;
    --r12-editor-toolbar: #d1d2d6;
    --r12-editor-text: #222329;
}

/* Owl иногда оставляет субпиксель соседнего кадра у левой границы. */
.theme-rudubplayer .promo-slider__frame,
.theme-rudubplayer .promo-slider .main-slider,
.theme-rudubplayer .promo-slider .main-slider .owl-stage-outer {
    overflow: hidden !important;
    background-color: #0b0c0f;
}
.theme-rudubplayer .promo-slider__frame {
    contain: paint;
    isolation: isolate;
}
.theme-rudubplayer .promo-slider .main-slider .owl-stage-outer {
    clip-path: inset(0);
    transform: translate3d(0, 0, 0);
}
.theme-rudubplayer .promo-slider .main-slider .owl-item {
    overflow: hidden;
    background-color: #0b0c0f;
    backface-visibility: hidden;
    transform: translateZ(0);
}
.theme-rudubplayer .promo-slider__frame::before {
    position: absolute;
    z-index: 8;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: linear-gradient(90deg, #07080b 0%, #07080b 66%, rgba(7,8,11,.86) 100%);
    content: '';
    pointer-events: none;
}

/* Служебные страницы: цельная статичная панель и только нижняя грань. */
.theme-rudubplayer .wrapper__main-page:not(.wrapper__main-page--home):not(.wrapper__main-page--fullstory) > .header:not(.header--scrolled) {
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    background: var(--r12-service-topbar) !important;
    background-clip: border-box;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.theme-rudubplayer .wrapper__main-page:not(.wrapper__main-page--home):not(.wrapper__main-page--fullstory) > .header:not(.header--scrolled)::before,
.theme-rudubplayer .wrapper__main-page:not(.wrapper__main-page--home):not(.wrapper__main-page--fullstory) > .header:not(.header--scrolled)::after {
    content: none;
}

/* Расширенный поиск. */
.theme-rudubplayer .search-page__ext-form {
    align-items: stretch;
    gap: 16px;
}
.theme-rudubplayer .search-page__ext-form-row {
    min-width: 0;
    padding: 17px;
    border-color: rgba(255,255,255,.105);
    background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.025));
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.theme-rudubplayer .search-page__ext-form-row:focus-within {
    border-color: rgba(247,148,30,.42);
    background: linear-gradient(145deg, rgba(247,148,30,.065), rgba(255,255,255,.025));
    box-shadow: 0 0 0 3px rgba(247,148,30,.055);
}
.theme-rudubplayer .search-page__ext-form-label {
    margin-bottom: 10px;
    color: var(--tt-fade);
    font-size: 13px;
    line-height: 1.3;
}
.theme-rudubplayer .search-page__ext-form-content,
.theme-rudubplayer .search-page__ext-form-content > *,
.theme-rudubplayer .search-page__ext-form-control {
    min-width: 0;
}
.theme-rudubplayer .search-page__ext-form-content.d-flex {
    align-items: center;
    gap: 10px;
}
.theme-rudubplayer .search-page__ext-form-content--view {
    min-height: 44px;
    gap: 20px !important;
}
.theme-rudubplayer .search-page__ext-form input[type="text"],
.theme-rudubplayer .search-page__ext-form input[type="search"],
.theme-rudubplayer .search-page__ext-form select:not([multiple]) {
    height: 44px;
    border-color: rgba(255,255,255,.12);
    background-color: rgba(255,255,255,.075);
    color: var(--tt);
    box-shadow: none;
}
.theme-rudubplayer .search-page__ext-form input[type="text"]:focus,
.theme-rudubplayer .search-page__ext-form input[type="search"]:focus,
.theme-rudubplayer .search-page__ext-form select:focus {
    outline: 0;
    border-color: rgba(247,148,30,.58);
    box-shadow: 0 0 0 3px rgba(247,148,30,.08);
}
.theme-rudubplayer .search-page__ext-form-row--category select[multiple] {
    height: 140px;
    padding: 6px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background-color: rgba(12,13,16,.46);
    background-image: none !important;
    color: var(--tt);
    box-shadow: none;
    scrollbar-color: rgba(247,148,30,.50) rgba(255,255,255,.04);
    scrollbar-width: thin;
}
.theme-rudubplayer .search-page__ext-form-row--category select[multiple] option {
    min-height: 30px;
    padding: 7px 10px;
    border-radius: 7px;
    background: #343539;
    color: var(--tt) !important;
}
.theme-rudubplayer .search-page__ext-form-row--category select[multiple] option + option {margin-top: 2px;}
.theme-rudubplayer .search-page__ext-form-row--category select[multiple] option:checked {
    background: linear-gradient(110deg, #f7941e, #f16222);
    color: #fff !important;
}
.theme-rudubplayer .search-page__ext-form-row--category select[multiple]::-webkit-scrollbar {width: 7px;}
.theme-rudubplayer .search-page__ext-form-row--category select[multiple]::-webkit-scrollbar-track {background: rgba(255,255,255,.04);}
.theme-rudubplayer .search-page__ext-form-row--category select[multiple]::-webkit-scrollbar-thumb {
    border-radius: 7px;
    background: rgba(247,148,30,.50);
}
.theme-rudubplayer .search-page__ext-form-row--btns {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.theme-rudubplayer .search-page__ext-form-row--btns input {
    width: 100%;
    min-width: 0;
    height: 46px;
    margin: 0;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;
    box-shadow: none;
    transform: none !important;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}
.theme-rudubplayer .search-page__ext-form-row--btns .search-page__btn-search {
    border-color: transparent;
    background: var(--r4-button-primary);
    box-shadow: 0 8px 20px rgba(241,98,34,.18);
    color: #fff;
}
.theme-rudubplayer .search-page__ext-form-row--btns .btn-secondary {
    background: rgba(255,255,255,.075);
    color: var(--tt);
}
.theme-rudubplayer .search-page__ext-form-row--btns input:hover,
.theme-rudubplayer .search-page__ext-form-row--btns input:focus-visible {
    border-color: rgba(247,148,30,.42);
    background-color: rgba(247,148,30,.12);
    color: #fff;
    transform: translateY(-1px) !important;
}
.theme-rudubplayer .search-page__ext-form-row--btns .search-page__btn-search:hover,
.theme-rudubplayer .search-page__ext-form-row--btns .search-page__btn-search:focus-visible {
    border-color: transparent;
    background: var(--r4-button-primary-hover);
    box-shadow: 0 11px 25px rgba(241,98,34,.27);
}
.theme-rudubplayer .search-page__ext-form-row--btns input:active {transform: translateY(0) !important;}

/* Комментарии занимают тот же трек, что и панель плеера, и остаются слева. */
.theme-rudubplayer .content--fullstory {
    --r12-player-aside: 385px;
    --r12-player-gap: 18px;
    --r12-fullstory-inline: 36px;
}
.theme-rudubplayer .content--fullstory .page__comments {
    box-sizing: border-box;
    width: calc(100% - var(--r12-fullstory-inline) - var(--r12-player-aside) - var(--r12-player-gap));
    max-width: none;
    margin: 0 auto 28px 18px;
}
.theme-rudubplayer .content--fullstory .page__comments-list .comm__ctrl {min-width: 0;}
.theme-rudubplayer .content--fullstory .page__comments-list .comm__ctrl .comm__ip {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto;
    min-width: max-content !important;
    height: 28px;
    padding: 0 9px;
    border-radius: 999px !important;
    white-space: nowrap;
    line-height: 1;
}

/* DLE генерирует редактор во время выполнения: перекрываем все его поверхности. */
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .bb-editor,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-box,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-wrapper,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-edit-area {
    background: var(--r12-editor-surface) !important;
    color: var(--r12-editor-text) !important;
}
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .bb-pane,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-second-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-toolbar__primary {
    background: var(--r12-editor-toolbar) !important;
    color: var(--r12-editor-text) !important;
}
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor #comments,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor [contenteditable="true"],
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-element,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .wysibb-text,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .mce-content-body {
    background: var(--r12-editor-surface) !important;
    background-image: none !important;
    color: var(--r12-editor-text) !important;
    caret-color: var(--accent-violet);
    color-scheme: dark;
}
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor iframe {
    background: var(--r12-editor-surface) !important;
    color-scheme: dark;
}

@media screen and (max-width: 1220px) {
    .theme-rudubplayer .content--fullstory {--r12-player-aside: 330px;}
}

@media screen and (max-width: 950px) {
    .theme-rudubplayer .content--fullstory {
        --r12-player-aside: 0px;
        --r12-player-gap: 0px;
    }
}

@media screen and (max-width: 760px) {
    .theme-rudubplayer .content--fullstory {--r12-fullstory-inline: 24px;}
    .theme-rudubplayer .content--fullstory .page__comments {margin-left: 12px;}
}

@media screen and (max-width: 680px) {
    .theme-rudubplayer .search-page__ext-form-row--btns {grid-template-columns: minmax(0, 1fr);}
    .theme-rudubplayer .search-page__ext-form-content.d-flex:not(.search-page__ext-form-content--view) {
        align-items: stretch;
        flex-direction: column;
    }
    .theme-rudubplayer .search-page__ext-form-content--view {flex-wrap: wrap;}
}

@media screen and (max-width: 590px) {
    .theme-rudubplayer .content--fullstory .page__comments-list .comm__ctrl {
        flex-wrap: wrap;
        row-gap: 7px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .search-page__ext-form-row,
    .theme-rudubplayer .search-page__ext-form-row--btns input {transition: none;}
}

/* RUDUBPLAYER STAGE 13 — BALANCED NAV, DARK EDITOR AND NATIVE SELECTS
---------------------------------------------------------------- */
.theme-rudubplayer {
    --r13-editor-surface: #15161a;
    --r13-editor-toolbar: #202126;
    --r13-editor-text: #f2f2f3;
    --r13-editor-icon: #d3d6dd;
    --r13-option-surface: #303136;
    --r13-option-text: #f2f2f3;
}

/* Пока desktop-навигация видна, свободные промежутки с двух её сторон равны. */
@media screen and (min-width: 1221px) {
    .theme-rudubplayer .wrapper__main-page > .header {
        grid-template-columns: max-content minmax(12px, 1fr) max-content minmax(12px, 1fr) max-content;
        column-gap: 0;
    }
    .theme-rudubplayer .wrapper__main-page > .header > .header__logo {
        grid-column: 1;
        justify-self: start;
    }
    .theme-rudubplayer .wrapper__main-page > .header > .header__nav {
        grid-column: 3;
        justify-self: center;
        min-width: 0;
    }
    .theme-rudubplayer .wrapper__main-page > .header > .header__right {
        grid-column: 5;
        justify-self: end;
        min-width: 0;
    }
}

/* Нативные popup-списки получают тёмную системную палитру вместо белой. */
.theme-rudubplayer .search-page__ext-form select,
.theme-rudubplayer .content--fullstory .page__comments .mass_comments_action select {
    color-scheme: dark;
}
.theme-rudubplayer .search-page__ext-form select option,
.theme-rudubplayer .search-page__ext-form select optgroup,
.theme-rudubplayer .content--fullstory .page__comments .mass_comments_action select option,
.theme-rudubplayer .content--fullstory .page__comments .mass_comments_action select optgroup {
    background-color: var(--r13-option-surface) !important;
    color: var(--r13-option-text) !important;
}

/* Высокая карточка разделов теперь заполнена списком, без пустой нижней зоны. */
.theme-rudubplayer .search-page__ext-form-row--category {
    display: flex;
    flex-direction: column;
}
.theme-rudubplayer .search-page__ext-form-row--category .search-page__ext-form-content {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}
.theme-rudubplayer .search-page__ext-form-row--category select[multiple] {
    flex: 1 1 auto;
    width: 100%;
    height: 100% !important;
    min-height: 202px;
}

/* Поле комментария и панели всех поддерживаемых DLE-редакторов. */
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .bb-editor,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .wseditor,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-box,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-wrapper,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .cke_contents,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-edit-area,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .mce-edit-area,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .redactor-layer {
    background: var(--r13-editor-surface) !important;
    background-image: none !important;
    color: var(--r13-editor-text) !important;
    color-scheme: dark;
}
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea#comments,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea[name="comments"],
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor [contenteditable="true"],
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-element,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-view,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .wysibb-text,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .mce-content-body,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .cke_editable {
    background: var(--r13-editor-surface) !important;
    background-image: none !important;
    color: var(--r13-editor-text) !important;
    caret-color: var(--accent-violet) !important;
    color-scheme: dark;
}
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor iframe,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor iframe.wysihtml5-sandbox,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor iframe.cke_wysiwyg_frame {
    background: var(--r13-editor-surface) !important;
    background-color: var(--r13-editor-surface) !important;
    color-scheme: dark;
}

/* Контрастные кнопки BB-панели и её собственные выпадающие меню. */
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-second-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-toolbar__primary {
    background: var(--r13-editor-toolbar) !important;
    color: var(--r13-editor-icon) !important;
}
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"] {
    color: var(--r13-editor-icon) !important;
    opacity: 1 !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.45);
}
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn::before,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"]::before {
    color: currentColor !important;
    opacity: 1 !important;
}
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn:hover,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn:focus-visible,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"]:hover,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"]:focus-visible {
    border-color: rgba(247,148,30,.34);
    background: rgba(247,148,30,.14);
    color: #fff !important;
}
.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown {
    color-scheme: dark;
    background: var(--r13-option-surface) !important;
    color: var(--r13-option-text) !important;
}

/* Панель массовых действий остаётся слева и не растягивает select на всю строку. */
.theme-rudubplayer .content--fullstory .page__comments .mass_comments_action {
    justify-content: flex-start;
}
.theme-rudubplayer .content--fullstory .page__comments .mass_comments_action select {
    flex: 0 1 440px !important;
    width: min(440px, 100%);
    min-width: 260px;
    max-width: 440px;
    background-color: var(--r13-option-surface) !important;
    color: var(--r13-option-text) !important;
}
.theme-rudubplayer .content--fullstory .page__comments .mass_comments_action .bbcodes {
    flex: 0 0 auto;
}

@media screen and (max-width: 680px) {
    .theme-rudubplayer .content--fullstory .page__comments .mass_comments_action select {
        flex-basis: 100% !important;
        width: 100%;
        min-width: 0;
        max-width: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn {transition: none;}
}

/* RUDUBPLAYER STAGE 19 — LIGHTER COMMENT EDITOR AND READABLE BB TOOLBAR
------------------------------------------------------------------ */
.theme-rudubplayer {
    --r19-editor-surface: #32343a;
    --r19-editor-toolbar: #45474e;
    --r19-editor-text: #f4f4f5;
    --r19-editor-icon: #f0f1f4;
    --r19-editor-placeholder: #aeb1b9;
    --r19-editor-divider: rgba(255,255,255,.17);

    /* Оба прежних обработчика динамического DLE-редактора читают эти
       переменные. Одинаковые значения исключают возврат к чёрному фону. */
    --r11-comment-editor: var(--r19-editor-surface);
    --r11-comment-toolbar: var(--r19-editor-toolbar);
    --r12-editor-surface: var(--r19-editor-surface);
    --r12-editor-toolbar: var(--r19-editor-toolbar);
    --r12-editor-text: var(--r19-editor-text);
    --r13-editor-surface: var(--r19-editor-surface);
    --r13-editor-toolbar: var(--r19-editor-toolbar);
    --r13-editor-text: var(--r19-editor-text);
    --r13-editor-icon: var(--r19-editor-icon);
}

.theme-rudubplayer:not(.dt-is-active) {
    --r19-editor-surface: #f0f1f3;
    --r19-editor-toolbar: #dfe1e5;
    --r19-editor-text: #24262b;
    --r19-editor-icon: #454850;
    --r19-editor-placeholder: #71757e;
    --r19-editor-divider: rgba(18,20,25,.16);
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form {
    background:
        linear-gradient(145deg, rgba(255,255,255,.052), rgba(255,255,255,.027));
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor {
    border-color: var(--r19-editor-divider) !important;
    background: var(--r19-editor-surface) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-second-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-toolbar__primary,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .mce-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .cke_top {
    border-color: var(--r19-editor-divider) !important;
    background: var(--r19-editor-toolbar) !important;
    background-color: var(--r19-editor-toolbar) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"],
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn::before,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"]::before {
    color: var(--r19-editor-icon) !important;
    -webkit-text-fill-color: var(--r19-editor-icon) !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.22) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn:hover,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn:focus-visible,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"]:hover,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"]:focus-visible {
    border-color: rgba(247,148,30,.48) !important;
    background: rgba(247,148,30,.18) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea#comments,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea[name="comments"],
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor [contenteditable="true"],
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-element,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-view,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .wysibb-text,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .mce-content-body,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .cke_editable {
    background: var(--r19-editor-surface) !important;
    background-color: var(--r19-editor-surface) !important;
    color: var(--r19-editor-text) !important;
    caret-color: var(--accent-violet) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea::placeholder {
    color: var(--r19-editor-placeholder) !important;
    opacity: 1;
}

.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown {
    border-color: var(--r19-editor-divider) !important;
    background: var(--r19-editor-toolbar) !important;
    color: var(--r19-editor-text) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.26) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown > li > a {
    color: var(--r19-editor-text) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown > li > a:hover,
.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown > li > a:focus {
    background: rgba(247,148,30,.16) !important;
    color: #fff !important;
}


/* RUDUBPLAYER STAGE 20 — UNIFIED LIGHT COMMENT EDITOR SURFACE
--------------------------------------------------------- */
.theme-rudubplayer {
    --r20-editor-surface: #4a4c52;
    --r20-editor-border: #35373c;
    --r20-editor-text: #ffffff;
    --r20-editor-icon: #f8f8fa;
    --r20-editor-placeholder: #c7c9ce;

    /* Синхронизируем цвета со всеми ранее подключёнными обработчиками DLE. */
    --r11-comment-editor: var(--r20-editor-surface);
    --r11-comment-toolbar: var(--r20-editor-surface);
    --r12-editor-surface: var(--r20-editor-surface);
    --r12-editor-toolbar: var(--r20-editor-surface);
    --r12-editor-text: var(--r20-editor-text);
    --r13-editor-surface: var(--r20-editor-surface);
    --r13-editor-toolbar: var(--r20-editor-surface);
    --r13-editor-text: var(--r20-editor-text);
    --r13-editor-icon: var(--r20-editor-icon);
}

.theme-rudubplayer:not(.dt-is-active) {
    --r20-editor-surface: #eef0f3;
    --r20-editor-border: #c9ccd2;
    --r20-editor-text: #22242a;
    --r20-editor-icon: #363941;
    --r20-editor-placeholder: #6e727b;
}

/* Поле и панель инструментов образуют одну поверхность; разделение даёт
   только более тёмная внешняя рамка и линия между панелью и textarea. */
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .bb-editor,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .wseditor,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-box,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-wrapper,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .cke_contents,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-edit-area,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .mce-edit-area,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .redactor-layer {
    background: var(--r20-editor-surface) !important;
    background-color: var(--r20-editor-surface) !important;
    background-image: none !important;
    color: var(--r20-editor-text) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor {
    border: 1px solid var(--r20-editor-border) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.10) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor:focus-within {
    border-color: #3b3c40 !important;
    box-shadow: 0 0 0 1px rgba(247,148,30,.20), 0 10px 28px rgba(0,0,0,.12) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-second-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-toolbar__primary,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .mce-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .cke_top {
    border: 0 !important;
    border-bottom: 1px solid var(--r20-editor-border) !important;
    background: var(--r20-editor-surface) !important;
    background-color: var(--r20-editor-surface) !important;
    background-image: none !important;
    color: var(--r20-editor-icon) !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"],
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn::before,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"]::before {
    color: var(--r20-editor-icon) !important;
    -webkit-text-fill-color: var(--r20-editor-icon) !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.30) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn:hover,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane .bb-btn:focus-visible,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"]:hover,
.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane [id^="b_"]:focus-visible {
    border-color: rgba(247,148,30,.62) !important;
    background: rgba(247,148,30,.22) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea#comments,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea[name="comments"],
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor [contenteditable="true"],
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-element,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-view,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .wysibb-text,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .mce-content-body,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .cke_editable {
    border: 0 !important;
    background: var(--r20-editor-surface) !important;
    background-color: var(--r20-editor-surface) !important;
    background-image: none !important;
    color: var(--r20-editor-text) !important;
    caret-color: var(--accent-violet) !important;
    box-shadow: none !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor iframe,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor iframe.wysihtml5-sandbox,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor iframe.cke_wysiwyg_frame {
    border: 0 !important;
    background: var(--r20-editor-surface) !important;
    background-color: var(--r20-editor-surface) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea::placeholder {
    color: var(--r20-editor-placeholder) !important;
    opacity: 1 !important;
}

.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown {
    border: 1px solid var(--r20-editor-border) !important;
    background: var(--r20-editor-surface) !important;
    color: var(--r20-editor-text) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.30) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown > li > a {
    color: var(--r20-editor-text) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown > li > a:hover,
.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown > li > a:focus {
    background: rgba(247,148,30,.19) !important;
    color: #fff !important;
}


/* RUDUBPLAYER STAGE 21 — LIGHTER UNIFIED COMMENT EDITOR
-------------------------------------------------- */
.theme-rudubplayer {
    --r21-editor-surface: #74777f;
    --r21-editor-border: #54575e;
    --r21-editor-text: #ffffff;
    --r21-editor-icon: #ffffff;
    --r21-editor-placeholder: #e4e5e8;

    /* Поздние DLE-обработчики читают переменные прежних этапов. */
    --r11-comment-editor: var(--r21-editor-surface);
    --r11-comment-toolbar: var(--r21-editor-surface);
    --r12-editor-surface: var(--r21-editor-surface);
    --r12-editor-toolbar: var(--r21-editor-surface);
    --r12-editor-text: var(--r21-editor-text);
    --r13-editor-surface: var(--r21-editor-surface);
    --r13-editor-toolbar: var(--r21-editor-surface);
    --r13-editor-text: var(--r21-editor-text);
    --r13-editor-icon: var(--r21-editor-icon);
}

.theme-rudubplayer:not(.dt-is-active) {
    --r21-editor-surface: #eef0f3;
    --r21-editor-border: #c8cbd1;
    --r21-editor-text: #22242a;
    --r21-editor-icon: #353841;
    --r21-editor-placeholder: #6d717a;
}

/* Textarea и BB-панель — одна светлая поверхность. */
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .bb-editor,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .wseditor,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-box,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-wrapper,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .cke_contents,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-edit-area,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .mce-edit-area,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .redactor-layer,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea#comments,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea[name="comments"],
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor [contenteditable="true"],
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-element,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-view,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .wysibb-text,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .mce-content-body,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .cke_editable {
    background: var(--r21-editor-surface) !important;
    background-color: var(--r21-editor-surface) !important;
    background-image: none !important;
    color: var(--r21-editor-text) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor {
    border: 1px solid var(--r21-editor-border) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.10) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor:focus-within {
    border-color: #4b4e55 !important;
    box-shadow: 0 0 0 1px rgba(247,148,30,.24), 0 10px 28px rgba(0,0,0,.12) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form .bb-pane,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .fr-second-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .tox-toolbar__primary,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .mce-toolbar,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor .cke_top {
    border: 0 !important;
    border-bottom: 1px solid var(--r21-editor-border) !important;
    background: var(--r21-editor-surface) !important;
    background-color: var(--r21-editor-surface) !important;
    background-image: none !important;
    color: var(--r21-editor-icon) !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

/* Глифы bb-editor-font высветляются независимо от цвета, который задаёт DLE. */
.theme-rudubplayer.dt-is-active .content--fullstory .page__comments .bb-pane .bb-btn,
.theme-rudubplayer.dt-is-active .content--fullstory .page__comments .bb-pane [id^="b_"] {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
}

.theme-rudubplayer.dt-is-active .content--fullstory .page__comments .bb-pane .bb-btn::before,
.theme-rudubplayer.dt-is-active .content--fullstory .page__comments .bb-pane [id^="b_"]::before {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
    mix-blend-mode: normal !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.28) !important;
}

.theme-rudubplayer.dt-is-active .content--fullstory .page__comments .bb-pane .bb-btn > *,
.theme-rudubplayer.dt-is-active .content--fullstory .page__comments .bb-pane [id^="b_"] > * {
    color: #fff !important;
    fill: #fff !important;
    stroke: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
}

.theme-rudubplayer .content--fullstory .page__comments .bb-pane .bb-btn:hover,
.theme-rudubplayer .content--fullstory .page__comments .bb-pane .bb-btn:focus-visible,
.theme-rudubplayer .content--fullstory .page__comments .bb-pane [id^="b_"]:hover,
.theme-rudubplayer .content--fullstory .page__comments .bb-pane [id^="b_"]:focus-visible {
    border-color: rgba(247,148,30,.72) !important;
    background: rgba(247,148,30,.30) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor [contenteditable="true"] {
    border: 0 !important;
    box-shadow: none !important;
    caret-color: #fff !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor textarea::placeholder {
    color: var(--r21-editor-placeholder) !important;
    opacity: 1 !important;
}

.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor iframe,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor iframe.wysihtml5-sandbox,
.theme-rudubplayer .content--fullstory .page__comments .ac-form__editor iframe.cke_wysiwyg_frame {
    border: 0 !important;
    background: var(--r21-editor-surface) !important;
    background-color: var(--r21-editor-surface) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown {
    border: 1px solid var(--r21-editor-border) !important;
    background: var(--r21-editor-surface) !important;
    color: var(--r21-editor-text) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.28) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown > li > a {
    color: var(--r21-editor-text) !important;
}

.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown > li > a:hover,
.theme-rudubplayer .content--fullstory .page__comments .bb-pane-dropdown > li > a:focus {
    background: rgba(247,148,30,.24) !important;
    color: #fff !important;
}

/* RUDUBPLAYER STAGE 22 — STABLE FIRST HERO FRAME
------------------------------------------------ */

/* Первый кадр сразу выводится в том же масштабе, который получит активный
   Owl-слайд. Во время перестройки DOM переход выключен, поэтому картинка
   больше не делает короткий скачок при загрузке или перезагрузке страницы. */
.theme-rudubplayer .promo-slider #main-slider.main-slider--preparing > .bslide:first-child .bslide__img img,
.theme-rudubplayer .promo-slider #main-slider.main-slider--preparing .owl-item.active .bslide__img img {
    transform: scale(1.045);
    transition: none;
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .promo-slider #main-slider .bslide__img img,
    .theme-rudubplayer .promo-slider #main-slider.main-slider--preparing > .bslide:first-child .bslide__img img,
    .theme-rudubplayer .promo-slider #main-slider.main-slider--preparing .owl-item.active .bslide__img img {
        transform: none;
        transition: none;
    }
}

/* RUDUBPLAYER STAGE 23 — SWITCHABLE RELEASE RAIL / GRID
--------------------------------------------------- */

/* Переключатель вида в заголовке «Новинки RuDub». */
.theme-rudubplayer .release-view-switch {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 36px;
    margin-left: auto;
    padding: 3px;
    border: 1px solid var(--bdc);
    border-radius: 999px;
    background: var(--r3-surface);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.theme-rudubplayer .release-view-switch__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 28px;
    gap: 6px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
    color: var(--tt-fade);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    transform: none;
}

.theme-rudubplayer .release-view-switch__btn:hover,
.theme-rudubplayer .release-view-switch__btn:focus-visible {
    border: 0;
    background: rgba(247,148,30,.14);
    box-shadow: none;
    color: var(--tt);
    transform: none;
}

.theme-rudubplayer .release-view-switch__btn.is-active,
.theme-rudubplayer .release-view-switch__btn[aria-pressed="true"] {
    background: var(--accent-violet);
    box-shadow: 0 5px 14px rgba(247,148,30,.22);
    color: #fff;
}

.theme-rudubplayer .release-view-switch__icon {font-size: 12px;}

/* Любое значение, кроме switch="on", скрывает управление ещё до выполнения JS. */
.theme-rudubplayer .release-catalog-section:has(.release-feed:not([data-release-view-switch="on"])) .release-view-switch {
    display: none;
}

/* GRID: даты сохраняются, но карточки переносятся на следующие строки. */
.theme-rudubplayer .release-feed {
    --r23-release-grid-columns: 5;
}

.theme-rudubplayer .release-feed[data-release-view="grid"] .release-day__controls {
    display: none;
}

.theme-rudubplayer .release-feed[data-release-view="grid"] .release-day__grid {
    display: grid;
    grid-template-columns: repeat(var(--r23-release-grid-columns), minmax(0, 1fr));
    grid-auto-columns: initial;
    grid-auto-flow: row;
    gap: 24px 20px;
    overflow: visible;
    padding: 6px 3px 8px;
    scroll-behavior: auto;
    scroll-padding: 0;
    scroll-snap-type: none;
    overscroll-behavior: auto;
}

.theme-rudubplayer .release-feed[data-release-view="grid"] .release-day__grid > .poster {
    min-width: 0;
    scroll-snap-align: none;
}

@media screen and (max-width: 1390px) {
    .theme-rudubplayer .release-feed {--r23-release-grid-columns: 4;}
}

@media screen and (max-width: 1060px) {
    .theme-rudubplayer .release-feed {--r23-release-grid-columns: 3;}
}

@media screen and (max-width: 760px) {
    .theme-rudubplayer .release-feed {--r23-release-grid-columns: 2;}
    .theme-rudubplayer .release-view-switch {min-height: 32px;}
    .theme-rudubplayer .release-view-switch__btn {height: 24px; padding: 0 8px; font-size: 10px;}
}

@media screen and (max-width: 590px) {
    .theme-rudubplayer .release-catalog-section .sect__heading {flex: 1 0 100%;}
    .theme-rudubplayer .release-catalog-section .release-view-switch {margin-left: 0;}
}

@media screen and (max-width: 430px) {
    .theme-rudubplayer .release-feed {--r23-release-grid-columns: 1;}
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .release-view-switch__btn {transition: none;}
}

/* QUICK SEARCH — широкая панель, выровненная по правому краю поля поиска. */
.theme-rudubplayer #searchsuggestions {
    width: min(420px, calc(100vw - 24px)) !important;
}

/* DLE добавляет эту ссылку автоматически; расширенный поиск на сайте отключён. */
.theme-rudubplayer #searchsuggestions span.seperator {
    display: none !important;
}

.theme-rudubplayer #searchsuggestions {
    display: none !important;
}

.theme-rudubplayer #searchsuggestions .fast-search-result,
.theme-rudubplayer #searchsuggestions > a {
    min-height: 46px;
    padding: 9px 15px 9px 34px;
}

.theme-rudubplayer #searchsuggestions .fast-search-result::before,
.theme-rudubplayer #searchsuggestions > a::before {
    left: 15px;
    width: 6px;
    height: 6px;
    box-shadow: 0 0 0 4px rgba(247,148,30,.09);
}

.theme-rudubplayer #searchsuggestions .searchheading {
    font-size: 13px;
    line-height: 1.3;
}

.theme-rudubplayer #searchsuggestions > .fast-search-result:last-of-type {
    border-bottom: 0;
}

@media screen and (max-width: 480px) {
    .theme-rudubplayer #searchsuggestions {
        width: calc(100vw - 16px) !important;
    }
}

/* ANNOUNCEMENTS — только лейбл; рамка зарезервирована для dubbing=1. */
.theme-rudubplayer .poster__announcement-label {
    position: absolute;
    z-index: 4;
    top: 10px;
    right: 10px;
    padding: 5px 9px;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 999px;
    background: linear-gradient(110deg, #f7941e, #f16222);
    box-shadow: 0 5px 16px rgba(0,0,0,.24);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .055em;
}

.theme-rudubplayer .poster__img--dubbing::before {
    position: absolute;
    z-index: 4;
    inset: 0;
    border: 3px solid var(--bg-dub);
    border-radius: inherit;
    content: '';
    pointer-events: none;
}

/* В компактном домашнем блоке сам контекст уже обозначает анонсы. */
.theme-rudubplayer .home-announcements__grid .poster__announcement-label {
    display: none !important;
}

/* В каталогах дата анонса располагается над названием карточки. */
.theme-rudubplayer .catalog-page .poster__anonsdate {
    display: block;
    margin-bottom: 7px;
    overflow: hidden;
    color: var(--accent-violet);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-rudubplayer .catalog-page .poster__anonsdate span {
    margin-right: 5px;
    color: var(--tt-fade);
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.theme-rudubplayer .catalog-page .poster__anonsdate--soon {
    color: var(--tt-fade);
}

/* Fullstory: базовый margin-top правой колонки не должен попадать в overview-grid. */
.theme-rudubplayer .content--fullstory .page__overview {
    align-items: start;
}

.theme-rudubplayer .content--fullstory .page__overview > .page__cols-right {
    margin-top: 0;
}

/* Fullstory: видимая информация об анонсе сразу под названием релиза. */
.theme-rudubplayer .content--fullstory .page__announcement {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 7px 0 9px;
    color: var(--accent-violet);
    font-size: clamp(13px, .9vw, 16px);
    font-weight: 700;
    line-height: 1.35;
}

.theme-rudubplayer .content--fullstory .page__announcement-label {
    padding: 3px 8px;
    border: 1px solid rgba(247, 148, 30, .55);
    border-radius: 999px;
    background: rgba(247, 148, 30, .14);
    font-size: 11px;
    letter-spacing: .06em;
    line-height: 1.25;
}

.theme-rudubplayer .content--fullstory .page__announcement-separator {
    opacity: .65;
}

.theme-rudubplayer .content--fullstory .page__announcement-date strong {
    color: inherit;
    font-weight: 700;
}

@media screen and (max-width: 950px) {
    .theme-rudubplayer .content--fullstory .page__announcement {
        justify-content: center;
    }
}

/* STAGE 35 — компактный центр официальных ресурсов под главным слайдером. */
.theme-rudubplayer .rudub-hub {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(280px, 1.15fr) minmax(220px, .85fr);
    gap: 1px;
    overflow: hidden;
    margin: 0 0 34px;
    padding: 1px;
    border-radius: 18px;
    background: var(--r4-border);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .14);
}

.theme-rudubplayer .rudub-hub::before {
    position: absolute;
    z-index: -1;
    inset: -55% auto auto -8%;
    width: 350px;
    height: 190px;
    border-radius: 50%;
    background: rgba(247, 148, 30, .30);
    content: '';
    filter: blur(72px);
    pointer-events: none;
}

.theme-rudubplayer .rudub-hub::after {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 18%;
    left: 18%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(247, 148, 30, .92), transparent);
    content: '';
    pointer-events: none;
}

.theme-rudubplayer .rudub-hub__panel {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 132px;
    padding: clamp(15px, 1.2vw, 20px);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012)),
        var(--bg-darker);
}

.theme-rudubplayer .rudub-hub__domain {
    background:
        radial-gradient(circle at 8% 5%, rgba(247, 148, 30, .16), transparent 47%),
        linear-gradient(145deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .012)),
        var(--bg-darker);
}

.theme-rudubplayer .rudub-hub__kicker {
    display: flex;
    align-items: center;
    min-height: 16px;
    gap: 7px;
    margin-bottom: 5px;
    color: var(--accent-violet);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    line-height: 1.3;
    text-transform: uppercase;
}

.theme-rudubplayer .rudub-hub__status-dot {
    position: relative;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #47d16c;
    box-shadow: 0 0 0 4px rgba(71, 209, 108, .11), 0 0 14px rgba(71, 209, 108, .48);
}

.theme-rudubplayer .rudub-hub__status-dot::after {
    position: absolute;
    inset: -5px;
    border: 1px solid rgba(71, 209, 108, .48);
    border-radius: inherit;
    animation: rudubHubSignal 2.2s ease-out infinite;
    content: '';
}

@keyframes rudubHubSignal {
    0% {opacity: .75; transform: scale(.55);}
    70%, 100% {opacity: 0; transform: scale(1.65);}
}

.theme-rudubplayer .rudub-hub__title {
    margin: 0;
    color: var(--tt);
    font-family: 'Roboto Condensed', Arial, sans-serif;
    font-size: clamp(21px, 1.45vw, 25px);
    font-weight: 700;
    line-height: 1.08;
}

.theme-rudubplayer .rudub-hub__text {
    max-width: 430px;
    margin: 5px 0 10px;
    color: var(--tt-fade);
    font-size: 11px;
    line-height: 1.4;
}

.theme-rudubplayer .rudub-hub__domain-actions {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 6px;
}

.theme-rudubplayer .rudub-hub__domain-link,
.theme-rudubplayer .rudub-hub__bot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    gap: 7px;
    border: 1px solid rgba(247, 148, 30, .34);
    border-radius: 999px;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.theme-rudubplayer .rudub-hub__domain-link {
    padding: 0 13px;
    background: rgba(247, 148, 30, .12);
    color: #ffad48;
    font-size: clamp(13px, .9vw, 15px);
    font-weight: 700;
    letter-spacing: .015em;
}

.theme-rudubplayer .rudub-hub__domain-link .fal {font-size: 11px; opacity: .72;}

.theme-rudubplayer .rudub-hub__bot {
    padding: 0 11px;
    background: rgba(34, 158, 217, .12);
    color: rgba(218, 242, 255, .82);
    font-size: 10px;
    font-weight: 700;
}

.theme-rudubplayer .rudub-hub__domain-link:hover,
.theme-rudubplayer .rudub-hub__domain-link:focus-visible,
.theme-rudubplayer .rudub-hub__bot:hover,
.theme-rudubplayer .rudub-hub__bot:focus-visible {
    border-color: rgba(247, 148, 30, .72);
    background: rgba(247, 148, 30, .20);
    box-shadow: 0 8px 20px rgba(241, 98, 34, .14);
    color: #fff;
    transform: translateY(-1px);
}

.theme-rudubplayer .rudub-hub__digest {
    display: flex;
    align-items: center;
    gap: 12px;
}

.theme-rudubplayer .rudub-hub__digest-icon {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(247, 148, 30, .28);
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(247, 148, 30, .22), rgba(241, 98, 34, .08));
    box-shadow: inset 0 1px rgba(255, 255, 255, .08), 0 12px 26px rgba(0, 0, 0, .14);
    color: var(--accent-violet);
    font-size: 17px;
}

.theme-rudubplayer .rudub-hub__digest-body {min-width: 0; flex: 1 1 auto;}
.theme-rudubplayer .rudub-hub__title--digest {font-size: clamp(19px, 1.3vw, 23px);}

.theme-rudubplayer .rudub-hub__digest-hint {
    margin-top: 4px;
    color: var(--tt-fade);
    font-size: 10px;
    line-height: 1.35;
}

.theme-rudubplayer .rudub-hub__digest-slot {
    margin-top: 7px;
    color: var(--tt-fade);
    font-size: 11px;
    line-height: 1.35;
}

.theme-rudubplayer .rudub-hub__digest-slot a {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    gap: 8px;
    color: #ffad48;
    font-weight: 700;
    text-decoration: none;
}

.theme-rudubplayer .rudub-hub__digest-slot a::after {
    font-family: 'Font Awesome 5 Pro';
    font-size: 10px;
    font-weight: 300;
    content: '\f061';
    transition: transform .2s ease;
}

.theme-rudubplayer .rudub-hub__digest-slot a:hover {color: #fff;}
.theme-rudubplayer .rudub-hub__digest-slot a:hover::after {transform: translateX(4px);}
.theme-rudubplayer .rudub-hub__digest-slot img {display: block; max-width: 100%; max-height: 42px; width: auto; height: auto; border-radius: 9px; object-fit: contain;}

.theme-rudubplayer .rudub-hub__socials {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.theme-rudubplayer .rudub-hub__title--socials {font-size: clamp(19px, 1.25vw, 22px);}

.theme-rudubplayer .rudub-hub__social-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 10px;
}

.theme-rudubplayer .rudub-hub__social {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 34px;
    gap: 6px;
    padding: 0 8px;
    border: 1px solid var(--r4-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, .035);
    color: var(--tt-fade);
    font-size: 9px;
    font-weight: 700;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.theme-rudubplayer .rudub-hub__social .fab,
.theme-rudubplayer .rudub-hub__social .fas {font-size: 13px;}

.theme-rudubplayer .rudub-hub__social:hover,
.theme-rudubplayer .rudub-hub__social:focus-visible {
    border-color: rgba(255, 255, 255, .18);
    color: #fff;
    transform: translateY(-2px);
}

.theme-rudubplayer .rudub-hub__social--vk:hover {background: rgba(0, 119, 255, .28);}
.theme-rudubplayer .rudub-hub__social--tg:hover {background: rgba(34, 158, 217, .27);}
.theme-rudubplayer .rudub-hub__social--rutube:hover {background: rgba(241, 98, 34, .25);}

/* Главная лента: видимы только уже открытые семидневные диапазоны. */
.theme-rudubplayer .release-feed--weekly .release-day[hidden] {display: none !important;}

.theme-rudubplayer .release-feed--weekly #pagination > :not(.pagination__btn-loader) {
    display: none !important;
}

.theme-rudubplayer .release-feed--weekly .pagination__btn-loader {width: 100%;}

.theme-rudubplayer .release-week__load {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(330px, 100%);
    min-height: 42px;
    padding: 0 24px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    background: linear-gradient(115deg, #f7941e, #f16222);
    box-shadow: 0 8px 20px rgba(241, 98, 34, .18);
    color: #fff;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    transition: transform .22s ease, filter .22s ease, border-color .22s ease, box-shadow .22s ease, opacity .22s ease;
}

.theme-rudubplayer .release-week__load::before,
.theme-rudubplayer .release-week__load::after {display: none !important; content: none !important;}

.theme-rudubplayer .release-week__load:hover,
.theme-rudubplayer .release-week__load:focus-visible {
    border-color: rgba(255, 255, 255, .28);
    box-shadow: 0 14px 30px rgba(241, 98, 34, .30);
    filter: brightness(1.08);
    transform: translateY(-3px);
}

.theme-rudubplayer .pagination__btn-loader.is-loading .release-week__load {
    pointer-events: none;
    cursor: wait;
    filter: saturate(.72);
    opacity: .72;
    transform: none;
}

@keyframes rudubWeekReveal {
    from {opacity: 0; transform: translateY(12px);}
    to {opacity: 1; transform: translateY(0);}
}

.theme-rudubplayer .release-day--week-added {animation: rudubWeekReveal .38s ease both;}

@media screen and (max-width: 900px) {
    .theme-rudubplayer .rudub-hub {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .theme-rudubplayer .rudub-hub__socials {grid-column: 1 / -1; min-height: 88px;}
    .theme-rudubplayer .rudub-hub__social-list {grid-template-columns: repeat(3, minmax(100px, 1fr));}
}

@media screen and (max-width: 680px) {
    .theme-rudubplayer .rudub-hub {grid-template-columns: minmax(0, 1fr); margin-bottom: 28px; border-radius: 16px;}
    .theme-rudubplayer .rudub-hub__panel {min-height: 0; padding: 17px;}
    .theme-rudubplayer .rudub-hub__socials {grid-column: auto;}
    .theme-rudubplayer .rudub-hub__social-list {grid-template-columns: repeat(3, minmax(0, 1fr));}
    .theme-rudubplayer .rudub-hub__social {padding: 0 7px;}
}

@media screen and (max-width: 430px) {
    .theme-rudubplayer .rudub-hub__digest {align-items: flex-start;}
    .theme-rudubplayer .rudub-hub__digest-icon {flex-basis: 38px; width: 38px; height: 38px; border-radius: 12px; font-size: 16px;}
    .theme-rudubplayer .rudub-hub__social span:last-child {display: none;}
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .rudub-hub__status-dot::after,
    .theme-rudubplayer .release-day--week-added {animation: none;}
    .theme-rudubplayer .rudub-hub__domain-link,
    .theme-rudubplayer .rudub-hub__bot,
    .theme-rudubplayer .rudub-hub__social,
    .theme-rudubplayer .release-week__load {transition: none;}
}

/* RUDUBPLAYER STAGE 36 — WARM INFO STRIP, STABLE WEEK LOAD AND UNIFIED CONTROLS
---------------------------------------------------------------------------- */
.theme-rudubplayer {
    --r36-button-height-sm: 36px;
    --r36-button-height-md: 42px;
    --r36-button-height-lg: 48px;
    --r36-button-border: rgba(255,255,255,.15);
    --r36-button-primary: linear-gradient(135deg, #f7941e 0%, #f16222 100%);
    --r36-button-primary-hover: linear-gradient(135deg, #ffad45 0%, #f4772f 100%);
    --r36-button-secondary: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.045));
    --r36-button-shadow: 0 9px 22px rgba(241,98,34,.20);
}

/* Инфоблок: тёплая «эфирная» полоса вместо трёх почти чёрных карточек. */
.theme-rudubplayer .rudub-hub {
    margin-bottom: 30px;
    border-radius: 17px;
    background: linear-gradient(110deg, rgba(255,163,52,.84), rgba(241,98,34,.55) 48%, rgba(255,255,255,.20));
    box-shadow: 0 14px 34px rgba(22,13,8,.20), inset 0 1px 0 rgba(255,255,255,.08);
}

.theme-rudubplayer .rudub-hub::before {
    inset: -72% auto auto -4%;
    width: 420px;
    height: 240px;
    background: rgba(255,179,83,.34);
    filter: blur(68px);
}

.theme-rudubplayer .rudub-hub::after {
    right: 9%;
    left: 9%;
    background: linear-gradient(90deg, transparent, rgba(255,208,150,.92), rgba(247,148,30,.92), transparent);
}

.theme-rudubplayer .rudub-hub__panel {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 118px;
    padding: clamp(14px, 1vw, 18px);
    background:
        radial-gradient(circle at 0 0, rgba(255,199,129,.18), transparent 42%),
        linear-gradient(135deg, rgba(109,68,44,.94), rgba(73,51,42,.94));
}

.theme-rudubplayer .rudub-hub__panel::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    background:
        repeating-linear-gradient(116deg, transparent 0 38px, rgba(255,255,255,.018) 38px 39px),
        linear-gradient(100deg, rgba(255,255,255,.035), transparent 46%);
    content: '';
    pointer-events: none;
}

.theme-rudubplayer .rudub-hub__panel > * {position: relative; z-index: 1;}

.theme-rudubplayer .rudub-hub__domain {
    background:
        radial-gradient(circle at 7% 0, rgba(255,198,119,.31), transparent 45%),
        linear-gradient(135deg, rgba(126,74,41,.96), rgba(86,55,41,.94));
}

.theme-rudubplayer .rudub-hub__digest {
    background:
        radial-gradient(circle at 14% 10%, rgba(247,125,49,.24), transparent 44%),
        linear-gradient(135deg, rgba(96,59,44,.96), rgba(69,49,43,.94));
}

.theme-rudubplayer .rudub-hub__socials {
    background:
        radial-gradient(circle at 88% 0, rgba(96,177,157,.18), transparent 43%),
        linear-gradient(135deg, rgba(73,56,49,.96), rgba(54,48,45,.95));
}

.theme-rudubplayer .rudub-hub__kicker {
    margin-bottom: 4px;
    color: #ffc074;
    font-size: 10px;
}

.theme-rudubplayer .rudub-hub__title {
    color: #fff;
    font-size: clamp(20px, 1.3vw, 24px);
}

.theme-rudubplayer .rudub-hub__text {
    margin: 4px 0 8px;
    color: rgba(255,255,255,.70);
    font-size: 11px;
    line-height: 1.35;
}

.theme-rudubplayer .rudub-hub__domain-link,
.theme-rudubplayer .rudub-hub__bot,
.theme-rudubplayer .rudub-hub__social {
    min-height: 32px;
    border-color: rgba(255,255,255,.14);
    background: rgba(15,12,11,.18);
    color: rgba(255,255,255,.82);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.theme-rudubplayer .rudub-hub__domain-link {
    padding: 0 12px;
    color: #ffd09a;
    font-size: clamp(13px, .85vw, 14px);
}

.theme-rudubplayer .rudub-hub__bot {padding: 0 11px; color: rgba(218,242,255,.86);}

.theme-rudubplayer .rudub-hub__digest {gap: 10px;}
.theme-rudubplayer .rudub-hub__digest-icon {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
    border-color: rgba(255,208,151,.24);
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(247,148,30,.30), rgba(241,98,34,.11));
    color: #ffd09a;
    font-size: 15px;
}
.theme-rudubplayer .rudub-hub__title--digest,
.theme-rudubplayer .rudub-hub__title--socials {font-size: clamp(19px, 1.2vw, 22px);}
.theme-rudubplayer .rudub-hub__digest-hint {margin-top: 3px; color: rgba(255,255,255,.70); font-size: 10px;}
.theme-rudubplayer .rudub-hub__digest-slot {margin-top: 5px; font-size: 11px;}
.theme-rudubplayer .rudub-hub__digest-slot a {color: #ffd09a;}
.theme-rudubplayer .rudub-hub__social-list {gap: 5px; margin-top: 8px;}
.theme-rudubplayer .rudub-hub__social {min-height: 32px; border-radius: 9px; font-size: 10px;}

/* Во время раскрытия старых дней ни кнопка, ни новые секции не становятся
   точкой scroll anchoring: положение окна остаётся неизменным. */
.theme-rudubplayer .release-feed--updating,
.theme-rudubplayer .release-feed--weekly #pagination {overflow-anchor: none;}

/* Desktop-nav рассчитан на шесть ссылок: сохраняем кегль, уменьшаем только gap. */
@media screen and (min-width: 1221px) {
    .theme-rudubplayer .header__menu {
        flex-wrap: nowrap;
        gap: clamp(18px, 1.35vw, 26px);
    }
    .theme-rudubplayer .header__menu > li,
    .theme-rudubplayer .header__menu > li > a {min-width: 0; white-space: nowrap;}
    .theme-rudubplayer .header__menu > li > a {font-size: 16px;}
}

@media screen and (min-width: 1221px) and (max-width: 1499px) {
    .theme-rudubplayer .header__menu {gap: clamp(12px, 1vw, 18px);}
    .theme-rudubplayer .header__menu > li > a {font-size: 15px;}
    .theme-rudubplayer .header__right {gap: 10px;}
    .theme-rudubplayer .header__search,
    .theme-rudubplayer .search-block {width: clamp(170px, 14vw, 210px); flex-basis: 210px;}
}

/* Три размера и две базовые поверхности для обычных кнопок сайта. */
.theme-rudubplayer .btn:not(.btn-without-bg),
.theme-rudubplayer .form__btn,
.theme-rudubplayer .form__row--submit button,
.theme-rudubplayer .login__row button,
.theme-rudubplayer .search-page__simple-form input[type="button"],
.theme-rudubplayer .search-page__btn-search,
.theme-rudubplayer .search-page__btn-clear,
.theme-rudubplayer .search-page__btn-reset,
.theme-rudubplayer .form__find-related,
.theme-rudubplayer .voter__submit,
.theme-rudubplayer .voter__btn,
.theme-rudubplayer .fbutton,
.theme-rudubplayer .filter-block__cell--btns button,
.theme-rudubplayer .pagination__btn-loader a,
.theme-rudubplayer .release-week__load,
.theme-rudubplayer .ac-form__btn,
.theme-rudubplayer .rudub-banner-btn,
.theme-rudubplayer .qq-upload-button,
.theme-rudubplayer .plupload_button,
.theme-rudubplayer .pmessages__links a,
.theme-rudubplayer .fdl-btn,
.theme-rudubplayer .ui-dialog-buttonset button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--r36-button-height-md);
    height: auto;
    padding: 0 20px;
    gap: 8px;
    border: 1px solid var(--r36-button-border);
    border-radius: 999px;
    color: #fff;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
    cursor: pointer;
    transition: transform .18s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease, color .24s ease, filter .24s ease;
}

.theme-rudubplayer .btn:not(.btn-secondary):not(.btn-without-bg),
.theme-rudubplayer .form__btn,
.theme-rudubplayer .form__row--submit button:not(.btn-secondary),
.theme-rudubplayer .login__row button,
.theme-rudubplayer .search-page__simple-form input[type="button"],
.theme-rudubplayer .search-page__btn-search,
.theme-rudubplayer .voter__submit,
.theme-rudubplayer .fbutton,
.theme-rudubplayer .filter-block__cell--btns button:not(.btn-secondary),
.theme-rudubplayer .pagination__btn-loader a,
.theme-rudubplayer .release-week__load,
.theme-rudubplayer .ac-form__btn,
.theme-rudubplayer .rudub-banner-btn,
.theme-rudubplayer .qq-upload-button,
.theme-rudubplayer .plupload_button,
.theme-rudubplayer .ui-dialog-buttonset button {
    background: var(--r36-button-primary);
    box-shadow: var(--r36-button-shadow);
}

.theme-rudubplayer .btn-secondary,
.theme-rudubplayer .form__find-related,
.theme-rudubplayer .voter__btn,
.theme-rudubplayer .search-page__btn-clear,
.theme-rudubplayer .search-page__btn-reset,
.theme-rudubplayer .filter-block__cell--btns button.btn-secondary,
.theme-rudubplayer .pmessages__links a,
.theme-rudubplayer .fdl-btn {
    background: var(--r36-button-secondary);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
    color: var(--tt);
}

.theme-rudubplayer .bslide__btn,
.theme-rudubplayer .page__btn-watch,
.theme-rudubplayer .page__btn-trailer,
.theme-rudubplayer .page__btn-watch-rdbplayer {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--r36-button-height-lg);
    height: auto;
    padding: 0 24px;
    gap: 9px;
    border: 1px solid var(--r36-button-border);
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    cursor: pointer;
    transition: transform .18s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease, color .24s ease, filter .24s ease;
}

.theme-rudubplayer .bslide__btn,
.theme-rudubplayer .page__btn-watch {
    background: var(--r36-button-primary);
    box-shadow: 0 11px 27px rgba(241,98,34,.23);
}

.theme-rudubplayer .page__btn-trailer {
    background: var(--r36-button-secondary);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

/* Цвет ruPlayer сохраняется, меняются только общая геометрия и эффекты. */
.theme-rudubplayer .page__btn-watch-rdbplayer {
    background: linear-gradient(135deg, #d943d3, #9747db);
    box-shadow: 0 11px 27px rgba(217,67,211,.20);
}

.theme-rudubplayer .tabs-block__select button,
.theme-rudubplayer .player-reload-link,
.theme-rudubplayer .watch__tg a,
.theme-rudubplayer .watch__rudubapp a,
.theme-rudubplayer .page__complaint a {
    min-height: var(--r36-button-height-sm);
    height: auto;
    padding: 0 14px;
    gap: 7px;
    border: 1px solid var(--r36-button-border);
    border-radius: 999px;
    background: var(--r36-button-secondary);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
    color: var(--tt);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-transform: none;
    transition: transform .18s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease, color .24s ease;
}

.theme-rudubplayer a.sect__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--r36-button-height-sm);
    padding: 0 14px;
    border: 1px solid var(--r36-button-border);
    border-radius: 999px;
    background: var(--r36-button-secondary);
    color: var(--tt-fade);
    font-size: 10px;
    font-weight: 700;
    text-transform: none;
    transition: transform .18s ease, background .24s ease, border-color .24s ease, color .24s ease;
}

.theme-rudubplayer a.sect__link:hover {
    border-color: rgba(247,148,30,.44);
    background: rgba(247,148,30,.15);
    color: var(--tt);
    transform: translateY(-1px);
}

.theme-rudubplayer .watch__tg a {background: rgba(34,158,217,.18); color: #fff;}
.theme-rudubplayer .watch__rudubapp a {background: rgba(247,148,30,.14); color: var(--tt);}

.theme-rudubplayer .btn:not(.btn-secondary):not(.btn-without-bg):hover,
.theme-rudubplayer .form__btn:hover,
.theme-rudubplayer .form__row--submit button:not(.btn-secondary):hover,
.theme-rudubplayer .login__row button:hover,
.theme-rudubplayer .search-page__simple-form input[type="button"]:hover,
.theme-rudubplayer .search-page__btn-search:hover,
.theme-rudubplayer .voter__submit:hover,
.theme-rudubplayer .fbutton:hover,
.theme-rudubplayer .filter-block__cell--btns button:not(.btn-secondary):hover,
.theme-rudubplayer .pagination__btn-loader a:hover,
.theme-rudubplayer .release-week__load:hover,
.theme-rudubplayer .ac-form__btn:hover,
.theme-rudubplayer .rudub-banner-btn:hover,
.theme-rudubplayer .bslide__btn:hover,
.theme-rudubplayer .page__btn-watch:hover {
    border-color: rgba(255,255,255,.27);
    background: var(--r36-button-primary-hover);
    box-shadow: 0 13px 29px rgba(241,98,34,.29);
    color: #fff;
    filter: none;
    transform: translateY(-2px);
}

.theme-rudubplayer .btn-secondary:hover,
.theme-rudubplayer .form__find-related:hover,
.theme-rudubplayer .voter__btn:hover,
.theme-rudubplayer .search-page__btn-clear:hover,
.theme-rudubplayer .search-page__btn-reset:hover,
.theme-rudubplayer .filter-block__cell--btns button.btn-secondary:hover,
.theme-rudubplayer .page__btn-trailer:hover,
.theme-rudubplayer .tabs-block__select button:hover,
.theme-rudubplayer .player-reload-link:hover,
.theme-rudubplayer .pmessages__links a:hover,
.theme-rudubplayer .fdl-btn:hover {
    border-color: rgba(247,148,30,.44);
    background: rgba(247,148,30,.15);
    box-shadow: 0 9px 21px rgba(0,0,0,.16);
    color: #fff;
    transform: translateY(-1px);
}

.theme-rudubplayer .tabs-block__select button.is-active {
    border-color: transparent;
    background: var(--r36-button-primary);
    box-shadow: 0 7px 17px rgba(241,98,34,.20);
    color: #fff;
}

.theme-rudubplayer .page__btn-watch-rdbplayer:hover {
    border-color: rgba(255,255,255,.26);
    background: linear-gradient(135deg, #ea5ee4, #ad5aec);
    box-shadow: 0 13px 29px rgba(217,67,211,.28);
    color: #fff;
    transform: translateY(-2px);
}

.theme-rudubplayer .btn:not(.btn-without-bg):focus-visible,
.theme-rudubplayer .form__btn:focus-visible,
.theme-rudubplayer .form__row--submit button:focus-visible,
.theme-rudubplayer .login__row button:focus-visible,
.theme-rudubplayer .search-page__simple-form input[type="button"]:focus-visible,
.theme-rudubplayer .search-page__btn-search:focus-visible,
.theme-rudubplayer .search-page__btn-clear:focus-visible,
.theme-rudubplayer .search-page__btn-reset:focus-visible,
.theme-rudubplayer .form__find-related:focus-visible,
.theme-rudubplayer .voter__submit:focus-visible,
.theme-rudubplayer .voter__btn:focus-visible,
.theme-rudubplayer .fbutton:focus-visible,
.theme-rudubplayer .filter-block__cell--btns button:focus-visible,
.theme-rudubplayer .pagination__btn-loader a:focus-visible,
.theme-rudubplayer .release-week__load:focus-visible,
.theme-rudubplayer .ac-form__btn:focus-visible,
.theme-rudubplayer .rudub-banner-btn:focus-visible,
.theme-rudubplayer .page__btn-watch:focus-visible,
.theme-rudubplayer .page__btn-trailer:focus-visible,
.theme-rudubplayer .page__btn-watch-rdbplayer:focus-visible,
.theme-rudubplayer .tabs-block__select button:focus-visible,
.theme-rudubplayer .player-reload-link:focus-visible,
.theme-rudubplayer a.sect__link:focus-visible,
.theme-rudubplayer .scrolltop:focus-visible {
    outline: 2px solid rgba(255,192,116,.96);
    outline-offset: 3px;
}

.theme-rudubplayer .btn:active,
.theme-rudubplayer .form__btn:active,
.theme-rudubplayer .form__row--submit button:active,
.theme-rudubplayer .login__row button:active,
.theme-rudubplayer .search-page__simple-form input[type="button"]:active,
.theme-rudubplayer .search-page__btn-search:active,
.theme-rudubplayer .search-page__btn-clear:active,
.theme-rudubplayer .search-page__btn-reset:active,
.theme-rudubplayer .form__find-related:active,
.theme-rudubplayer .voter__submit:active,
.theme-rudubplayer .voter__btn:active,
.theme-rudubplayer .fbutton:active,
.theme-rudubplayer .filter-block__cell--btns button:active,
.theme-rudubplayer .pagination__btn-loader a:active,
.theme-rudubplayer .release-week__load:active,
.theme-rudubplayer .ac-form__btn:active,
.theme-rudubplayer .rudub-banner-btn:active,
.theme-rudubplayer .page__btn-watch:active,
.theme-rudubplayer .page__btn-trailer:active,
.theme-rudubplayer .page__btn-watch-rdbplayer:active,
.theme-rudubplayer .tabs-block__select button:active,
.theme-rudubplayer .player-reload-link:active,
.theme-rudubplayer a.sect__link:active {box-shadow: none; transform: translateY(0) scale(.98);}

.theme-rudubplayer button:disabled,
.theme-rudubplayer input:disabled,
.theme-rudubplayer [aria-disabled="true"] {cursor: default; opacity: .58; transform: none;}

/* Иконные элементы управления используют ту же стеклянно-оранжевую систему. */
.theme-rudubplayer .scrolltop {
    width: 46px;
    height: 46px;
    right: -72px;
    bottom: 18px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    background: var(--r36-button-primary);
    box-shadow: 0 11px 28px rgba(241,98,34,.25);
    color: #fff;
    font-size: 17px;
    transition: right .22s ease, opacity .22s ease, transform .18s ease, box-shadow .22s ease, background .22s ease;
}

.theme-rudubplayer .scrolltop.is-active {right: 18px;}
.theme-rudubplayer .scrolltop:hover {background: var(--r36-button-primary-hover); box-shadow: 0 15px 32px rgba(241,98,34,.32); transform: translateY(-3px);}

.theme-rudubplayer .header__btn-menu,
.theme-rudubplayer .release-day__nav {
    border: 1px solid var(--r36-button-border);
    border-radius: 50%;
    background: var(--r36-button-secondary);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.theme-rudubplayer .header__btn-menu:hover,
.theme-rudubplayer .release-day__nav:hover:not(:disabled) {
    border-color: rgba(247,148,30,.45);
    background: rgba(247,148,30,.16);
    color: #fff;
    transform: translateY(-1px);
}

/* .page__trdl a намеренно не входит в общую систему и остаётся без изменений. */

/* Fullstory: читаемая метаинформация и крупные значения внешних рейтингов. */
.theme-rudubplayer .content--fullstory .page__hero .page__meta-item,
.theme-rudubplayer .content--fullstory .page__hero .page__meta-item-dub {
    min-height: 32px;
    height: 32px;
    padding: 0 12px;
    font-size: 14px;
    line-height: 1;
}

.theme-rudubplayer .content--fullstory .page__hero .page__meta-rating {
    min-height: 32px;
    color: #fff;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 32px;
}

.theme-rudubplayer .content--fullstory .page__hero h3,
.theme-rudubplayer .content--fullstory .page__hero .page__season h3 {
    color: rgba(255,255,255,.78);
    font-size: 18px;
    line-height: 1.45;
}

.theme-rudubplayer .content--fullstory .page__hero .page__list {
    color: rgba(255,255,255,.79);
    font-size: 15px;
    line-height: 1.68;
}

/* Оставляем под точками и счётчиком ещё около 30 px воздуха. */
.theme-rudubplayer .promo-slider .main-slider .owl-dots {bottom: 67px;}
.theme-rudubplayer .promo-slider__status {bottom: 58px;}

@media screen and (max-width: 900px) {
    .theme-rudubplayer .rudub-hub__panel {min-height: 108px;}
    .theme-rudubplayer .rudub-hub__socials {min-height: 76px;}
}

@media screen and (max-width: 680px) {
    .theme-rudubplayer .rudub-hub {margin-bottom: 26px;}
    .theme-rudubplayer .rudub-hub__panel {padding: 15px;}
    .theme-rudubplayer .promo-slider .main-slider .owl-dots {bottom: 54px;}
    .theme-rudubplayer .promo-slider__status {bottom: 47px;}
}

@media screen and (max-width: 590px) {
    .theme-rudubplayer .content--fullstory .page__hero .page__meta-item,
    .theme-rudubplayer .content--fullstory .page__hero .page__meta-item-dub {height: 30px; min-height: 30px; padding: 0 10px; font-size: 12px;}
    .theme-rudubplayer .content--fullstory .page__hero .page__meta-rating {min-height: 30px; font-size: 19px; line-height: 30px;}
    .theme-rudubplayer .content--fullstory .page__hero h3,
    .theme-rudubplayer .content--fullstory .page__hero .page__season h3 {font-size: 16px;}
    .theme-rudubplayer .content--fullstory .page__hero .page__list {font-size: 14px;}
    .theme-rudubplayer .scrolltop {width: 42px; height: 42px; bottom: 12px;}
    .theme-rudubplayer .scrolltop.is-active {right: 12px;}
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .btn,
    .theme-rudubplayer button,
    .theme-rudubplayer input[type="button"],
    .theme-rudubplayer input[type="submit"],
    .theme-rudubplayer .rudub-banner-btn,
    .theme-rudubplayer .page__btn-watch-rdbplayer,
    .theme-rudubplayer .scrolltop {transition: none;}
}

/* RUDUBPLAYER STAGE 38 — LARGER, BRIGHTER RESOURCE HUB
---------------------------------------------------------------------------- */
.theme-rudubplayer .rudub-hub {
    grid-template-columns: minmax(260px, 1.12fr) minmax(280px, 1.08fr) minmax(230px, .9fr);
    gap: 2px;
    padding: 2px;
    border-radius: 22px;
    background: linear-gradient(112deg, rgba(255,179,72,.96), rgba(241,98,34,.78) 48%, rgba(77,176,154,.60));
    box-shadow: 0 18px 42px rgba(37,20,11,.27), inset 0 1px 0 rgba(255,255,255,.20);
}

.theme-rudubplayer .rudub-hub::before {
    inset: -62% auto auto -2%;
    width: 520px;
    height: 290px;
    background: rgba(255,184,89,.48);
    filter: blur(74px);
}

.theme-rudubplayer .rudub-hub::after {
    right: 7%;
    left: 7%;
    height: 3px;
    background: linear-gradient(90deg, transparent, #ffd39b 24%, #ff942c 70%, transparent);
    box-shadow: 0 0 20px rgba(255,163,62,.32);
}

.theme-rudubplayer .rudub-hub__panel {
    min-height: 158px;
    padding: clamp(22px, 1.55vw, 28px);
    transition: filter .24s ease, transform .24s ease;
}

.theme-rudubplayer .rudub-hub__panel::before {
    background:
        repeating-linear-gradient(116deg, transparent 0 48px, rgba(255,255,255,.025) 48px 49px),
        linear-gradient(104deg, rgba(255,255,255,.065), transparent 46%);
}

.theme-rudubplayer .rudub-hub__panel::after {
    position: absolute;
    z-index: 0;
    right: -72px;
    bottom: -104px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 50%;
    box-shadow: 0 0 0 30px rgba(255,255,255,.020), 0 0 0 68px rgba(255,255,255,.010);
    content: '';
    pointer-events: none;
}

.theme-rudubplayer .rudub-hub__domain {
    background:
        radial-gradient(circle at 3% 0, rgba(255,210,145,.38), transparent 48%),
        linear-gradient(135deg, rgba(145,82,41,.98), rgba(91,54,40,.97));
}

.theme-rudubplayer .rudub-hub__digest {
    background:
        radial-gradient(circle at 14% 4%, rgba(255,152,75,.30), transparent 46%),
        linear-gradient(135deg, rgba(112,62,45,.98), rgba(72,49,43,.97));
}

.theme-rudubplayer .rudub-hub__socials {
    background:
        radial-gradient(circle at 92% 0, rgba(87,194,169,.28), transparent 48%),
        linear-gradient(135deg, rgba(72,66,57,.98), rgba(47,51,50,.97));
}

.theme-rudubplayer .rudub-hub__kicker {
    min-height: 18px;
    margin-bottom: 7px;
    color: #ffd19a;
    font-size: 11px;
    letter-spacing: .14em;
}

.theme-rudubplayer .rudub-hub__title {
    font-size: clamp(27px, 1.75vw, 31px);
    line-height: 1.06;
    text-shadow: 0 3px 20px rgba(30,13,6,.22);
}

.theme-rudubplayer .rudub-hub__text {
    max-width: 500px;
    margin: 7px 0 13px;
    color: rgba(255,255,255,.80);
    font-size: 13px;
    line-height: 1.48;
}

.theme-rudubplayer .rudub-hub__domain-actions {gap: 9px;}

.theme-rudubplayer .rudub-hub__domain-link,
.theme-rudubplayer .rudub-hub__bot {
    min-height: 42px;
    padding: 0 16px;
    gap: 9px;
    border-color: rgba(255,255,255,.22);
    background: rgba(19,13,10,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 8px 20px rgba(31,13,5,.12);
    color: #fff0dc;
    font-size: 14px;
}

.theme-rudubplayer .rudub-hub__bot {
    border-color: rgba(97,195,237,.30);
    background: rgba(17,91,123,.24);
    color: #e2f6ff;
}

.theme-rudubplayer .rudub-hub__external-icon,
.theme-rudubplayer .rudub-hub__digest-icon svg {
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.theme-rudubplayer .rudub-hub__external-icon {flex: 0 0 16px;}
.theme-rudubplayer .rudub-hub__bot-icon {display: block; flex: 0 0 22px;}

.theme-rudubplayer .rudub-hub__digest {gap: 16px;}
.theme-rudubplayer .rudub-hub__digest-icon {
    flex-basis: 54px;
    width: 54px;
    height: 54px;
    border-color: rgba(255,221,177,.34);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(255,176,72,.38), rgba(241,98,34,.15));
    box-shadow: inset 0 1px rgba(255,255,255,.12), 0 14px 30px rgba(37,15,6,.18);
    color: #ffe0b8;
}

.theme-rudubplayer .rudub-hub__title--digest,
.theme-rudubplayer .rudub-hub__title--socials {font-size: clamp(25px, 1.6vw, 29px);}

.theme-rudubplayer .rudub-hub__digest-hint {
    margin-top: 6px;
    color: rgba(255,255,255,.78);
    font-size: 12px;
    line-height: 1.45;
}

.theme-rudubplayer .rudub-hub__digest-slot {
    margin-top: 8px;
    font-size: 12px;
}

.theme-rudubplayer .rudub-hub__digest-slot a {color: #ffe0b8;}

.theme-rudubplayer .rudub-hub__social-list {
    gap: 8px;
    margin-top: 14px;
}

.theme-rudubplayer .rudub-hub__social {
    min-height: 44px;
    gap: 8px;
    padding: 0 10px;
    border-color: rgba(255,255,255,.14);
    border-radius: 13px;
    color: rgba(255,255,255,.90);
    font-size: 12px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}

.theme-rudubplayer .rudub-hub__social--vk {background: rgba(25,118,210,.16);}
.theme-rudubplayer .rudub-hub__social--tg {background: rgba(0,136,204,.15);}
.theme-rudubplayer .rudub-hub__social--rutube {background: rgba(244,18,64,.10);}

.theme-rudubplayer .rudub-hub__social-icon {
    display: block;
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
}

@media (hover: hover) {
    .theme-rudubplayer .rudub-hub__panel:hover {
        z-index: 2;
        filter: brightness(1.07) saturate(1.04);
    }
}

@media screen and (max-width: 900px) {
    .theme-rudubplayer .rudub-hub__panel {min-height: 148px; padding: 22px;}
    .theme-rudubplayer .rudub-hub__socials {min-height: 128px;}
}

@media screen and (max-width: 680px) {
    .theme-rudubplayer .rudub-hub {border-radius: 19px;}
    .theme-rudubplayer .rudub-hub__panel {min-height: 0; padding: 21px;}
    .theme-rudubplayer .rudub-hub__title {font-size: 26px;}
    .theme-rudubplayer .rudub-hub__title--digest,
    .theme-rudubplayer .rudub-hub__title--socials {font-size: 24px;}
    .theme-rudubplayer .rudub-hub__text {font-size: 12px;}
}

@media screen and (max-width: 430px) {
    .theme-rudubplayer .rudub-hub__social span:last-child {display: inline;}
    .theme-rudubplayer .rudub-hub__social {padding: 0 7px; gap: 5px; font-size: 11px;}
    .theme-rudubplayer .rudub-hub__social-icon {flex-basis: 21px; width: 21px; height: 21px;}
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .rudub-hub__panel {transition: none;}
}

/* RUDUBPLAYER STAGE 39 — BRIGHTER, LOWER AND RESPONSIVE RESOURCE HUB
---------------------------------------------------------------------------- */
.theme-rudubplayer .rudub-hub {
    max-width: 100%;
    min-width: 0;
    background: linear-gradient(112deg, #ffd18a 0%, #ff8d35 34%, #f26827 63%, rgba(95,211,184,.82) 100%);
    box-shadow: 0 19px 44px rgba(43,21,9,.30), inset 0 1px 0 rgba(255,255,255,.30);
}

.theme-rudubplayer .rudub-hub::before {
    background: rgba(255,195,112,.62);
    filter: blur(70px);
}

.theme-rudubplayer .rudub-hub::after {
    background: linear-gradient(90deg, transparent, #ffe6bd 22%, #ffb04f 56%, #7ee2c9 84%, transparent);
    box-shadow: 0 0 23px rgba(255,181,82,.46);
}

.theme-rudubplayer .rudub-hub__panel {
    box-sizing: border-box;
    min-width: 0;
    min-height: 126px;
    padding: 16px 18px;
}

.theme-rudubplayer .rudub-hub__domain {
    background:
        radial-gradient(circle at 2% 0, rgba(255,229,181,.52), transparent 49%),
        radial-gradient(circle at 92% 110%, rgba(255,141,62,.21), transparent 50%),
        linear-gradient(135deg, rgba(171,98,53,.99), rgba(119,65,46,.98));
}

.theme-rudubplayer .rudub-hub__digest {
    background:
        radial-gradient(circle at 10% 0, rgba(255,184,107,.38), transparent 49%),
        radial-gradient(circle at 100% 105%, rgba(245,111,51,.17), transparent 52%),
        linear-gradient(135deg, rgba(145,77,54,.99), rgba(96,55,47,.98));
}

.theme-rudubplayer .rudub-hub__socials {
    background:
        radial-gradient(circle at 96% 0, rgba(112,223,195,.38), transparent 50%),
        radial-gradient(circle at 0 110%, rgba(255,143,69,.12), transparent 50%),
        linear-gradient(135deg, rgba(83,102,89,.99), rgba(51,75,70,.98));
}

.theme-rudubplayer .rudub-hub__kicker {
    margin-bottom: 4px;
    color: #ffe0b8;
    font-size: 11px;
}

.theme-rudubplayer .rudub-hub__title {
    font-size: clamp(27px, 1.65vw, 30px);
    line-height: 1.05;
}

.theme-rudubplayer .rudub-hub__text {
    margin: 4px 0 8px;
    color: rgba(255,255,255,.86);
    font-size: 13px;
    line-height: 1.38;
}

.theme-rudubplayer .rudub-hub__domain-actions {
    max-width: 100%;
    gap: 8px;
}

.theme-rudubplayer .rudub-hub__domain-link,
.theme-rudubplayer .rudub-hub__bot {
    max-width: 100%;
    min-height: 38px;
    padding: 0 14px;
    font-size: 14px;
}

.theme-rudubplayer .rudub-hub__digest {
    gap: 12px;
}

.theme-rudubplayer .rudub-hub__digest-body,
.theme-rudubplayer .rudub-hub__social-list {min-width: 0;}

.theme-rudubplayer .rudub-hub__digest-icon {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
    border-color: rgba(255,233,202,.43);
    background: linear-gradient(145deg, rgba(255,191,105,.52), rgba(241,98,34,.22));
}

.theme-rudubplayer .rudub-hub__title--digest,
.theme-rudubplayer .rudub-hub__title--socials {font-size: clamp(25px, 1.55vw, 28px);}

.theme-rudubplayer .rudub-hub__digest-hint {
    margin-top: 4px;
    color: rgba(255,255,255,.84);
    font-size: 12px;
    line-height: 1.36;
}

.theme-rudubplayer .rudub-hub__digest-slot {
    margin-top: 5px;
    font-size: 12px;
}

.theme-rudubplayer .rudub-hub__social-list {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.theme-rudubplayer .rudub-hub__social {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 40px;
    gap: 7px;
    padding: 0 7px;
    overflow: hidden;
    font-size: clamp(13px, .8vw, 14px);
}

.theme-rudubplayer .rudub-hub__social span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-rudubplayer .rudub-hub__social--vk {background: rgba(25,118,210,.25);}
.theme-rudubplayer .rudub-hub__social--tg {background: rgba(0,136,204,.24);}
.theme-rudubplayer .rudub-hub__social--rutube {background: rgba(244,18,64,.17);}

/* До 1180 px две содержательные панели остаются рядом, а соцсети получают
   отдельную широкую строку. Пустой третьей колонки больше не существует. */
@media screen and (max-width: 1180px) {
    .theme-rudubplayer .rudub-hub {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-rudubplayer .rudub-hub__panel {
        min-height: 126px;
        padding: 16px 18px;
    }

    .theme-rudubplayer .rudub-hub__socials {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: minmax(180px, .66fr) minmax(0, 1.34fr);
        grid-template-rows: auto auto;
        align-content: center;
        align-items: center;
        min-height: 104px;
        column-gap: 22px;
    }

    .theme-rudubplayer .rudub-hub__socials > .rudub-hub__kicker {
        grid-column: 1;
        grid-row: 1;
        align-self: end;
    }

    .theme-rudubplayer .rudub-hub__socials > .rudub-hub__title {
        grid-column: 1;
        grid-row: 2;
        align-self: start;
    }

    .theme-rudubplayer .rudub-hub__social-list {
        grid-column: 2;
        grid-row: 1 / span 2;
        margin-top: 0;
    }
}

/* На телефонах каждая панель занимает собственную строку; содержимое больше
   не может уйти в обрезанную горизонтальную область. */
@media screen and (max-width: 640px) {
    .theme-rudubplayer .rudub-hub {
        grid-template-columns: minmax(0, 1fr);
        border-radius: 18px;
    }

    .theme-rudubplayer .rudub-hub__panel {
        min-height: 0;
        padding: 18px;
    }

    .theme-rudubplayer .rudub-hub__socials {
        display: flex;
        grid-column: auto;
        min-height: 0;
    }

    .theme-rudubplayer .rudub-hub__social-list {margin-top: 10px;}
    .theme-rudubplayer .rudub-hub__title {font-size: 27px;}
    .theme-rudubplayer .rudub-hub__title--digest,
    .theme-rudubplayer .rudub-hub__title--socials {font-size: 25px;}
}

@media screen and (max-width: 430px) {
    .theme-rudubplayer .rudub-hub__panel {padding: 16px;}
    .theme-rudubplayer .rudub-hub__social-list {grid-template-columns: minmax(0, 1fr);}
    .theme-rudubplayer .rudub-hub__social {min-height: 42px; font-size: 13px;}
    .theme-rudubplayer .rudub-hub__social span:last-child {display: inline;}
}

/* RUDUBPLAYER STAGE 40 — UNIFIED ANNOUNCEMENT CARDS AND CLEAN SLIDE EXCERPTS
---------------------------------------------------------------------------- */
.theme-rudubplayer .home-announcements {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(21px, 2vw, 30px);
    border-color: rgba(255,255,255,.09);
    border-radius: 22px;
    background:
        radial-gradient(circle at 4% 0, rgba(247,148,30,.14), transparent 32%),
        radial-gradient(circle at 96% 100%, rgba(241,98,34,.055), transparent 31%),
        linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}

.theme-rudubplayer .home-announcements::before {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 9%;
    left: 9%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(247,148,30,.72), transparent);
    content: '';
    pointer-events: none;
}

.theme-rudubplayer .home-announcements .sect__header--streaming {
    margin-bottom: 19px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.theme-rudubplayer .home-announcements .sect__eyebrow {color: rgba(255,179,81,.86);}

/* Только переносимая сетка: мобильная горизонтальная лента прежних этапов
   здесь намеренно отключена, чтобы карточки никогда не уходили за viewport. */
.theme-rudubplayer .home-announcements__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-columns: initial;
    grid-auto-flow: row;
    gap: clamp(12px, 1vw, 18px);
    overflow: visible;
    max-width: 100%;
    min-width: 0;
    padding: 0;
    scroll-behavior: auto;
    scroll-padding: 0;
    scroll-snap-type: none;
    scrollbar-width: auto;
    overscroll-behavior: auto;
}

.theme-rudubplayer .home-announcements__grid > .poster,
.theme-rudubplayer .home-announcements__grid > .poster:first-child {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    grid-column: auto;
    grid-row: auto;
    grid-template-columns: none;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    flex-direction: column;
    scroll-snap-align: none;
    transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.theme-rudubplayer .home-announcements__grid > .poster .poster__img,
.theme-rudubplayer .home-announcements__grid > .poster:first-child .poster__img {
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    padding-top: 56.25%;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 11px;
    background: var(--bg-darker);
    box-shadow: var(--r4-poster-shadow);
    flex: 0 0 auto;
    transition: border-color .25s ease, box-shadow .25s ease;
}

.theme-rudubplayer .home-announcements__grid > .poster .poster__img::after {
    background: linear-gradient(0deg, rgba(8,9,12,.28), transparent 42%);
}

.theme-rudubplayer .home-announcements__grid > .poster .poster__desc,
.theme-rudubplayer .home-announcements__grid > .poster:first-child .poster__desc {
    display: flex;
    min-width: 0;
    padding: 12px 2px 2px;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: flex-start;
}

.theme-rudubplayer .home-announcements__grid .poster__anonsdate {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    width: auto;
    max-width: 100%;
    min-height: 0;
    margin: 0 0 7px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #ffad48;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-rudubplayer .home-announcements__grid .poster__anonsdate span {
    margin-right: 5px;
    color: rgba(255,255,255,.56);
    font-size: 9px;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.theme-rudubplayer .home-announcements__grid .poster__anonsdate--soon {
    color: rgba(255,255,255,.61);
}

.theme-rudubplayer .home-announcements__grid > .poster .poster__title,
.theme-rudubplayer .home-announcements__grid > .poster:first-child .poster__title {
    margin: 0;
    color: var(--tt);
    font-size: 16px;
    line-height: 1.28;
    -webkit-line-clamp: 2;
}

.theme-rudubplayer .home-announcements__grid > .poster .poster__meta {
    margin-top: 7px;
    color: var(--tt-fade);
    font-size: 11px;
    line-height: 1.3;
}

.theme-rudubplayer:not(.dt-is-active) .home-announcements {
    background:
        radial-gradient(circle at 4% 0, rgba(247,148,30,.12), transparent 32%),
        linear-gradient(145deg, rgba(255,255,255,.92), rgba(245,245,245,.82));
}

.theme-rudubplayer:not(.dt-is-active) .home-announcements__grid .poster__anonsdate span,
.theme-rudubplayer:not(.dt-is-active) .home-announcements__grid .poster__anonsdate--soon {
    color: rgba(25,25,25,.58);
}

@media (hover: hover) and (pointer: fine) {
    .theme-rudubplayer .home-announcements__grid > .poster:hover {
        border-color: transparent;
        background: transparent;
        box-shadow: none;
        transform: translateY(-3px);
    }

    .theme-rudubplayer .home-announcements__grid > .poster:hover .poster__img {
        border-color: rgba(255,255,255,.08);
        box-shadow: 0 10px 24px rgba(0,0,0,.24);
    }
}

@media screen and (max-width: 1280px) {
    .theme-rudubplayer .home-announcements__grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
}

@media screen and (max-width: 820px) {
    .theme-rudubplayer .home-announcements {padding: 20px; border-radius: 19px;}
    .theme-rudubplayer .home-announcements__grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .theme-rudubplayer .home-announcements__grid > .poster .poster__desc {padding: 11px 2px 2px;}
}

@media screen and (max-width: 520px) {
    .theme-rudubplayer .home-announcements {padding: 16px; border-radius: 17px;}
    .theme-rudubplayer .home-announcements .sect__header--streaming {margin-bottom: 15px; padding-bottom: 12px;}
    .theme-rudubplayer .home-announcements__grid {grid-template-columns: minmax(0, 1fr); gap: 14px;}
    .theme-rudubplayer .home-announcements__grid > .poster .poster__title,
    .theme-rudubplayer .home-announcements__grid > .poster:first-child .poster__title {font-size: 17px;}
}

/* DLE больше не режет строку по количеству символов: многоточие формирует
   браузер строго после третьей (на компактных экранах — второй) строки. */
.theme-rudubplayer .bslide__summary {
    max-height: 4.86em;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

@media screen and (max-width: 820px) {
    .theme-rudubplayer .bslide__summary {
        max-height: 3.24em;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .home-announcements__grid > .poster {transition: none;}
}

/* RUDUBPLAYER STAGE 42 — VIVID COMPACT HUB AND CASCADE WEEK REVEAL
---------------------------------------------------------------------------- */
.theme-rudubplayer .rudub-hub {
    gap: 2px;
    padding: 2px;
    border-radius: 20px;
    background: linear-gradient(112deg, #ffd36f 0%, #ff8a24 34%, #dc4867 65%, #43c8b5 100%);
    box-shadow: 0 17px 38px rgba(38,17,9,.30), inset 0 1px 0 rgba(255,255,255,.32);
}

.theme-rudubplayer .rudub-hub::before {
    background: rgba(255,175,64,.70);
    filter: blur(62px);
}

.theme-rudubplayer .rudub-hub::after {
    height: 2px;
    background: linear-gradient(90deg, transparent, #ffe9b9 18%, #ff9b36 46%, #e96987 68%, #72ead6 86%, transparent);
    box-shadow: 0 0 20px rgba(255,166,58,.50);
}

.theme-rudubplayer .rudub-hub__panel {
    min-height: 113px;
    padding: 13px 16px;
}

/* Три самостоятельных цветовых канала: домен, дайджест и соцсети. */
.theme-rudubplayer .rudub-hub__domain {
    background:
        radial-gradient(circle at 3% 0, rgba(255,229,168,.56), transparent 48%),
        radial-gradient(circle at 96% 112%, rgba(255,132,39,.24), transparent 48%),
        linear-gradient(135deg, #b9662d 0%, #8c3e27 100%);
}

.theme-rudubplayer .rudub-hub__digest {
    background:
        radial-gradient(circle at 8% 0, rgba(255,155,151,.40), transparent 48%),
        radial-gradient(circle at 102% 110%, rgba(205,71,119,.26), transparent 50%),
        linear-gradient(135deg, #9f4752 0%, #6c3657 100%);
}

.theme-rudubplayer .rudub-hub__socials {
    background:
        radial-gradient(circle at 96% 0, rgba(116,240,211,.42), transparent 49%),
        radial-gradient(circle at 0 112%, rgba(47,166,151,.24), transparent 48%),
        linear-gradient(135deg, #347b70 0%, #244e59 100%);
}

.theme-rudubplayer .rudub-hub__kicker {
    min-height: 14px;
    margin-bottom: 3px;
    color: rgba(255,230,191,.92);
    font-size: 10px;
}

.theme-rudubplayer .rudub-hub__title {
    font-size: clamp(25px, 1.52vw, 28px);
    line-height: 1.04;
}

.theme-rudubplayer .rudub-hub__text {
    margin: 3px 0 6px;
    color: rgba(255,255,255,.88);
    font-size: 12px;
    line-height: 1.32;
}

.theme-rudubplayer .rudub-hub__domain-actions {gap: 7px;}

.theme-rudubplayer .rudub-hub__domain-link,
.theme-rudubplayer .rudub-hub__bot {
    min-height: 34px;
    padding: 0 12px;
    font-size: 13px;
}

.theme-rudubplayer .rudub-hub__digest {gap: 10px;}

.theme-rudubplayer .rudub-hub__digest-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
    border-color: rgba(255,225,207,.42);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255,177,147,.48), rgba(211,72,119,.25));
    color: #ffe5d3;
}

.theme-rudubplayer .rudub-hub__title--digest,
.theme-rudubplayer .rudub-hub__title--socials {font-size: clamp(23px, 1.42vw, 26px);}

.theme-rudubplayer .rudub-hub__digest-hint {
    margin-top: 3px;
    color: rgba(255,255,255,.84);
    font-size: 11px;
    line-height: 1.28;
}

.theme-rudubplayer .rudub-hub__digest-slot {margin-top: 5px; font-size: 11px;}

.theme-rudubplayer .rudub-hub__digest-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid rgba(255,229,211,.25);
    border-radius: 999px;
    background: rgba(43,18,39,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
    color: #ffe7d4;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.theme-rudubplayer .rudub-hub__digest-link svg {
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.theme-rudubplayer .rudub-hub__digest-link::after {
    display: none !important;
    content: none !important;
}

.theme-rudubplayer .rudub-hub__digest-link:hover,
.theme-rudubplayer .rudub-hub__digest-link:focus-visible {
    border-color: rgba(255,235,218,.48);
    background: rgba(255,255,255,.13);
    box-shadow: 0 7px 18px rgba(45,13,36,.18);
    color: #fff;
    transform: translateY(-1px);
}

.theme-rudubplayer .rudub-hub__social-list {gap: 7px; margin-top: 8px;}

.theme-rudubplayer .rudub-hub__social {
    min-height: 36px;
    border-color: rgba(255,255,255,.18);
    font-size: 13px;
}

.theme-rudubplayer .rudub-hub__social--vk {background: rgba(20,105,211,.31);}
.theme-rudubplayer .rudub-hub__social--tg {background: rgba(0,137,204,.30);}
.theme-rudubplayer .rudub-hub__social--rutube {background: rgba(220,37,76,.24);}

@media screen and (max-width: 1180px) {
    .theme-rudubplayer .rudub-hub__panel {min-height: 113px; padding: 13px 16px;}
    .theme-rudubplayer .rudub-hub__socials {min-height: 94px;}
}

@media screen and (max-width: 640px) {
    .theme-rudubplayer .rudub-hub__panel {min-height: 0; padding: 15px;}
    .theme-rudubplayer .rudub-hub__title {font-size: 25px;}
    .theme-rudubplayer .rudub-hub__title--digest,
    .theme-rudubplayer .rudub-hub__title--socials {font-size: 23px;}
}

@media screen and (max-width: 430px) {
    .theme-rudubplayer .rudub-hub__panel {padding: 14px;}
}

/* Сначала мягко появляется заголовок дня, затем карточки идут каскадом вниз.
   Длительность намеренно заметнее старых 0.38s, но без движения viewport. */
.theme-rudubplayer .release-day--week-added {animation: none;}

.theme-rudubplayer .release-day--week-added > .release-day__header {
    animation: rudub42WeekHeaderReveal .58s cubic-bezier(.20,.72,.24,1) var(--r42-day-delay, 0ms) both;
}

.theme-rudubplayer .release-day--week-added .release-day__grid > .poster {
    animation: rudub42WeekCardReveal .72s cubic-bezier(.18,.76,.22,1) var(--r42-card-delay, 90ms) both;
    will-change: opacity, transform, filter;
}

@keyframes rudub42WeekHeaderReveal {
    0% {opacity: 0; filter: blur(3px); transform: translateY(12px);}
    65% {opacity: 1; filter: blur(0);}
    100% {opacity: 1; filter: none; transform: translateY(0);}
}

@keyframes rudub42WeekCardReveal {
    0% {opacity: 0; filter: blur(5px); transform: translateY(22px) scale(.985);}
    62% {opacity: 1; filter: blur(0);}
    100% {opacity: 1; filter: none; transform: translateY(0) scale(1);}
}

.theme-rudubplayer .pagination__btn-loader.is-loading .release-week__load {
    background-size: 220% 100%;
    animation: rudub42LoadPulse 1.15s ease-in-out infinite;
}

@keyframes rudub42LoadPulse {
    0%, 100% {background-position: 0 50%; box-shadow: 0 8px 20px rgba(241,98,34,.17);}
    50% {background-position: 100% 50%; box-shadow: 0 11px 28px rgba(241,98,34,.30);}
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .release-day--week-added > .release-day__header,
    .theme-rudubplayer .release-day--week-added .release-day__grid > .poster,
    .theme-rudubplayer .pagination__btn-loader.is-loading .release-week__load {
        animation: none;
        filter: none;
        transform: none;
    }
}

/* RUDUBPLAYER STAGE 43 — LIGHT INTERNAL PAGE ENTRANCE
---------------------------------------------------------------------------- */
/* Класс ставится DLE сразу в серверной разметке. Поэтому content не успевает
   показаться до запуска эффекта, а topbar и footer остаются неподвижными. */
.theme-rudubplayer.rudub-page--internal .wrapper__main-page > .content {
    animation: rudub43PageEnter .52s cubic-bezier(.20,.72,.24,1) 30ms both;
    transform-origin: 50% 0;
}

@keyframes rudub43PageEnter {
    0% {
        opacity: 0;
        filter: blur(2px);
        transform: translate3d(0, 10px, 0);
    }
    58% {
        opacity: 1;
        filter: blur(0);
    }
    100% {
        opacity: 1;
        filter: none;
        transform: none;
    }
}

@media screen and (max-width: 640px) {
    .theme-rudubplayer.rudub-page--internal .wrapper__main-page > .content {
        animation-duration: .44s;
    }

    @keyframes rudub43PageEnter {
        0% {
            opacity: 0;
            filter: blur(1.5px);
            transform: translate3d(0, 7px, 0);
        }
        58% {
            opacity: 1;
            filter: blur(0);
        }
        100% {
            opacity: 1;
            filter: none;
            transform: none;
        }
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer.rudub-page--internal .wrapper__main-page > .content {
        animation: none;
        filter: none;
        transform: none;
    }
}

/* RUDUBPLAYER STAGE 44 — DECODED FULLSTORY POSTER REVEAL
---------------------------------------------------------------------------- */
/* Геометрия 2:3 уже зарезервирована базовыми стилями. Пока файл декодируется,
   вместо пустого рывка видна спокойная поверхность в цветах Fullstory. */
.theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster {
    isolation: isolate;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,145,48,.12), transparent 48%),
        linear-gradient(145deg, #292a2e 0%, #1b1c20 54%, #15161a 100%);
}

.theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background: linear-gradient(118deg, rgba(255,255,255,.035), transparent 42%, rgba(255,145,48,.035));
    content: '';
    opacity: 1;
    pointer-events: none;
    transition: opacity .34s ease;
}

.theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster > img {
    position: relative;
    z-index: 1;
    display: block;
    opacity: 0;
    filter: blur(4px);
    transform: scale(1.018);
    transform-origin: 50% 50%;
    transition:
        opacity .58s cubic-bezier(.20,.72,.24,1),
        filter .68s cubic-bezier(.20,.72,.24,1),
        transform .68s cubic-bezier(.20,.72,.24,1);
    will-change: opacity, filter, transform;
}

.theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster.is-poster-loaded::before {
    opacity: 0;
}

.theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster.is-poster-loaded > img {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
}

.theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster.is-poster-error::before {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster::before {
        display: none;
    }

    .theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster > img {
        opacity: 1;
        filter: none;
        transform: none;
        transition: none;
        will-change: auto;
    }
}

/* RUDUBPLAYER STAGE 45 — JQUERY POSTER FADE MATCHED TO FULLSTORY BACKDROP
---------------------------------------------------------------------------- */
/* Изображение скрыто ещё до выполнения JS, поэтому даже memory cache не может
   показать готовый постер одним кадром. Opacity далее изменяется jQuery. */
.theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster > img {
    display: none;
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
    will-change: opacity;
}

.theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster.is-poster-fading > img,
.theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster.is-poster-loaded > img {
    display: block;
    filter: none;
    transform: none;
}

.theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster.is-poster-loaded > img {
    opacity: 1;
    will-change: auto;
}

.theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster.is-poster-loaded::before {
    opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .content--fullstory .page__hero .js-fullstory-poster > img {
        display: block;
        opacity: 1;
        transition: none;
        will-change: auto;
    }
}

/* RUDUBPLAYER — TARGET LAYOUT
---------------------------------------------------------------------------- */
/* В этой ветке нет главного promo-slider: header остаётся в потоке и не
   перекрывает блок рекомендаций. Fullstory по-прежнему использует overlay. */
.theme-rudubplayer .wrapper__main-page--home > .header {
    margin-bottom: 18px;
}

.theme-rudubplayer .wrapper__main-page--home > .main-recommended {
    margin: 0 var(--indent) 28px;
    padding: clamp(20px, 2vw, 30px);
    border: 1px solid var(--r4-border);
    border-radius: 24px;
    background:
        radial-gradient(circle at 0 0, rgba(247,148,30,.09), transparent 34%),
        linear-gradient(145deg, var(--r4-panel-strong), var(--r4-panel));
    box-shadow: 0 16px 36px rgba(0,0,0,.12);
}

.theme-rudubplayer .wrapper__main-page--home > .main-recommended .sect__header {
    margin-bottom: 20px;
}

.theme-rudubplayer .home-release-section {
    padding-top: 8px;
}

.theme-rudubplayer .home-release-section > .sect__content {
    min-width: 0;
}

/* Четыре текущих пункта и запас ещё на два помещаются без уменьшения шрифта. */
@media screen and (min-width: 1221px) {
    .theme-rudubplayer .header__menu {
        gap: clamp(14px, 1.35vw, 26px);
    }

    .theme-rudubplayer .header__menu > li > a {
        font-size: 15px;
    }
}

@media screen and (min-width: 1221px) and (max-width: 1450px) {
    .theme-rudubplayer .header__menu {
        gap: clamp(10px, 1vw, 16px);
    }

    .theme-rudubplayer .header__search,
    .theme-rudubplayer .search-block {
        width: clamp(168px, 14vw, 210px);
        flex-basis: 210px;
    }
}

/* У служебных страниц — самостоятельная тёмная поверхность и одна нижняя грань. */
.theme-rudubplayer .wrapper__main-page:not(.wrapper__main-page--home):not(.wrapper__main-page--fullstory) > .header:not(.header--scrolled) {
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.10);
    background: rgb(45 45 45);
}

/* Простая episode-Fullstory использует ту же систему поверхностей, что rudub3,
   но не получает отсутствующие poster/rating/torrent колонки. */
.theme-rudubplayer .content--fullstory .page--episode .page__hero {
    min-height: clamp(360px, 36vw, 560px);
    padding-right: clamp(24px, 5vw, 80px);
    padding-left: clamp(24px, 5vw, 80px);
}

.theme-rudubplayer .content--fullstory .page--episode .page__header-info {
    width: min(100%, 1100px);
    margin: 0 auto;
}

.theme-rudubplayer .content--fullstory .page--episode .page__breadcrumbs-slot {
    width: 100%;
}

.theme-rudubplayer .content--fullstory .page--episode .speedbar__list,
.theme-rudubplayer .content--fullstory .page--episode .page__meta,
.theme-rudubplayer .content--fullstory .page--episode .page__btns {
    justify-content: center;
}

.theme-rudubplayer .content--fullstory .page--episode .page__overview {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.theme-rudubplayer .content--fullstory .page--episode .page__player-title {
    color: var(--tt);
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 20px;
    font-weight: 700;
}

.theme-rudubplayer .content--fullstory .page--episode .page__watch-section:not(:has(> .page__panel--aside > *)) {
    grid-template-columns: minmax(0, 1fr);
}

.theme-rudubplayer .content--fullstory .page--episode .page__panel--aside:not(:has(*)) {
    display: none;
}

.theme-rudubplayer .content--fullstory .page--episode .eps-wrapper {
    margin-top: 14px;
    padding: 16px;
    border: 1px solid var(--r4-border);
    border-radius: 16px;
    background: rgba(255,255,255,.035);
}

.theme-rudubplayer .content--fullstory .page--episode .eps-wrapper p {
    margin: 0 0 10px;
    color: var(--tt);
    font-weight: 700;
}

.theme-rudubplayer .content--fullstory .page--episode .no-video-block {
    padding: clamp(26px, 4vw, 54px);
    border: 1px dashed rgba(255,255,255,.13);
    border-radius: 18px;
    background: rgba(0,0,0,.14);
    text-align: center;
}

.theme-rudubplayer .content--fullstory .page--episode .no-video-block h2 {
    margin: 0;
    color: var(--tt-fade);
    font-size: clamp(17px, 1.4vw, 22px);
    line-height: 1.5;
}

/* Быстрый поиск: ссылка на отключённый advanced-search скрыта и без JS. */
.theme-rudubplayer #searchsuggestions span.seperator {
    display: none !important;
}

/* AJAX-подгрузка не двигает viewport; новые карточки появляются каскадом. */
.theme-rudubplayer .pagination__btn-loader a::after {
    display: none;
    content: none;
}

.theme-rudubplayer .poster--ajax-added {
    animation: rudubplayerCardReveal .62s cubic-bezier(.18,.76,.22,1) var(--ajax-card-delay, 0ms) both;
    will-change: opacity, transform, filter;
}

@keyframes rudubplayerCardReveal {
    0% {opacity: 0; filter: blur(4px); transform: translateY(18px) scale(.988);}
    62% {opacity: 1; filter: blur(0);}
    100% {opacity: 1; filter: none; transform: none;}
}

@media screen and (max-width: 760px) {
    .theme-rudubplayer .wrapper__main-page--home > .main-recommended {
        margin-right: 14px;
        margin-left: 14px;
        padding: 18px;
        border-radius: 20px;
    }

    .theme-rudubplayer .content--fullstory .page--episode .page__hero {
        min-height: 380px;
        padding-right: 18px;
        padding-left: 18px;
    }
}

@media screen and (max-width: 590px) {
    .theme-rudubplayer .wrapper__main-page--home > .main-recommended {
        margin-right: 10px;
        margin-left: 10px;
        padding: 16px;
    }

    .theme-rudubplayer .content--fullstory .page--episode .page__hero {
        min-height: 350px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .poster--ajax-added {
        animation: none;
        filter: none;
        transform: none;
    }
}

/* RUDUBPLAYER V2 — SIX RECOMMENDATIONS, STABLE TOPBAR, EPISODE DETAILS
---------------------------------------------------------------------------- */
/* Шесть результатов всегда образуют полные ряды: 6 / 3 / 2 / 1. */
.theme-rudubplayer .recommendations-grid--six {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: start;
    gap: clamp(12px, 1.15vw, 20px);
}

.theme-rudubplayer .recommendations-grid--six > * {
    min-width: 0;
}

/* Геометрия topbar не меняется при переключении состояния. Это вместе с
   JS-гистерезисом исключает зацикливание около порога прокрутки. */
.theme-rudubplayer .wrapper__main-page > .header,
.theme-rudubplayer .wrapper__main-page > .header.header--scrolled {
    position: sticky;
    top: var(--r8-page-gap);
    width: 100%;
    min-height: var(--header-height);
    margin: 0 0 var(--r8-page-gap);
    padding: 8px clamp(12px, 1.2vw, 20px) 5px;
    overflow: visible;
    box-sizing: border-box;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.10);
    border-radius: var(--r8-radius);
    transform: translateZ(0);
    transition: border-color .2s ease, box-shadow .22s ease;
}

.theme-rudubplayer .wrapper__main-page > .header::before,
.theme-rudubplayer .wrapper__main-page > .header.header--scrolled::before {
    content: none !important;
}

.theme-rudubplayer .wrapper__main-page--home > .header,
.theme-rudubplayer .wrapper__main-page--home > .header.header--scrolled {
    margin-bottom: 18px;
}

.theme-rudubplayer .wrapper__main-page--fullstory > .header,
.theme-rudubplayer .wrapper__main-page--fullstory > .header.header--scrolled {
    margin: 0 0 calc(-1 * var(--header-height));
}

.theme-rudubplayer .wrapper__main-page--home > .header:not(.header--scrolled),
.theme-rudubplayer .wrapper__main-page--fullstory > .header:not(.header--scrolled) {
    background: rgba(8,9,12,.10);
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.theme-rudubplayer .wrapper__main-page:not(.wrapper__main-page--home):not(.wrapper__main-page--fullstory) > .header:not(.header--scrolled) {
    background: rgb(45 45 45) !important;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.theme-rudubplayer .wrapper__main-page > .header.header--scrolled {
    border-bottom-color: transparent;
    background: linear-gradient(180deg, rgba(17,18,21,.69), rgba(9,10,13,.57));
    box-shadow: 0 12px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.025);
    backdrop-filter: blur(22px) saturate(1.13);
    -webkit-backdrop-filter: blur(22px) saturate(1.13);
}

.theme-rudubplayer .wrapper__main-page > .header:not(.header--scrolled)::after {
    content: none !important;
}

.theme-rudubplayer .wrapper__main-page > .header.header--scrolled::after {
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,.022), transparent 62%);
}

/* Заголовок выпуска теперь находится в панели непосредственно над плеером. */
.theme-rudubplayer .content--fullstory .page--episode > .page__watch-section {
    margin-top: 18px;
}

.theme-rudubplayer .content--fullstory .page__subtitle--player {
    margin: 0 0 18px;
    max-width: 1100px;
}

.theme-rudubplayer .content--fullstory .page--episode .page__player-controls {
    justify-content: flex-end;
}

.theme-rudubplayer .content--fullstory .page--episode .player-reload-bar {
    margin: 0 0 12px auto;
}

/* Перевод и рекламодатель — плоские секции внутри одной внешней панели.
   Выделение создают цвет и акцентная полоса, а не вложенные карточки. */
.theme-rudubplayer .content--fullstory .page--episode .page__panel--aside {
    padding: 0;
    overflow: hidden;
}

.theme-rudubplayer .episode-release,
.theme-rudubplayer .episode-partner {
    position: relative;
    padding: 20px 18px;
    border: 0;
    border-radius: 0;
    background: linear-gradient(90deg, rgba(247,148,30,.11), rgba(255,255,255,.018) 72%);
    box-shadow: none;
}

.theme-rudubplayer .episode-partner {
    background: linear-gradient(90deg, rgba(255,255,255,.055), rgba(255,255,255,.012) 72%);
}

.theme-rudubplayer .episode-release + .episode-partner::after {
    position: absolute;
    top: 0;
    right: 18px;
    left: 18px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent);
    content: '';
}

.theme-rudubplayer .episode-release__row {
    display: grid;
    grid-template-columns: minmax(92px, .72fr) minmax(0, 1.28fr);
    align-items: baseline;
    gap: 9px;
    color: var(--tt-fade);
    font-size: 13px;
    line-height: 1.45;
}

.theme-rudubplayer .episode-release__row + .episode-release__row {
    margin-top: 9px;
}

.theme-rudubplayer .episode-release__row > strong {
    color: var(--tt);
    font-size: 14px;
    font-weight: 650;
}

.theme-rudubplayer .episode-release__brand i {
    color: #fff;
    font-style: normal;
    font-size: 18px;
}

.theme-rudubplayer .episode-release__brand i:nth-child(2) {
    color: #f8941e;
}

.theme-rudubplayer .episode-release--anidub .episode-release__brand i:nth-child(2) {
    color: #e8564c;
}

.theme-rudubplayer .episode-partner__content,
.theme-rudubplayer .episode-partner__content > *,
.theme-rudubplayer .episode-partner__content img {
    max-width: 100%;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.theme-rudubplayer .episode-partner__content > *,
.theme-rudubplayer .episode-partner__content .sprbd__spa,
.theme-rudubplayer .episode-partner__content .sb__content {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Навигация по сериям использует те же компактные кнопки-ссылки. */
.theme-rudubplayer .content--fullstory .page--episode .eps-wrapper {
    margin: 18px 0 0;
    padding: 17px 0 0;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.08);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    gap: 8px;
}

.theme-rudubplayer .content--fullstory .page--episode .eps-wrapper p {
    margin: 0 0 3px;
    font-size: 15px;
}

.theme-rudubplayer .content--fullstory .page--episode .eps_list {
    min-height: 38px;
    padding: 0 15px;
    border: 0;
    border-radius: 999px;
    background: var(--r4-button-secondary);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.075);
    color: var(--tt);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    transition: background .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.theme-rudubplayer .content--fullstory .page--episode .eps_list:hover,
.theme-rudubplayer .content--fullstory .page--episode .eps_list:focus-visible {
    background: var(--r4-button-primary-hover);
    box-shadow: 0 8px 19px rgba(241,98,34,.20);
    color: #fff;
    transform: translateY(-1px);
}

.theme-rudubplayer .content--fullstory .page--episode .eps_list--current {
    background: var(--r4-button-primary);
    box-shadow: 0 7px 17px rgba(241,98,34,.18);
    color: #fff;
}

/* Баннер DLE уже содержит готовый <a class="main-link">; не создаём
   вложенную ссылку и оформляем исходный текст выпуска как действие. */
.theme-rudubplayer .rudub-hub__digest-slot .main-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    max-width: 100%;
    gap: 8px;
    padding: 7px 12px;
    border: 1px solid rgba(255,229,211,.27);
    border-radius: 999px;
    background: rgba(43,18,39,.23);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
    color: #ffe7d4;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.theme-rudubplayer .rudub-hub__digest-slot .main-link::after {
    display: inline-block;
    flex: 0 0 auto;
    width: auto;
    height: auto;
    background: none;
    color: currentColor;
    content: '\2192';
    font-size: 15px;
    line-height: 1;
    opacity: .84;
    transform: none;
}

.theme-rudubplayer .rudub-hub__digest-slot .main-link:hover,
.theme-rudubplayer .rudub-hub__digest-slot .main-link:focus-visible {
    border-color: rgba(255,235,218,.50);
    background: rgba(255,255,255,.14);
    box-shadow: 0 7px 18px rgba(45,13,36,.18);
    color: #fff;
    transform: translateY(-1px);
}

.theme-rudubplayer .rudub-hub__digest-slot .main-link:hover::after,
.theme-rudubplayer .rudub-hub__digest-slot .main-link:focus-visible::after {
    transform: translateX(3px);
}

@media screen and (max-width: 1180px) {
    .theme-rudubplayer .recommendations-grid--six {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (max-width: 720px) {
    .theme-rudubplayer .recommendations-grid--six {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-rudubplayer .episode-release__row {
        grid-template-columns: minmax(0, 1fr);
        gap: 2px;
    }
}

@media screen and (max-width: 430px) {
    .theme-rudubplayer .recommendations-grid--six {
        grid-template-columns: minmax(0, 1fr);
    }

    .theme-rudubplayer .wrapper__main-page > .header,
    .theme-rudubplayer .wrapper__main-page > .header.header--scrolled {
        padding-top: 6px;
        padding-right: 10px;
        padding-bottom: 4px;
        padding-left: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .wrapper__main-page > .header,
    .theme-rudubplayer .content--fullstory .page--episode .eps_list,
    .theme-rudubplayer .rudub-hub__digest-slot .main-link {
        transition: none;
    }
}

/* RUDUBPLAYER V3 — TOPBAR MASK AND CATALOGUE DIRECTORY
---------------------------------------------------------------------------- */
/* На главной статичный topbar повторяет служебные страницы. Скругление
   появляется только после перехода в sticky-состояние. */
.theme-rudubplayer .wrapper__main-page--home > .header:not(.header--scrolled),
.theme-rudubplayer .wrapper__main-page:not(.wrapper__main-page--home):not(.wrapper__main-page--fullstory) > .header:not(.header--scrolled) {
    border-radius: 0;
}

.theme-rudubplayer .wrapper__main-page--home > .header:not(.header--scrolled) {
    background: rgb(45 45 45) !important;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* Маска закрывает полоску над sticky-topbar и внешние части верхних углов.
   Она не влияет на размеры панели и не возвращает прежний scroll-flicker. */
.theme-rudubplayer .wrapper__main-page > .header.header--scrolled::before {
    position: absolute;
    z-index: 0;
    top: calc(-1 * var(--r8-page-gap));
    right: 0;
    left: 0;
    width: 100%;
    height: calc(var(--r8-page-gap) + var(--r8-radius));
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(var(--bgfullpage), var(--bgfullpage)) left top / 100% var(--r8-page-gap) no-repeat,
        radial-gradient(circle at var(--r8-radius) var(--r8-radius), transparent 0 calc(var(--r8-radius) - .7px), var(--bgfullpage) var(--r8-radius)) left 0 top var(--r8-page-gap) / var(--r8-radius) var(--r8-radius) no-repeat,
        radial-gradient(circle at 0 var(--r8-radius), transparent 0 calc(var(--r8-radius) - .7px), var(--bgfullpage) var(--r8-radius)) right 0 top var(--r8-page-gap) / var(--r8-radius) var(--r8-radius) no-repeat;
    content: '' !important;
    pointer-events: none;
}

/* Фирменная метка дубляжа рядом с датой Fullstory. */
.theme-rudubplayer .content--fullstory .page__hero .page__meta-item-dub {
    border-color: rgba(255,177,73,.72);
    background: linear-gradient(135deg, #f9a43b 0%, #f16222 100%);
    box-shadow: 0 7px 17px rgba(241,98,34,.24), inset 0 1px 0 rgba(255,255,255,.23);
    color: #fff;
    font-weight: 800;
    letter-spacing: .055em;
    text-shadow: 0 1px 1px rgba(92,34,5,.22);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* Каталог сериалов: единая поверхность, строка поиска и сетка ссылок. */
.theme-rudubplayer .catalog-directory {
    margin: 0 0 34px;
    padding: clamp(22px, 2.5vw, 36px);
    border: 1px solid var(--r4-border);
    border-radius: 24px;
    background:
        radial-gradient(circle at 0 0, rgba(247,148,30,.09), transparent 31%),
        linear-gradient(145deg, var(--r4-panel-strong), var(--r4-panel));
    box-shadow: 0 15px 34px rgba(0,0,0,.10);
}

.theme-rudubplayer .catalog-directory__header {
    margin-bottom: 20px;
}

.theme-rudubplayer .catalog-directory__title {
    margin: 4px 0 0;
    color: var(--tt);
    font-family: 'Roboto Condensed', sans-serif;
    font-size: clamp(29px, 2.25vw, 40px);
    line-height: 1.08;
}

.theme-rudubplayer .catalog-directory .page__catalog_search {
    align-items: stretch;
}

.theme-rudubplayer .catalog-directory__search-field {
    position: relative;
    width: min(780px, 100%);
    margin-bottom: 25px;
}

.theme-rudubplayer .catalog-directory__search-field::after {
    position: absolute;
    right: 18px;
    bottom: 0;
    left: 46px;
    height: 2px;
    background: linear-gradient(90deg, rgba(247,148,30,.80), rgba(241,98,34,.35), transparent);
    content: '';
    opacity: 0;
    transform: scaleX(.45);
    transform-origin: left center;
    transition: opacity .2s ease, transform .24s ease;
    pointer-events: none;
}

.theme-rudubplayer .catalog-directory__search-field:focus-within::after {
    opacity: 1;
    transform: scaleX(1);
}

.theme-rudubplayer .catalog-directory__search-icon {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 18px;
    color: rgba(255,255,255,.55);
    font-size: 16px;
    transform: translateY(-50%);
    pointer-events: none;
}

.theme-rudubplayer .catalog-directory .catalog-directory__search-field .rdb-catalog-search {
    width: 100%;
    max-width: none;
    min-height: 50px;
    margin: 0;
    padding: 0 48px 0 46px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;
    outline: 0;
    background: rgba(255,255,255,.065);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
    color: var(--tt);
    caret-color: var(--accent-violet);
    font-size: 15px;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.theme-rudubplayer .catalog-directory .catalog-directory__search-field .rdb-catalog-search::placeholder {
    color: rgba(255,255,255,.44);
}

.theme-rudubplayer .catalog-directory .catalog-directory__search-field .rdb-catalog-search:focus {
    border-color: rgba(247,148,30,.48);
    background: rgba(255,255,255,.085);
    box-shadow: 0 0 0 3px rgba(247,148,30,.07), inset 0 1px 0 rgba(255,255,255,.035);
}

.theme-rudubplayer .catalog-directory__content {
    min-width: 0;
}

.theme-rudubplayer .catalog-directory .catalog-directory__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
}

.theme-rudubplayer .catalog-directory .catalog-directory__grid > li {
    position: relative;
    min-width: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.theme-rudubplayer .catalog-directory .catalog-directory__grid > li > a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 60px;
    padding: 13px 44px 13px 58px;
    overflow: hidden;
    border: 1px solid var(--r4-border);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
    box-shadow: var(--r4-card-shadow), inset 0 1px 0 rgba(255,255,255,.018);
    color: var(--tt);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.theme-rudubplayer .catalog-directory .catalog-directory__grid > li > a::after {
    position: absolute;
    top: 50%;
    right: 16px;
    color: rgba(255,255,255,.42);
    content: '\2192';
    font-size: 16px;
    line-height: 1;
    transform: translateY(-50%);
    transition: color .2s ease, transform .2s ease;
}

.theme-rudubplayer .catalog-directory .catalog-directory__grid > li > span,
.theme-rudubplayer .catalog-directory .catalog-directory__grid > li > a > span {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    min-height: 26px;
    padding: 3px 7px;
    border: 0;
    border-radius: 999px;
    background: rgba(247,148,30,.14);
    color: #f7a23c;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    transform: translateY(-50%);
    pointer-events: none;
    transition: background .2s ease, color .2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .theme-rudubplayer .catalog-directory .catalog-directory__grid > li > a:hover {
        border-color: rgba(247,148,30,.40);
        background: linear-gradient(145deg, rgba(247,148,30,.11), rgba(255,255,255,.035));
        box-shadow: 0 10px 23px rgba(0,0,0,.13), inset 0 1px 0 rgba(255,255,255,.035);
        color: #fff;
        transform: translateY(-2px);
    }

    .theme-rudubplayer .catalog-directory .catalog-directory__grid > li > a:hover::after {
        color: #f8a13a;
        transform: translate(3px, -50%);
    }

    .theme-rudubplayer .catalog-directory .catalog-directory__grid > li:hover > span,
    .theme-rudubplayer .catalog-directory .catalog-directory__grid > li > a:hover > span {
        background: var(--r4-button-primary);
        color: #fff;
    }
}

.theme-rudubplayer .catalog-directory .catalog-directory__grid > li > a:focus-visible {
    border-color: rgba(247,148,30,.60);
    outline: 2px solid rgba(247,148,30,.65);
    outline-offset: 2px;
}

@media screen and (max-width: 760px) {
    .theme-rudubplayer .catalog-directory {
        padding: 20px;
        border-radius: 20px;
    }

    .theme-rudubplayer .catalog-directory__search-field {
        width: 100%;
    }
}

@media screen and (max-width: 600px) {
    .theme-rudubplayer .catalog-directory {
        padding: 17px;
    }

    .theme-rudubplayer .catalog-directory .catalog-directory__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .theme-rudubplayer .catalog-directory .catalog-directory__search-field .rdb-catalog-search {
        min-height: 48px;
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-rudubplayer .catalog-directory__search-field::after,
    .theme-rudubplayer .catalog-directory .catalog-directory__grid > li > a,
    .theme-rudubplayer .catalog-directory .catalog-directory__grid > li > a::after {
        transition: none;
    }
}

/* RUDUBPLAYER V4 — STATIC TOPBAR, DUBBING PAGE AND POSTERS
---------------------------------------------------------------------------- */
/* В исходном положении topbar соединён с контентом снизу, но его верхняя
   кромка больше не выглядит обрезанной. Sticky-состояние остаётся круглым. */
.theme-rudubplayer .wrapper__main-page > .header:not(.header--scrolled) {
    border-radius: var(--r8-radius) var(--r8-radius) 0 0;
}

/* Отдельная статическая страница дубляжа повторяет поверхность, заголовок
   и адаптивную карточную сетку категорий и /latest/. */
.theme-rudubplayer .dubbing-page {
    width: 100%;
    margin-bottom: 34px;
}

.theme-rudubplayer .dubbing-page__description:empty {
    display: none;
}

.theme-rudubplayer .dubbing-page__description > :first-child {
    margin-top: 0;
}

.theme-rudubplayer .dubbing-page__description > :last-child {
    margin-bottom: 0;
}

/* У постеров нет декоративной подложки и рамки. Изображение отделяет от
   поверхности только мягкая тень; фирменная метка «ДУБЛЯЖ» сохраняется. */
.theme-rudubplayer .poster__img,
.theme-rudubplayer .home-announcements__grid > .poster .poster__img,
.theme-rudubplayer .home-announcements__grid > .poster:first-child .poster__img {
    border: 0;
    background: transparent;
    box-shadow: 0 6px 17px rgba(0,0,0,.20);
}

.theme-rudubplayer:not(.dt-is-active) .poster__img,
.theme-rudubplayer:not(.dt-is-active) .home-announcements__grid > .poster .poster__img,
.theme-rudubplayer:not(.dt-is-active) .home-announcements__grid > .poster:first-child .poster__img {
    box-shadow: 0 5px 15px rgba(0,0,0,.10);
}

.theme-rudubplayer .poster__img--dubbing::before {
    display: none;
    border: 0;
    content: none;
}

@media (hover: hover) and (pointer: fine) {
    .theme-rudubplayer .home-announcements__grid > .poster:hover .poster__img {
        border-color: transparent;
        box-shadow: 0 8px 20px rgba(0,0,0,.22);
    }
}

/* RUDUBPLAYER V5 — LIGHTWEIGHT CATALOGUE FILTER
---------------------------------------------------------------------------- */
/* Равносильные селекторы гарантируют верхние скругления статичного topbar
   на главной, Fullstory и всех служебных страницах. */
.theme-rudubplayer .wrapper__main-page--home > .header:not(.header--scrolled),
.theme-rudubplayer .wrapper__main-page--fullstory > .header:not(.header--scrolled),
.theme-rudubplayer .wrapper__main-page:not(.wrapper__main-page--home):not(.wrapper__main-page--fullstory) > .header:not(.header--scrolled) {
    border-radius: var(--r8-radius) var(--r8-radius) 0 0;
}

/* Внеэкранные пункты сохраняются в полном каталоге и доступны поиску, но
   браузер не тратит ресурсы на их внутреннюю отрисовку до прокрутки к ним. */
.theme-rudubplayer .catalog-directory .catalog-directory__grid > li {
    content-visibility: auto;
    contain-intrinsic-size: auto 60px;
}

.theme-rudubplayer .catalog-directory .catalog-directory__grid > li[hidden] {
    display: none !important;
}

/* RUDUBPLAYER V6 — DUBBING POSTER OUTLINE
---------------------------------------------------------------------------- */
/* Тонкая внутренняя обводка не меняет размеры постера и не сдвигает сетку. */
.theme-rudubplayer .poster__img--dubbing::before {
    position: absolute;
    z-index: 4;
    inset: 0;
    display: block;
    border: 2px solid rgba(247,148,30,.68);
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255,190,104,.035);
    content: '';
    pointer-events: none;
    transition: border-color .2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .theme-rudubplayer .poster:hover .poster__img--dubbing::before {
        border-color: rgba(247,148,30,.82);
    }
}

/* RUDUBPLAYER V7 — DUBBING SEASONS MODULE
---------------------------------------------------------------------------- */
.theme-rudubplayer .dubbing-seasons__empty {
    grid-column: 1 / -1;
    margin: 0;
    padding: 18px 20px;
    border: 1px solid var(--r4-border);
    border-radius: 16px;
    background: rgba(255,255,255,.035);
    color: var(--tt-fade);
    font-size: 14px;
    line-height: 1.6;
}
