/* Точки-индикаторы */
.sem-slider-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}
.sem-slider-dot.active {
    background: #fff;
    transform: scale(1.2);
}
.sem-slider-dot:hover:not(.active) {
    background: rgba(255, 255, 255, 0.8);
}

/* CTA-кнопка в слайде */
.sem-slider-cta {
    transition: transform 0.2s;
}
.sem-slider-cta:hover {
    transform: scale(1.05);
}

/* Слайд-ссылка: убираем стандартные стили */
a.sem-slider-slide {
    display: block;
    color: inherit;
}

/* Фикс деления слайда 50/50 */
.sem-slider-slide {
    display: flex !important;
    flex-wrap: nowrap;
}
.sem-slider-slide > div:first-child,
.sem-slider-slide > div:nth-child(2) {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
}

/* Квадратное поле для изображения */
.sem-slider-slide .position-relative[style*="aspect-ratio"] {
    overflow: hidden;
}
.sem-slider-slide .position-relative[style*="aspect-ratio"] img {
    object-position: center;
}

/* Адаптив: на мобильных — вертикальная укладка */
@media (max-width: 767.98px) {
    .sem-slider-slide {
        flex-direction: column !important;
    }
    .sem-slider-slide > div:first-child,
    .sem-slider-slide > div:nth-child(2) {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .sem-slider-slide .position-relative[style*="aspect-ratio"] {
        aspect-ratio: 16/9 !important; /* или 1/1, если нужен квадрат */
    }
}


a.sem-slider-slide:hover {
    opacity: 0.95;
}

/* ── Два мини-блока (правая колонка) ── */
.sem-dual-thumbnails {
    /* Отступы между блоками задаются через gap-3 у родителя */
    font-size:1em;
}

.sem-thumb-block {
    height: var(--block-height, 160px); /* Регулируемая высота */
    border-radius: 0.75rem;
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.sem-thumb-block:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
    transform: translateY(-3px);
}

/* Фоновое изображение с зумом */
.sem-thumb-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

.sem-thumb-block:hover .sem-thumb-bg {
    transform: scale(1.08); /* Плавное увеличение на 8% */
}

/* Подпись: слева вверху */
.sem-thumb-caption {
    z-index: 2;
    background: linear-gradient(to right, rgb(149 163 169 / 60%), transparent);
    border-radius: 0 0 0.5rem 0;
    backdrop-filter: blur(2px);
    font-size: 1.4em;
}

/* Адаптив: на мобильных блоки чуть выше */
@media (max-width: 767.98px) {
    .sem-thumb-block {
        --block-height: 140px;
    }
}
