/* ========================================
   1. СЛАЙДЕР / БАННЕР
   ======================================== */

/* WordPress block wrapper */
.wp-block-vanilla-blocks-slider {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
}

.vb-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.vb-slider__container {
    display: flex;
    transition: transform 0.5s ease;
    width: 100%;
}

.vb-slider__slide {
    min-width: 100%;
    width: 100%;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: start;
    text-align: left;
    padding: 3rem 6rem;
    box-sizing: border-box;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
}

/* Альтернативный вариант: изображение через <img> с object-fit */
.vb-slider__bg-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* default, can be overridden by inline style */
    object-position: center;
    z-index: 0;
}

/* Для contain режима добавляем фон */
.vb-slider__slide--contain-bg {
    background-color: rgba(0, 0, 0, 0.9);
}

/* Dark overlay ONLY for slides with background images */
.vb-slider__slide[style*="background-image"]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    pointer-events: none;
}

/* Gradient overlay for slides without images */
.vb-slider__slide--gradient::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--vb-gradient);
    opacity: 0.9;
}

.vb-slider__content {
    position: relative;
    z-index: 1;
    color: #fff;
    max-width: 500px;
}

.vb-slider__title {
    font-size: var(--vb-font-h1);
    font-weight: 700;
    margin: 0 0 1rem;
    color: #fff;
    text-align:left;
}

.vb-slider__text {
    font-size: 1.25rem;
    opacity: 0.9;
    margin: 0 0 2rem;
    text-align:left;
}

.vb-slider__button {
    background: var(--vb-color-primary) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(20, 138, 255, 0.22);
}

.vb-slider__button:hover {
    background: #0f78de !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(20, 138, 255, 0.28);
}

.vb-slider__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: #fff !important;
    border: none !important;
    border-radius: 50%;
    color: #000 !important;
    font-size: 0.9rem;
    transition: box-shadow 0.3s ease, transform 0.2s ease, color 0.2s ease;
    z-index: 10;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    box-shadow: none;
    outline: none !important;
    appearance: none;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
    overflow: hidden;
    cursor: pointer !important;
}

.vb-slider__nav::after {
    content: none !important;
}

.vb-slider__nav::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    box-sizing: border-box;
}

.vb-slider__nav--prev::before {
    transform: rotate(-135deg);
    margin-left: 4px;
}

.vb-slider__nav--next::before {
    transform: rotate(45deg);
    margin-right: 4px;
}

.vb-slider__nav:hover {
    color: var(--vb-color-accent) !important;
    box-shadow: 0px 0px 10px 1px rgba(34, 60, 80, 0.2) !important;
}

.vb-slider__nav:focus,
.vb-slider__nav:focus-visible,
.vb-slider__nav:active {
    outline: none !important;
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
    border: none !important;
}

.vb-slider__nav--prev {
    left: 2rem;
}

.vb-slider__nav--next {
    right: 2rem;
}

.vb-slider__dots {
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    z-index: 10;
}

/* Testimonials slider - dots positioned below content */
.vb-testimonials-slider .vb-slider__dots {
    position: relative;
    bottom: auto;
    left: auto;
    transform: none;
    justify-content: center;
    margin-top: 24px;
}

/* Reset all button styles to ensure round bullets */
.vb-slider__dot,
button.vb-slider__dot,
.vb-slider__dots button,
.vb-slider__dots .vb-slider__dot {
    all: unset !important;
    width: 2rem !important;
    height: .3rem !important;
    min-width: 2rem !important;
    max-width: 2rem !important;
    min-height: .3rem !important;
    max-height: .3rem !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-width: 0 !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    display: inline-block !important;
    flex: 0 0 12px !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: 12px !important;
    overflow: hidden !important;
    vertical-align: middle !important;
    line-height: 0 !important;
    font-size: 0 !important;
    text-indent: -9999px !important;
    background: rgba(255, 255, 255, 0.5) !important;
    outline: none !important;
    cursor: pointer !important;
    transition: background 0.3s, opacity 0.3s !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.vb-slider__dot.active,
button.vb-slider__dot.active,
.vb-slider__dots button.active,
.vb-slider__dots .vb-slider__dot.active {
    background: #fff !important;
}

/* Testimonials dots - dark color for light background */
.vb-testimonials-slider .vb-slider__dot,
.vb-testimonials-slider button.vb-slider__dot {
    background: var(--vb-color-primary, #333) !important;
    opacity: 0.6 !important;
}

.vb-testimonials-slider .vb-slider__dot.active,
.vb-testimonials-slider button.vb-slider__dot.active {
    opacity: 1 !important;
}

@media (max-width: 768px) {
        .vb-slider__slide {
            min-height: 400px;
            justify-content: center;
            text-align: center;
            padding: 1rem;
        }

        .vb-slider__title {
            font-size: calc(var(--vb-font-h1) * 0.6);
            text-align: center;
        }
        .vb-slider__text {
            text-align: center;
            font-size: 1rem;
        }
        .vb-slider__nav {
            top:80%;
        }
        .vb-slider__nav--prev {
            left: 8rem;
        }
        .vb-slider__nav--next {
            right: 8rem;
        }
}
