/* Точки-индикаторы */
.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;
}
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(0 121 147 / 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;
    }
}