.wp-block-bb-carousel.bb {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 20px;
    overflow: visible;
}

.bb_viewport {
    overflow: hidden;
}

.bb_track {
    display: flex;
    align-items: center;
    gap: 18px;
    transition: transform 420ms ease;
    will-change: transform;
}

.bb_slide {
    flex: 0 0 calc((100% - (18px * 2)) / 2);
    border-radius: 22px;
    overflow: hidden;
    opacity: 0.55;
    transform: scale(0.92);
    transition:
        transform 280ms ease,
        opacity 280ms ease;
}

.bb_slide img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
}

.bb_slide.is_active {
    opacity: 1;
    transform: scale(1);
}

.bb_slide.is_near {
    opacity: 0.85;
    transform: scale(0.96);
}
.bb_slide.is_far {
    transform: scale(0.88);
    opacity: 0.55;
    filter: blur(0.4px);
}

.bb_btn {
    position: absolute;
    top: 50%;
    width: 44px;
    height: 44px;
    border: 0;
    padding: 0;
    border-radius: 0;
    transform: translateY(-50%);
    cursor: pointer;
    background: transparent;
    box-shadow: none;
    z-index: 5;
}

.bb_prev {
    left: -35px;
}
.bb_next {
    right: -35px;
}

.bb_prev::before,
.bb_next::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}

.bb_prev::before {
    border-right: 14px solid rgba(255, 120, 60, 0.95);
}
.bb_next::before {
    border-left: 14px solid rgba(255, 120, 60, 0.95);
}

.bb_btn:focus-visible {
    outline: 2px solid rgba(255, 120, 60, 0.55);
    outline-offset: 3px;
}

.bb.bb_freeze .bb_track {
    transition: none !important;
}

.bb.bb_freeze .bb_slide {
    transition: none !important;
}

@media (min-width: 1200px) {
  .bb_slide {
    flex: 0 0 calc((100% - (18px * 2)) / 3);
  }
}

@media (max-width: 900px) {
  .bb_track { gap: 22px; }
  .bb_slide { flex: 0 0 calc((100% - (22px * 1)) / 2); }
  .bb_slide img { height: 320px; }
}

@media (max-width: 640px) {
    .wp-block-bb-carousel.bb {
        padding: 0;
    }

    .bb_slide {
        width: clamp(220px, 78vw, 480px);
    }

    .bb_track {
        gap: 20px;
    }

    .bb_slide { flex: 0 0 calc((100% - (22px * 1)) /1.3); }

    .bb_slide img {
        height: 260px;
    }
    .bb_viewport {
        padding-left: 0;
        padding-right: 0;
    }
}
