/* =========================================
   1. Основная сетка страницы
   ========================================= */
.video-page-layout {
    display: flex;
    gap: 10px;
    align-items: stretch;
    max-width: 1400px;
    width: 100%;
	flex-wrap: nowrap;
    margin: 0 auto;
	margin-top: 4px;
    box-sizing: border-box;
}
@media (max-width: 768px) {
.video-page-layout {
        display: block;
        gap: 0;
        max-width: none;
        width: 100%; /* базовая ширина — вся доступная */
        margin: 0; /* убираем свои margins */
        padding: 0; /* убираем свой padding, если был */
        /* Ключевой фикс: игнорируем padding родителя (.site-content и выше) */
        width: 100vw; /* полный viewport */
        margin-left: calc(50% - 50vw); /* выходим за пределы контейнера */
        /* position: relative; не обязательно, но можно оставить для стабильности */
    }
}
/* =========================================
   2. Левый основной блок (плеер + мета)
   ========================================= */
.main-video-content {
    flex: 1 1 600px;
    min-width: 0;
    background: #1a1a1a;
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
}
@media (max-width: 768px) {
    .main-video-content {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 0 10px;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        margin-top: 0;
    }
}
/* =========================================
   3. Правая колонка с похожими видео
   ========================================= */
.side-video-widgets {
    flex: 0 0 auto;
    max-width: 333px;
    width: 100%;
    display: flex;
    flex-direction: column;
    position: sticky;
    align-self: flex-start; /* Ключевой параметр: всегда выравнивание по верху */
    max-height: calc(100vh - 40px);
    box-sizing: border-box;
}
.side-video-widgets .cat-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px; /* Фиксированный отступ между виджетами */
    margin: 0;
    padding: 0;
}
/* =========================================
   Десктоп ≥769px: базовые стили
   ========================================= */
@media (min-width: 769px) {
    .side-video-widgets .cat-grid {
        height: 100%; /* Только по умолчанию — для случая с 3 виджетами */
        align-content: space-between; /* Равномерное распределение только при 3 */
    }
}
/* =========================================
   Высота экрана ≥900px: 3 виджета, равномерно по высоте
   ========================================= */
@media (min-height: 864px) and (min-width: 769px) {
    .side-video-widgets .cat-grid {
        grid-template-rows: 1fr 1fr 1fr; /* Растягиваем на всю высоту */
        align-content: space-between;
        height: 100%;
    }
}
/* =========================================
   Высота экрана 700–899px: только 2 виджета, прижаты к верху
   ========================================= */
@media (min-height: 700px) and (max-height: 863px) and (min-width: 769px) {
    .side-video-widgets .cat-grid {
        grid-template-rows: repeat(2, auto); /* Без растяжки */
        align-content: start; /* Прижимаем к верху */
        height: auto; /* Не занимаем всю высоту */
    }
    .side-video-widgets .cat-pack:nth-child(n+3) {
        display: none;
    }
}
/* =========================================
   Высота экрана 550–699px: только 1 виджет, прижат к верху
   ========================================= */
@media (min-height: 550px) and (max-height: 699px) and (min-width: 769px) {
    .side-video-widgets .cat-grid {
        grid-template-rows: auto; /* Одна строка, без растяжки */
        align-content: start;
        height: auto;
    }
    .side-video-widgets .cat-pack:nth-child(n+2) {
        display: none;
    }
}
/* =========================================
   Высота экрана <550px: полностью скрываем сайдбар
   ========================================= */
@media (max-height: 700px) {
    .side-video-widgets {
        display: none;
    }
}
/* =========================================
   Мобильные по ширине (≤768px) — скрываем
   ========================================= */
@media (max-width: 1080px) {
    .side-video-widgets {
        display: none;
    }
}
/* =========================================
   5. Плеер
   ========================================= */
.player-wrapper {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}
@media (max-width: 768px) {
    .player-wrapper {
        order: 2;
        margin: 0 0 10px 0;
        width: 100vw;
        margin-left: calc(50% - 50vw);
    }
}
.player-embed {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9; /* значение по умолчанию, будет перезаписано JS для вертикальных видео */
    overflow: hidden;
    border-radius: 12px;
}
@media (max-width: 768px) {
    .player-embed {
        width: 100vw;
		border-radius: 16px;
    }
}
/* Ключевой фикс скачка при старте видео на мобильных */
#wpst-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.plyr__video-wrapper {
background: transparent !important;
}
/* =========================================
   6. Заголовок и просмотры
   ========================================= */
.video-meta-header {
    margin: 10px 0;
}
@media (max-width: 768px) {
    .video-meta-header {
        order: 3;
        margin-top: 0;
    }
}
.video-title-wrapper {
    display: flex;
    align-items: baseline;
    justify-content: space-between; /* Оставляем для desktop */
    gap: 7px;
    flex-wrap: nowrap; /* Важно: запрещаем перенос, чтобы мета всегда справа */
}
@media (max-width: 768px) {
.video-title-wrapper {
        flex-direction: column;
        align-items: flex-start; /* Заголовок прижат к левому краю (как на YouTube) */
        justify-content: flex-start;
    }
}
.video-title {
    font-size: 20px;
    font-weight: bold;
    color: #ffffff;
    margin: 0;
    line-height: 1.3;
	white-space: nowrap;        /* Основное: не переносить текст */
}
@media (min-width: 768px) {
.video-title-wrapper {
    overflow: hidden;           /* Скрывать всё, что выходит за границы */
    text-overflow: ellipsis;    /* Добавить «…» в конце обрезанного текста */
    }
}
@media (max-width: 768px) {
    .video-title {
        font-size: 18px;
        text-align: left;
        width: 100%;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
        scrollbar-width: none;
    }
    .video-title::-webkit-scrollbar {
        display: none;
    }
}
.video-views {
    color: #bbbbbb;
    font-size: 14px;
    font-weight: 500;
	letter-spacing: 0.2px;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
/* =========================================
   7. Панель действий (лайки + кнопки)
   ========================================= */
.video-actions-bar {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 10px;
}
/* ✅ hover ТОЛЬКО на кнопки лайк / дизлайк */
.post-votes .vote-btn:hover {
    background: rgba(255, 255, 255, 0.08);
}
@media (min-width: 768px) {
/* Цвета при hover + active */
	.post-votes .like-btn:hover {
		color: rgba(210, 210, 210, 1);
	}
	.post-votes .dislike-btn:hover {
		color: rgba(210, 210, 210, 1);
	}
}
@media (max-width: 768px) {
    .video-actions-bar {
        display: grid;
        grid-template-columns: 1fr 1fr; /* Две равные колонки */
        grid-template-rows: auto auto; /* Две строки */
        gap: 10px 12px; /* Вертикальный 10px, горизонтальный 12px */
        justify-items: stretch; /* Элементы растягиваются по ширине колонки */
        align-items: center;
        padding: 0 10px;
        margin-bottom: 12px;
    }
    /* === Первая строка === */
    /* Лайки/дизлайки — теперь как обычная кнопка */
    .video-actions-bar > .post-votes-wrapper {
        grid-column: 1 / 2;
        grid-row: 1;
        height: 38px; /* Фиксированная высота как у action-btn */
        justify-self: stretch; /* Растягиваем на всю колонку */
    }
    .video-actions-bar > .post-votes-wrapper .post-votes {
        background: #282828; /* Тот же фон, что и у action-btn */
        border-radius: 8px;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
		justify-content: center;  /* Выравнивание по центру — лайк и дизлайк будут симметрично по центру контейнера */

    }


    /* Убираем любые искажения от hover/active */
    .post-votes .vote-btn:hover,
    .post-votes .vote-btn.active {
        background: transparent;          /* Нет фона, чтобы не "расширялось" визуально */
        box-shadow: none;
    }
    /* Кнопка Comments */
    .video-actions-bar > .action-btn:nth-child(2) { /* Comments */
        grid-column: 2 / 3;
        grid-row: 1;
        height: 38px;
        padding: 0 14px;
        justify-content: center;
    }
    /* === Вторая строка === */
    .video-actions-bar > .action-btn:nth-child(3) { /* Share */
        grid-column: 1 / 2;
        grid-row: 2;
        height: 38px;
        padding: 0 14px;
        justify-content: center;
    }
    .video-actions-bar > .action-btn:nth-child(4) { /* Report */
        grid-column: 2 / 3;
        grid-row: 2;
        height: 38px;
        padding: 0 14px;
        justify-content: center;
    }
}

/* Блок лайков/дизлайков */
.post-votes-wrapper .post-votes {
    display: flex;
    align-items: center;
    background: rgba(37, 37, 37, 1);
    height: 38px;
    padding: 0;
    border-radius: 8px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.06);
	border: 1px solid #2d2d2d !important;
	
}
.post-votes-wrapper .vote-btn {
    display: flex;
	font-weight: 500;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 100%;
    padding: 0 12px;
    color: #bbbbbb;
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 15px;
    transition: all 0.3s ease;
	
}
.post-votes .vote-btn .vote-icon {
    font-size: 0;
    display: inline-block;
    width: 24px;
    height: 24px;
    vertical-align: middle;
}
.post-votes .like-btn .vote-icon svg,
.post-votes .dislike-btn .vote-icon svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}
/* Убираем старую обводку с внутренних кнопок */
.post-votes .like-btn:hover,
.post-votes .like-btn.active,
.post-votes .dislike-btn:hover,
.post-votes .dislike-btn.active {
    box-shadow: none; /* Полностью убираем inset-обводку с внутренних кнопок */
    background: transparent;
}
/* Меняем цвет текста иконки/числа при активном состоянии */
.post-votes .like-btn.active {
    color: #4CAF50;
}
.post-votes .dislike-btn.active {
    color: #F44336;
}
/* Фикс прыжков/сужения блока лайков на десктопе (>768px) */
@media (min-width: 769px) {
    /* Основной контейнер лайков/дизлайков — фиксируем минимальную ширину */
.post-votes-wrapper .post-votes {
        justify-content: center;          /* Центрируем содержимое внутри фиксированной ширины */
    }

    /* Опционально: иконки тоже центрируем */
    .post-votes .vote-icon {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Кнопки не растягиваются и не сжимаются сверх нужного */
    .post-votes .vote-btn {
        min-width: 70px;               
        padding: 0 10px;
    }
}
/* =========================================
   8. Кнопки действий (Comments, Share, Report)
   ========================================= */
.action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 38px;
	padding-left: 12px;
    padding-right: 14px;
    background-color: rgba(40, 40, 40, 1);
    border: none;
    border-radius: 8px;
    color: #e0e0e0;
    font-size: 13.3px;
    font-weight: 500;
    cursor: pointer;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.06);
    transition: background-color 0.2s ease, border-color 0.2s ease;
	border: 1px solid #2d2d2d !important;
	letter-spacing: 0.2px;
}
.action-btn {
    -webkit-tap-highlight-color: transparent;
}

.action-btn svg {
    flex-shrink: 0;
    fill: currentColor;
    stroke: currentColor;
    opacity: 0.9;
}
.action-btn:hover svg {
    opacity: 1;
}
@media (min-width: 769px) {
	.action-btn:hover {
		background-color: rgba(43, 43, 43, 1);
		transition: background-color 0.3s ease, border-color 0.3s ease;
	}
}
.icon-comments::before,
.icon-share::before,
.icon-report::before {
    content: none;
}
/* =========================================
   9. Блок категорий и тегов
   ========================================= */
.categories-tags-label {
    font-size: 16px;
    font-weight: 500;
    color: #ffffff;
    margin: 20px 0 15px 0;
    display: block;
	letter-spacing: 0.2px;
}
@media (max-width: 768px) {
    .categories-tags-label {
        display: none;
    }
}
.video-categories-tags-under {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 10px 0;
    padding: 0;
}
@media (max-width: 768px) {
.categories-tags-section {
        order: 1;
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-top: 0 !important;
    }
    .video-categories-tags-under {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 8px;
        padding: 0px 8px 3px;
        margin-top: 0;
        scrollbar-width: none; /* Firefox */
    }
    .video-categories-tags-under::-webkit-scrollbar {
        display: none; /* Chrome/Safari */
    }
}    
/* Стили для ссылок — теперь без градиента, чистый фон */
.video-categories-tags-under a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    height: 38px;
	padding-left: 12px;
    padding-right: 14px;
    background-color: rgba(40, 40, 40, 1);
    border: none;
    border-radius: 8px;
    color: #e0e0e0;
    font-size: 13.3px;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.06); /* Внешняя тень остаётся */
    transition: background-color 0.2s ease, border-color 0.2s ease;
	border: 1px solid #2d2d2d !important;
	letter-spacing: 0.2px;
}
@media (min-width: 769px) {
	.video-categories-tags-under a:hover {
		background-color: rgba(43, 43, 43, 1);
	}
}
.video-tags-mobile {
    display: none !important;
}
.video-meta-info {
    display: flex;
    align-items: center;
    gap: 6px; /* Пробел вокруг · */
    white-space: nowrap; /* Чтобы "12 views · 2 months ago" не разрывалась */
    flex-shrink: 0; /* Не сжимается */
    color: #bbbbbb;
    font-size: 16px;
}
@media (max-width: 768px) {
.video-meta-info {
    width: 100%; /* Растягиваем на всю ширину, чтобы совпадать с кнопками */
    display: grid;
    grid-template-columns: 1fr 12px 1fr; /* Левая колонка, центральная (ширина = gap кнопок), правая колонка */
    gap: 0; /* Без лишних gaps, чтобы • был строго в 12px-зоне */
    align-items: center; /* Вертикальное центрирование элементов */
    padding: 0 10px; /* Совпадает с padding в .video-actions-bar для выравнивания по краям */
    font-size: 14px;
    white-space: nowrap; /* Сохраняем, чтобы текст не переносился */
}
.video-meta-info > .video-views:first-of-type {
    text-align: right; /* Views прижат к правому краю левой колонки (ближе к •) */
    padding-right: 4px; /* Опционально: мелкий отступ для визуального баланса, подкорректируйте по шрифту */
}
.video-meta-info > .meta-separator {
    text-align: center; /* • строго по центру 12px-зоны (в отступе между кнопками) */
}
.video-meta-info > .video-views:last-of-type {
    text-align: left; /* Date прижат к левому краю правой колонки (ближе к •) */
    padding-left: 4px; /* Опционально: симметричный отступ */
}
}
/* Только для секции Related videos */
.related-videos-section {
    margin-top: 2em; /* Большой отступ сверху от предыдущего контента (например, от тегов или плеера) */
}
.related-videos-section .widget-header {
    margin: 0 0 1.3em 1px; /* Отступ снизу от заголовка до сетки, слева — как у других */
}
.related-videos-section .widget-title-new {
    margin: 0;
    font-weight: 400;
    font-size: 1.6em; /* Можно подогнать под ваш дизайн */
}
/* Кнопка "Show more" по центру и с отступом */
.related-videos-section .show-more-related {
    text-align: center;
    margin: 2em 0 1em;
}
.related-videos-section .related-videos-btn {
    display: inline-block;
    padding: 12px 28px;
    background-color: #222; /* Или ваш акцентный цвет */
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-size: 1.1em;
    transition: background-color 0.3s;
}
.related-videos-section .related-videos-btn:hover {
    background-color: #444;
}
/* Серый разделитель во всю ширину только на мобильных устройствах */
@media only screen and (max-width: 768px) {
    .mobile-divider {
        display: block;
        width: 100%;
        height: 0.5px;
        border: none;
        background-color: #333;
        opacity: 1;
    }
}
/* Основной контейнер меню */
/* Базовые стили для всех подменю качества и скорости — только на мобильных (тач) */
@media (pointer: coarse) {
  [id^="plyr-settings-"][id$="-quality"] > div[role="menu"],
  [id^="plyr-settings-"][id$="-speed"] > div[role="menu"] {
touch-action: pan-y; /* Разрешаем только вертикальный скролл внутри */
    overscroll-behavior-y: contain; /* Самое важное — не даём скроллу "выходить" на body */
    -webkit-overflow-scrolling: touch;
    max-height: 15vh !important;
    overflow-y: auto !important;
    scrollbar-width: none; /* Firefox */
  }
  /* WebKit-браузеры (Chrome/Safari на Android/iOS) */
  [id^="plyr-settings-"][id$="-quality"] > div[role="menu"]::-webkit-scrollbar,
  [id^="plyr-settings-"][id$="-speed"] > div[role="menu"]::-webkit-scrollbar {
    display: none;
  }
}
/* Специальное правило для очень узких и очень высоких экранов (типа 344×882) */
@media (pointer: coarse) and (max-width: 360px) and (min-height: 850px) {
  [id^="plyr-settings-"][id$="-quality"] > div[role="menu"],
  [id^="plyr-settings-"][id$="-speed"] > div[role="menu"] {
    max-height: 10vh !important; /* ← как просили — 10vh */
  }
}
.plyr--full-ui input[type=range] {
  color: #fafafa;
}
/* Фон всегда прозрачный — без изменений */
.plyr--video .plyr__control:not(.plyr__control--overlaid):hover,
.plyr--video .plyr__control:not(.plyr__control--overlaid):focus,
.plyr--video .plyr__control:not(.plyr__control--overlaid).plyr__tab-focus,
.plyr--video .plyr__control:not(.plyr__control--overlaid)[aria-expanded="true"] {
    background: rgba(0, 0, 0, 0.0) !important;
    box-shadow: none !important; /* Убираем возможные тени фокуса */
    transform: none !important; /* Запрещаем любой масштаб */
}
/* На случай, если где-то применяется currentColor с другим контекстом */
.plyr--video .plyr__controls .plyr__control:hover {
    color: inherit !important;
}
.plyr__control.plyr__tab-focus {
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.3);
}
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: #fafafa;
}
/* Кастомная кнопка Play — уменьшенная версия, как на Pornhub/xHamster, без scale и сдвигов */
.plyr__control--overlaid {
  width: 100px !important;
  height: 100px !important;
  background: rgba(30, 30, 30, 0.7) !important; /* тёмно-серая полупрозрачная */
  border-radius: 50% !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2) !important;
  opacity: 0.95 !important;
  transition: background 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* Белая иконка — тоже уменьшена */
.plyr__control--overlaid svg {
 width: 43px !important;
 height: 43px !important;
 color: #fafafa !important;
 filter: drop-shadow(0 3px 3px rgba(0,0,0,0.1)) !important;
}
/* Hover — только осветление фона и тени, без любого масштаба */
.plyr__control--overlaid:hover,
.plyr__control--overlaid:focus {
  background: rgba(50, 50, 50, 0.7) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3) !important;
  opacity: 1 !important;
}
/* На мобильных — чуть больше (но всё равно уменьшено по сравнению с предыдущим) */
@media (max-width: 768px) {
  .plyr__control--overlaid {
    width: 80px !important;
    height: 80px !important;
  }
  .plyr__control--overlaid svg {
    width: 35px !important;
    height: 35px !important;
  }
}
.plyr__menu__container .plyr__control[role=menuitemradio] {
    padding-left: 7px;
    padding-left: calc(var(--plyr-control-spacing, 10px)*.7);
}
.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before {
    border-radius: 100%;
}
.plyr__menu__container .plyr__control[role=menuitemradio]:before {
    background: #0000001a; /* Не выбран — лёгкий серый */
    content: "";
    display: block;
    flex-shrink: 0;
    height: 18px; /* Чуть больше для видимости */
    margin-right: 12px;
    margin-right: var(--plyr-control-spacing,12px);
    transition: all .3s ease;
    width: 18px;
}
/* Убрали внутреннюю белую точку полностью */
.plyr__menu__container .plyr__control[role=menuitemradio]:after {
    display: none !important; /* Полностью скрываем ::after */
}
/* Выбранное качество — сплошной серый круг */
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before {
    background: #888888; /* Серый цвет — сплошной заполненный круг */
    /* Если хотите другой оттенок серого: #777777 (темнее), #aaaaaa (светлее) и т.д. */
}
/* Не даём менять фон выбранного пункта при hover/focus */
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:hover:before,
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:focus-visible:before,
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true].plyr__tab-focus:before {
    background: #888888 !important; /* Твой серый остаётся всегда */
    opacity: 1 !important; /* На всякий случай, если где-то стоит opacity */
}
/* На случай, если hover применяется к не выбранным — оставляем как есть, но можно заблокировать полностью */
.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before,
.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before {
    background: #0000001a !important; /* Оригинальный лёгкий фон для невыбранных */
}
/* Дополнительная страховка — если Plyr где-то использует transition на ::before */
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before {
    transition: none !important; /* Убираем плавность изменения, если она мешает */
}
.plyr *:focus,
.plyr *:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}
/* =========================================
   Light theme support
   ========================================= */

@media (min-width: 769px) {
[data-theme="light"] .main-video-content {
background: #fafafa;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
}
[data-theme="light"] .video-title,
[data-theme="light"] .categories-tags-label {
    color: #030303;
}
[data-theme="light"] .video-views,
[data-theme="light"] .video-meta-info {
    color: #606060;
}
[data-theme="light"] .post-votes-wrapper .post-votes,
[data-theme="light"] .action-btn,
[data-theme="light"] .video-categories-tags-under a {
    background: #fafafa;
    color: #000000;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07);
	border: 1px solid #c8c8c8 !important;
}
[data-theme="light"] .post-votes .vote-btn {
    color: #606060;
}
@media (min-width: 769px) {
/* Восстанавливаем стандартный hover и active цвет для лайк/дизлайк */
[data-theme="light"] .post-votes .like-btn:hover {
color: #717171 !important; /* !important на всякий случай, но можно и без */
}
[data-theme="light"] .post-votes .dislike-btn:hover {
color: #717171 !important;
}
}
[data-theme="light"] .post-votes .like-btn.active {
color: #4CAF50 !important;
}
[data-theme="light"] .post-votes .dislike-btn.active {
color: #F44336 !important;
}
@media (min-width: 769px) {
	[data-theme="light"] .action-btn:hover,
	[data-theme="light"] .video-categories-tags-under a:hover {
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.10);
	}
}
[data-theme="light"] .action-btn svg {
    fill: #000000;
    opacity: 0.85;
}
[data-theme="light"] .action-btn:hover svg {
    opacity: 1;
}
[data-theme="light"] .related-videos-section .related-videos-btn {
    background-color: #f2f2f2;
    color: #000000;
}
[data-theme="light"] .related-videos-section .related-videos-btn:hover {
    background-color: #e6e6e6;
}
[data-theme="light"] .mobile-divider {
    background-color: #e0e0e0;
}
.related-videos-section .mobile-divider {
margin-top: 20px;
}
/* REPORT MODAL */
.report-modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.report-modal-overlay.open {
    display: flex;
    opacity: 1;
}
.report-modal-content {
    background: #1e1e1e;
    color: #e0e0e0;
    width: 90%;
    max-width: 520px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
    overflow: hidden;
}
.report-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0 5px; /* Только вертикальный padding + снизу */
    border-bottom: 1px solid #333;
    position: relative; /* На всякий случай, если захотите absolute */
}
.report-modal-header h2 {
    margin: 0;
    font-size: 1.4rem;
    color: #fff;
    padding-left: 20px; /* Отступ слева только для заголовка */
}
.report-modal-close {
    background: none;
    border: none;
    color: #aaa;
    cursor: pointer;
    padding: 10px 15px; /* Отступ справа 20px (регулируйте), слева/сверху/снизу — для кликабельной зоны */
    margin-right: 0; /* Убираем лишние margins */
    transition: color 0.2s;
}
.report-modal-close:hover {
    color: #fff;
}
.report-modal-close svg {
    display: block;
}
.report-form {
    padding: 20px;
}
.report-form .form-group {
    margin-bottom: 18px;
}
.report-form .form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #ccc;
    pointer-events: none;
    user-select: none;
}
.report-form .form-group .required {
    color: #ff6b6b;
    pointer-events: none;
}
/* Кастомный dropdown */
.custom-select-wrapper {
    position: relative;
    width: 100%;
}
.custom-select {
    width: 100%;
    padding: 12px 36px 12px 14px;
    background: var(--hl-bg-secondary);
    border: 1px solid var(--hl-border);
    border-radius: 8px;
    color: var(--hl-text);
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.custom-select:hover,
.custom-select:focus {
    border-color: var(--hl-border) !important;
    box-shadow: none !important;
    outline: none !important;
}
.custom-select-selected {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #999;
}
.custom-select-selected.selected {
    color: var(--hl-text);
}
.custom-select-arrow {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 10px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath fill='%23666' d='M0 0l7 10 7-10z'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
    pointer-events: none;
    transition: transform 0.3s ease;
}
.custom-select.opened .custom-select-arrow {
    transform: translateY(-50%) rotate(180deg);
}
/* Дроплист — внешний контейнер с overflow-hidden для сохранения border-radius */
.custom-select-options {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: var(--hl-bg-secondary);
    border: 1px solid var(--hl-border);
    border-radius: 8px;
    z-index: 10;
    padding: 8px 0;
    list-style: none;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.5);
    overflow: hidden; /* ключевой фикс — скрываем overflow внешнего, radius сохраняется */
}
.custom-select-options.open {
    display: block;
}
/* Внутренний контейнер — здесь скролл */
.custom-select-options-inner {
    max-height: 220px;
    overflow-y: auto;
    overflow-x: hidden;
}
/* Базово скрываем скроллбар (мобильные) */
.custom-select-options-inner {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.custom-select-options-inner::-webkit-scrollbar {
    display: none;
}
/* Кастомный скроллбар только на десктопе */
@media (min-width: 769px) {
    .custom-select-options-inner {
        padding-right: 8px; /* место под скроллбар */
        scrollbar-width: thin;
        scrollbar-color: #444 var(--hl-bg-secondary);
    }
    .custom-select-options-inner::-webkit-scrollbar {
        width: 8px;
        display: block;
    }
    .custom-select-options-inner::-webkit-scrollbar-track {
        background: transparent;
        border-radius: 8px;
    }
    .custom-select-options-inner::-webkit-scrollbar-thumb {
        background: #444;
        border-radius: 8px;
    }
    .custom-select-options-inner::-webkit-scrollbar-thumb:hover {
        background: #555;
    }
}
/* НОВЫЕ ПРАВИЛА ДЛЯ ОПЦИЙ (div с role="option") */
.custom-select-options [role="option"] {
    padding: 12px 14px;
    color: var(--hl-text);
    cursor: pointer;
    display: block; /* важно для правильного поведения в flex/block */
    width: 100%;
	border-radius: 14px;
    box-sizing: border-box;
    transition: background 0.2s ease; /* плавный hover */
}

.custom-select-options [role="option"]:hover {
    background: rgba(255,255,255,0.05);
}



/* Фокус для клавиатурной навигации (доступность) */
.custom-select-options [role="option"]:focus {
    outline: none;
    background: rgba(255,255,255,0.1);
}
.custom-select-options li:hover {
    background: rgba(255,255,255,0.05) !important;
}
/* Textarea */
.report-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--hl-border);
    border-radius: 8px;
    font-size: 1rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    box-sizing: border-box;
    background: var(--hl-bg-secondary);
    color: var(--hl-text);
    resize: none;
    min-height: 120px;
}
.report-form textarea::placeholder {
    color: #999;
}
.report-form textarea:focus {
    outline: none;
}
/* Кнопки */
.report-form .form-actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
}
.report-form .report-submit-btn,
.report-form .report-cancel-btn {
    flex: 1;
    padding: 14px;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.2s;
}
.report-form .report-submit-btn {
    background: #e74c3c;
    color: #fff;
}
.report-form .report-submit-btn:hover {
    background: #c0392b;
}
.report-form .report-cancel-btn {
    background: #333;
    color: #ccc;
}
.report-form .report-cancel-btn:hover {
    background: #444;
}
/* Адаптивность */
@media (max-width: 600px) {
    .report-modal-content {
        width: 95%;
        margin: 10px;
    }
   
    .custom-select {
        padding-right: 40px;
    }
   
    .report-form .form-actions {
        flex-direction: column;
    }
   
    .report-form .report-submit-btn,
    .report-form .report-cancel-btn {
        width: 100%;
    }
}
/* Share */
/* Share */
.share-modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.share-modal-overlay.open {
    display: flex;
    opacity: 1;
}
.share-modal-content {
    background: #1e1e1e;
    color: #e0e0e0;
    width: 90%;
    max-width: 520px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
    overflow: hidden;
}
/* Header компактный */
.share-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 18px;
    border-bottom: 1px solid #333;
}
.share-modal-header h2 {
    margin: 0;
    font-size: 1.25rem;
    color: #fff;
}
.share-modal-close {
    background: none;
    border: none;
    color: #aaa;
    cursor: pointer;
    padding: 5px;
    transition: color 0.2s;
}
.share-modal-close:hover {
    color: #fff;
}
.share-modal-body {
    padding: 18px;
}
/* Основной layout — горизонтальный на десктопе */
.share-url-wrapper {
    display: flex;
    gap: 12px;
    align-items: center;
}
/* Поле со ссылкой */
.share-url-input {
    flex: 1;
    height: 48px;
    padding: 0 20px;
    background: var(--hl-bg);
    border: 2px solid var(--hl-border);
    border-radius: 12px;
    color: var(--hl-text);
    font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    outline: none;
    cursor: text;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}
/* Убрали любой hover-эффект с поля */
.share-url-input:hover {
    border-color: var(--hl-border); /* остаётся без изменений */
}
/* Кнопка Copy link — полностью в тёмных тонах */
.share-copy-btn {
    height: 48px;
    min-width: 120px;
    padding: 0 24px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    color: #e8e8e8;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    flex-shrink: 0;
    backdrop-filter: blur(6px);
}
.share-copy-btn:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.24);
}
.share-copy-btn:active {
    background: rgba(255, 255, 255, 0.18);
}
/* Light theme (если используется) */
[data-theme="light"] .share-url-input {
    background: var(--hl-bg);
    border-color: var(--hl-border);
    color: var(--hl-text);
}
[data-theme="light"] .share-copy-btn {
    background: rgba(0, 0, 0, 0.06);
    border-color: rgba(0, 0, 0, 0.12);
    color: #444;
}
[data-theme="light"] .share-copy-btn:hover {
    background: rgba(0, 0, 0, 0.10);
}
/* =========================================
   Light theme – Report Modal
   ========================================= */
[data-theme="light"] .report-modal-overlay {
    background: rgba(0, 0, 0, 0.65);
}
[data-theme="light"] .report-modal-content {
    background: #ffffff;
    color: #000000;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}
[data-theme="light"] .report-modal-header {
    border-bottom: 1px solid #e0e0e0;
}
[data-theme="light"] .report-modal-header h2 {
    color: #000;
}
[data-theme="light"] .report-modal-close {
    color: #666;
}
[data-theme="light"] .report-modal-close:hover {
    color: #000;
}
[data-theme="light"] .report-form .form-group label {
    color: #444;
}
[data-theme="light"] .custom-select {
    background: #f9f9f9;
    border-color: #ccc;
    color: #000;
}
[data-theme="light"] .custom-select:hover,
[data-theme="light"] .custom-select:focus {
    border-color: #999;
}
[data-theme="light"] .custom-select-options {
    background: #ffffff;
    border-color: #ccc;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}
[data-theme="light"] .custom-select-options li {
    color: #000;
}
[data-theme="light"] .custom-select-options li:hover {
    background: rgba(0, 0, 0, 0.06);
}
[data-theme="light"] .report-form textarea {
    background: #ffffff;
    border-color: #ccc;
    color: #000;
}
[data-theme="light"] .report-form textarea::placeholder {
    color: #888;
}
[data-theme="light"] .report-form .report-cancel-btn {
    background: #f0f0f0;
    color: #000;
}
[data-theme="light"] .report-form .report-cancel-btn:hover {
    background: #e0e0e0;
}
/* =========================================
   Light theme – Share Modal
   ========================================= */
[data-theme="light"] .share-modal-overlay {
    background: rgba(0, 0, 0, 0.65);
}
[data-theme="light"] .share-modal-content {
    background: #ffffff;
    color: #000000;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}
[data-theme="light"] .share-modal-header {
    border-bottom: 1px solid #e0e0e0;
}
[data-theme="light"] .share-modal-header h2 {
    color: #000;
}
[data-theme="light"] .share-modal-close {
    color: #666;
}
[data-theme="light"] .share-modal-close:hover {
    color: #000;
}
[data-theme="light"] .share-url-input {
    background: #f9f9f9;
    border-color: #ccc;
    color: #000;
}
[data-theme="light"] .share-copy-btn {
    background: rgba(0, 0, 0, 0.06);
    border-color: rgba(0, 0, 0, 0.12);
    color: #333;
}
[data-theme="light"] .share-copy-btn:hover {
    background: rgba(0, 0, 0, 0.10);
    border-color: rgba(0, 0, 0, 0.18);
}
[data-theme="light"] .share-copy-btn:active {
    background: rgba(0, 0, 0, 0.14);
}

.svgshare {
	position: relative;
    top: -1px;
}

/* Оверлей загрузки — поверх poster, полностью прозрачный фон */
.plyr-loading-overlay {
    position: absolute;
    inset: 0;
    background: transparent;  /* полностью прозрачный — poster виден на 100% */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 10;  /* выше poster и видео */
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease-out;
}

.plyr-loading-overlay.active {
    opacity: 1;
    pointer-events: all;
}

.plyr-spinner {
    width: 76px;
    height: 76px;
    border: 7px solid rgba(250, 250, 250, 0.25);     /* основной бордер — полупрозрачный чёрный */
    border-top: 7px solid #4b4b4b;            /* вращающаяся часть — почти чёрная */
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 16px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.plyr__badge {
	display: none
}


/* Полностью скрываем controls bar (включая gear и всё меню) на poster'е */
.plyr--stopped .plyr__controls {
    display: none !important;
}

/* Опционально: скрываем только dropdown-меню настроек (если хотите оставить play-кнопку) */
.plyr--stopped .plyr__menu__container {
    display: none !important;
}

/* На мобильных тоже (на всякий случай) */
@media (max-width: 768px) {
    .plyr--stopped .plyr__controls {
        display: none !important;
    }
}