/**
 * Стили для карусели видео-отзывов (owlCarousel)
 *
 * @package stomarus
 */


/* Карусель видео-отзывов */
.video-reviews-title {
    font-weight: 500;
    font-size: 36px;
    margin: 20px 0;
}

@media (max-width: 1024px) {
    .video-reviews-title {
        font-size: 28px;
        width: 100%;
    }
}

.video-reviews-carousel-wrapper {
    position: relative;
    margin-top: 40px;
    max-width: 100%;
    overflow: visible;
    padding: 0;
    margin-bottom: 35px;
}

/* Текст услуги/врача: одна строка, при hover — раскрытие поверх карусели */
.video-reviews-carousel-wrapper .specialists_otzyvy_link {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin-top: 20px;
}

.video-review-card:hover .specialists_otzyvy_link,
.video-review-card.tapped .specialists_otzyvy_link {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    word-break: break-word;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.video-reviews-carousel .owl-item {
    padding: 0;
    align-self: flex-start;
    position: relative;
    min-width: 0;
}

.video-reviews-carousel .owl-item > .item {
    width: 100%;
    min-width: 0;
}

.video-reviews-carousel {
    position: relative;
    width: 100%;
}

/* До инициализации Owl иначе .owl-carousel { display:none } — пустая вкладка */
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel:not(.owl-loaded) {
    display: block;
    visibility: visible;
    opacity: 1;
}

.video-reviews-carousel .owl-stage {
    display: flex;
    align-items: flex-start;
}

.video-reviews-carousel .owl-stage-outer {
    padding: 0;
    overflow: hidden;
    z-index: 99999;
}

/*
 * При hover у нас разрешается overflow для раскрытия контента карточки (вниз),
 * но это НЕ должно показывать off-screen карточки карусели слева/справа.
 * Решение: при overflow: visible клипуем область по X через clip-path,
 * расширяя клип по Y (отрицательные top/bottom), чтобы вертикальное раскрытие было видно.
 *
 * Важно: включаем overflow: visible только там, где доступен clip-path,
 * иначе в старых браузерах лучше оставить обрезку (чем показывать скрытые карточки).
 */
@supports ((clip-path: inset(0)) or (-webkit-clip-path: inset(0))) {
    .video-reviews-carousel .owl-stage-outer:has(.owl-item:hover),
    .video-reviews-carousel .owl-stage-outer.allow-overflow {
        overflow: visible;
        /* Предотвращаем изменение размеров при изменении overflow */
        width: 100% !important;
        max-width: 100% !important;
        -webkit-clip-path: inset(-5000px 0 -5000px 0);
        clip-path: inset(-5000px 0 -5000px 0);
    }
}

.video-reviews-carousel .owl-item:has(.video-review-card:hover) {
    z-index: 1000 !important; /* Значительно выше owl-nav (100) и owl-dots (10-11) */
    overflow: visible;
    /* НЕ меняем width/max-width, чтобы не конфликтовать с inline стилями owlCarousel */
}

/* Временно убраны стили для дочерних элементов при hover - проверяем, не они ли вызывают проблему */
/* Фиксируем размеры карточки и контейнера при hover через :has() */
/* .video-reviews-carousel .owl-item:has(.video-review-card:hover) .video-review-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    border: 0 !important;
    outline: none !important;
    padding: 0 !important;
}

.video-reviews-carousel .owl-item:has(.video-review-card:hover) .video-review-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    border: 0 !important;
    outline: none !important;
    padding: 0 !important;
    min-height: 475px !important;
}

.video-reviews-carousel .owl-item:has(.video-review-card:hover) .video-review-container {
    transform: scale(1) !important;
    contain: layout style;
}

.video-reviews-carousel .owl-item:has(.video-review-card:hover) .video-review-container img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: 475px !important;
    border: 0 !important;
    outline: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transform: scale(1) !important;
    scale: 1 !important;
    will-change: auto;
} */

/* Fallback для браузеров без поддержки :has() - используем JavaScript класс */
/* .allow-overflow обрабатывается выше (общим селектором) */

.video-reviews-carousel .owl-item.allow-overflow {
    z-index: 1000 !important; /* Значительно выше owl-nav (100) и owl-dots (10-11) */
    overflow: visible;
    /* НЕ меняем width/max-width, чтобы не конфликтовать с inline стилями owlCarousel */
}

/* Временно убраны стили для дочерних элементов при allow-overflow - проверяем, не они ли вызывают проблему */
/* Фиксируем размеры карточки и контейнера при применении allow-overflow */
/* .video-reviews-carousel .owl-item.allow-overflow .video-review-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    border: 0 !important;
    outline: none !important;
    padding: 0 !important;
}

.video-reviews-carousel .owl-item.allow-overflow .video-review-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    border: 0 !important;
    outline: none !important;
    padding: 0 !important;
    min-height: 475px !important;
}

.video-reviews-carousel .owl-item.allow-overflow .video-review-container {
    transform: scale(1) !important;
    contain: layout style;
}

.video-reviews-carousel .owl-item.allow-overflow .video-review-container img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: 475px !important;
    border: 0 !important;
    outline: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transform: scale(1) !important;
    scale: 1 !important;
    will-change: auto;
} */

/* Стрелки навигации owlCarousel */
.video-reviews-carousel-wrapper {
    position: relative;
}

.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: calc(100% + 120px) !important;
    left: -60px !important;
    z-index: 100 !important;
    margin: 0 !important;
    pointer-events: auto !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    will-change: auto;
}

@media (min-width: 768px) {
    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

@media (min-width: 1380px) {
    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav {
        padding-left: 0!important;
        padding-right: 0!important;
    }
}


@media (max-width: 768px) {
    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav {
        position: unset !important;
        top: auto !important;
        transform: unset;
        pointer-events: auto !important;
        width: unset !important;
        left: unset !important;
        z-index: 100 !important;
        margin: 0 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        /* Жестко фиксируем позицию относительно wrapper, чтобы не смещалась при hover */
        will-change: auto;
    }

    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button {
        pointer-events: auto !important;
        z-index: 101 !important;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(186, 167, 140, 0.3);
    }

    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button span {
        pointer-events: auto !important;
    }
}


/* Стрелки навигации - убираем фон полностью */
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button,
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav [class*=owl-] {
    position: relative;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 45px;
    height: 45px;
    opacity: 0.8;
    transition: opacity 0.3s ease;
    box-shadow: none !important;
    pointer-events: auto !important;
    border-radius: 0 !important;
    color: transparent !important;
    z-index: 101;
}

.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button:hover,
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav [class*=owl-]:hover {
    opacity: 1;
    box-shadow: none !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Стрелки навигации - все span внутри кнопок */
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button span {
    display: block;
    width: 45px;
    height: 45px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    color: transparent;
    filter: brightness(0) !important;
    -webkit-filter: brightness(0) !important;
    transition: filter 0.3s ease, opacity 0.3s ease;
}

/* Неактивные стрелки (серые) - используем встроенный класс disabled от owlCarousel */
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button.disabled span,
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button.owl-nav-disabled span {
    filter: brightness(0) saturate(0) opacity(0.4) !important;
    -webkit-filter: brightness(0) saturate(0) opacity(0.4) !important;
    cursor: not-allowed;
}

.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button.disabled,
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button.owl-nav-disabled {
    opacity: 0.4 !important;
    cursor: not-allowed;
}

/* Стрелка влево */
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button.owl-prev span {
    background-image: url(/wp-content/themes/stomarus/img/s_arrow_l.svg);
}

/* Стрелка вправо */
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button.owl-next span {
    background-image: url(/wp-content/themes/stomarus/img/s_arrow_r.svg);
}

/* Индикаторы слайдера (точки) */
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-dots.disabled {
    display: none !important;
}

.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    padding: 0;
    z-index: 10;
}

.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-dots .owl-dot {
    vertical-align: middle !important;
    display: inline-block !important;
}

.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-dots .owl-dot span {
    background: #EBEBEB !important;
    width: 50px !important;
    height: 3px !important;
    border-radius: 0 !important;
    margin: 5px 7px !important;
    display: block !important;
}

.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-dots .owl-dot.active span,
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-dots .owl-dot:hover span {
    background: #BAA78C !important;
}

/* Карточка видео-отзыва (полная, не simple) */
.video-review-card:not(.video-review-card--simple) {
    --video-review-info-height: 108px;
    background: #fff;
    border-radius: 0;
    overflow: visible;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    margin: 0 0 40px;
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0 0 var(--video-review-info-height);
    box-sizing: border-box;
    position: relative;
    flex-shrink: 0;
    border: 0;
    outline: none;
    z-index: 1;
    transition: box-shadow 0.3s ease;
}

.video-review-card:not(.video-review-card--simple):hover,
.video-review-card:not(.video-review-card--simple).tapped {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

/* simple-карточки — без текстового блока */
.video-review-card--simple {
    background: #fff;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    margin: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    position: relative;
}

.video-review-header {
    background: linear-gradient(135deg, #4a4a4a 0%, #5a5a5a 100%);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 20px;
    overflow: visible;
    padding-bottom: 30px;
    z-index: 2;
    display: none;
}

.video-review-header::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 0;
    right: 0;
    height: 30px;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 60" preserveAspectRatio="none"><path d="M0,20 Q150,0 300,20 T600,20 T900,20 T1200,20 L1200,60 L0,60 Z" fill="%234a4a4a"/></svg>') no-repeat bottom;
    background-size: 100% 100%;
    z-index: 0;
}

.video-review-title {
    color: #fff;
    font-family: 'Roboto', 'Arial', sans-serif;
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}

.video-review-title-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Блок услуги/врача: всегда сразу под фото, при hover растёт вниз поверх карусели */
.video-review-card:not(.video-review-card--simple) .video-review-info {
    position: absolute;
    top: calc(100% - var(--video-review-info-height));
    left: 0;
    right: 0;
    width: 100%;
    min-width: 0;
    min-height: var(--video-review-info-height);
    padding: 20px;
    padding-top: 0;
    background: #fff;
    box-sizing: border-box;
    z-index: 2;
}

.video-review-card:not(.video-review-card--simple):hover .video-review-info,
.video-review-card:not(.video-review-card--simple).tapped .video-review-info {
    z-index: 1000;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.video-review-info {
    padding: 20px;
    padding-top: 0;
    background: #fff;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    position: relative;
}

.video-review-video {
    padding: 0;
    background: #fff;
    text-align: center;
    position: relative;
    margin-top: 0;
    /* Изолируем от изменений в дочерних элементах */
    isolation: isolate;
}

.video-review-video .video-review-container {
    max-width: 100% !important;
    margin: 0 !important;
    width: 100% !important;
    min-height: 475px;
    cursor: default;
    position: relative;
    overflow: hidden;
    /* Жестко фиксируем ширину контейнера */
    box-sizing: border-box !important;
    flex-shrink: 0;
    /* Убираем border и outline, чтобы не влияли на размеры */
    border: 0 !important;
    outline: none !important;
    padding: 0 !important;
    /* Создаем новый слой композиции, чтобы изолировать от изменений в других элементах */
    transform: translateZ(0);
    will-change: transform;
    /* Изолируем layout изменения */
    contain: layout style paint;
    /* Изолируем stacking context */
    isolation: isolate;
    /* Разрешаем горизонтальный свайп для карусели и вертикальный скролл */
    touch-action: pan-x pan-y;
}

/* Кнопка play в левом нижнем углу */
.video-play-button {
    position: absolute;
    bottom: 30px;
    left: 30px;
    width: 80px;
    height: 80px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 100;
    transition: background-color 0.3s ease, transform 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    pointer-events: auto !important;
    transform-origin: center;
    /* Убеждаемся, что кнопка кликабельна на мобильных */
    -webkit-tap-highlight-color: rgba(186, 167, 140, 0.3);
    touch-action: manipulation;
}

.video-play-button svg {
    width: 36px;
    height: 36px;
    color: #4a4a4a;
    margin-left: 3px; /* Смещение иконки для визуального центрирования */
    transition: color 0.3s ease;
}

/* Эффект наведения - коричневый фон кнопки и увеличение размера относительно центра */
.video-review-card:hover .video-play-button {
    background-color: #BAA78C;
    transform: scale(1.1515); /* 76/66 = 1.1515 */
}

.video-review-card:hover .video-play-button svg {
    color: #fff;
}

/* Базовые стили для всех изображений в карусели */
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-item img,
.video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .video-review-container img,
.video-review-video .video-review-container img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: 475px !important;
    object-fit: cover !important;
    display: block !important;
    object-position: center;
    background: #000 !important;
    transition: none !important;
    transform: scale(1) !important;
    scale: 1 !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    /* Убираем border и outline, чтобы не влияли на размеры */
    border: 0 !important;
    outline: none !important;
    padding: 0 !important;
    /* Фиксируем размеры изображения */
    will-change: auto;
}

/* Изображение не должно изменяться при наведении на карточку */
.video-review-card:hover .video-review-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    /* Сохраняем те же размеры при hover */
    border: 0 !important;
    outline: none !important;
    padding: 0 !important;
    /* Фиксируем размеры контейнера */
    min-height: 475px !important;
    height: auto !important;
    /* Фиксируем через transform */
    transform: scale(1) !important;
    /* Изолируем layout изменения */
    contain: layout style;
}

.video-review-card:hover .video-review-container img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: 475px !important;
    transform: scale(1) !important;
    scale: 1 !important;
    /* Убираем border и outline у изображения */
    border: 0 !important;
    outline: none !important;
    padding: 0 !important;
    /* Предотвращаем изменение размеров */
    box-sizing: border-box !important;
    /* Фиксируем размеры изображения */
    will-change: auto;
}

/* Модальное окно для видео */
.video-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.video-modal .modal-content {
    position: relative;
    width: 90%;
    max-width: 1200px;
}

.video-modal .modal-content iframe {
    width: 100%;
    height: 100%;
    min-height: 400px;
    border: none;
    margin-top: 35px;
}

.video-modal .close-modal {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 30px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    z-index: 10000;
}

.video-modal .close-modal:hover {
    background: #f0f0f0;
}

/* Медиа-запросы */
@media (max-width: 1199px) {
    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav {
        width: calc(100% + 80px);
        left: -40px;
    }
}

@media (max-width: 768px) {
    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button span {
        margin-top: 33px;
    }
}

@media (max-width: 767px) {
    .video-reviews-carousel-wrapper {
        padding-bottom: 0;
    }

    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-stage-outer {
        margin: 0;
    }

    /* Кнопка play на мобильных */
    .video-play-button {
        z-index: 100;
        width: 70px;
        height: 70px;
        bottom: 20px;
        left: 20px;
        pointer-events: auto !important;
        -webkit-tap-highlight-color: rgba(186, 167, 140, 0.3);
    }

    .video-play-button svg {
        width: 32px;
        height: 32px;
    }

    /* На мобильных тап раскрывает текст поверх карусели (позиция как на desktop) */
    .video-review-card.tapped .specialists_otzyvy_link {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        word-break: break-word;
    }

    /* Контейнер фото должен быть кликабельным на мобильных */
    .video-review-video .video-review-container {
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    /* Создаем общий контейнер для точек и стрелок на мобильных */
    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-dots:not(.disabled) {
        position: absolute;
        bottom: 0;
        /* держим точки строго между стрелками */
        left: 70px;
        right: 70px;
        transform: none;
        margin: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6px;
        z-index: 11;
        padding: 0;
        width: auto;
        min-width: 0;
    }

    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-dots.disabled {
        display: none !important;
    }

    /* делаем "полоски" точек уже на мобильном */
    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-dots .owl-dot span {
        width: 24px !important;
        margin: 0 3px !important;
    }

    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav {
        position: absolute;
        bottom: 0;
        top: auto;
        transform: none;
        width: 100%;
        left: 0;
        margin: 0;
        padding: 0;
        pointer-events: auto !important;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 20 !important;
        /* Высота должна соответствовать высоте точек навигации */
        height: 20px;
    }

    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav .owl-prev {
        position: absolute;
        left: 20px;
        bottom: 0;
        margin: 0;
        pointer-events: auto !important;
        display: flex;
        align-items: center;
        justify-content: center;
        top: 50%;
        transform: translateY(-50%);
        z-index: 21 !important;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(186, 167, 140, 0.3);
    }

    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav .owl-next {
        position: absolute;
        right: 20px;
        bottom: 0;
        margin: 0;
        pointer-events: auto !important;
        display: flex;
        align-items: center;
        justify-content: center;
        top: 50%;
        transform: translateY(-50%);
        z-index: 21 !important;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(186, 167, 140, 0.3);
    }

    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button {
        width: 35px;
        height: 35px;
        display: flex;
        align-items: center;
        justify-content: center;
        pointer-events: auto !important;
        z-index: 22 !important;
        position: relative;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(186, 167, 140, 0.3);
    }

    .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-nav button span {
        width: 35px;
        height: 35px;
        pointer-events: auto !important;
        display: block;
    }

    .video-review-header {
        padding: 15px;
    }

    .video-review-title {
        font-size: 16px;
    }

    .video-review-title-dot {
        width: 6px;
        height: 6px;
    }

    /*.video-review-info {*/
    /*    padding: 15px;*/
    /*    padding-top: 0;*/
    /*}*/
    .video-modal .modal-content {
        width: 95%;
    }

    .video-modal .modal-content iframe {
        min-height: 300px;
    }

    /*
     * simple: полоски ниже превью.
     * Важно: .owl-dots position:absolute считаются от .owl-carousel, не от wrapper — padding задаём на карусель.
     */
    .video-reviews-container--simple .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme {
        padding-bottom: 0 !important;
        box-sizing: border-box;
    }

    .video-reviews-container--simple .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-dots {
        bottom: 0 !important;
        left: 70px;
        right: 70px;
        transform: none !important;
    }
}

/* Режим simple: только превью + play, без подписей (шорткод simple="1") */
.video-reviews-container--simple .video-reviews-carousel-wrapper {
    margin-top: 16px;
    margin-bottom: 24px;
}

/*
 * Зазор под превью до полосок: padding на .owl-carousel (контекст позиционирования .owl-dots).
 */
.video-reviews-container--simple .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme {
    position: relative;
    padding-bottom: 40px;
    box-sizing: border-box;
}

/* Индикаторы — внизу области с учётом padding карусели */
.video-reviews-container--simple .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-dots {
    bottom: 0 !important;
    transform: translateX(-50%);
}

.video-reviews-container--simple .video-review-card--simple {
    margin: 0 0 24px 0;
    box-shadow: none;
    min-height: 0;
}

.video-reviews-container--simple .video-review-card--simple:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* Превью не из video_image_horizontal — фиксированное соотношение как у YouTube */
.video-reviews-container--simple .video-review-video .video-review-container:not(.video-review-container--horizontal-thumb) {
    min-height: 0 !important;
    aspect-ratio: 16 / 9;
    height: auto;
    contain: layout style;
}

.video-reviews-container--simple .video-review-video .video-review-container:not(.video-review-container--horizontal-thumb) img {
    min-height: 0 !important;
    height: 100% !important;
    object-fit: cover;
}

/*
 * video_image_horizontal: натуральные пропорции.
 * Перебиваем глобальное правило .video-reviews-carousel-wrapper ... .video-review-container img
 * (min-height: 475px !important; object-fit: cover !important) — оно сильнее по специфичности, чем 4 класса.
 */
.video-reviews-container--simple .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-item .video-review-video .video-review-container.video-review-container--horizontal-thumb,
.video-reviews-container--simple .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-item .video-review-container.video-review-container--horizontal-thumb {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: auto;
    width: 100% !important;
    contain: layout style;
}

.video-reviews-container--simple .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-item .video-review-container.video-review-container--horizontal-thumb img,
.video-reviews-container--simple .video-reviews-carousel-wrapper .video-reviews-carousel.owl-carousel.owl-theme .owl-item .video-review-video .video-review-container.video-review-container--horizontal-thumb img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center;
    display: block !important;
}

.video-reviews-container--simple .video-review-card--simple .video-review-container.video-review-container--horizontal-thumb,
.video-reviews-container--simple .video-review-card--simple:hover .video-review-container.video-review-container--horizontal-thumb {
    min-height: 0 !important;
    height: auto !important;
}

.video-reviews-container--simple .video-review-card--simple:hover .video-review-container.video-review-container--horizontal-thumb img {
    min-height: 0 !important;
    height: auto !important;
    object-fit: contain !important;
}

.video-reviews-container--simple .video-play-button {
    width: 56px;
    height: 56px;
    bottom: 16px;
    left: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

.video-reviews-container--simple .video-play-button svg {
    width: 28px;
    height: 28px;
}

.video-reviews-container--simple .video-review-card--simple:hover .video-play-button {
    transform: scale(1.08);
}

@media (max-width: 767px) {
    .video-reviews-container--simple .video-play-button {
        width: 48px;
        height: 48px;
        bottom: 12px;
        left: 12px;
    }

    .video-reviews-container--simple .video-play-button svg {
        width: 24px;
        height: 24px;
    }
}
