.banner {
    overflow: hidden;
}

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

.embla__viewport {
    overflow: hidden;
    width: 100%;
}

.embla__container {
    display: flex;
    backface-visibility: hidden;
}

.embla__slide {
    flex: 0 0 100%;
    min-width: 0;
    aspect-ratio: 17 / 6;
}

.embla__slide picture {
    display: block;
    width: 100%;
    height: 100%;
}

.embla__slide-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Navigation Buttons */
.carousel-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,.65);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
    transition: .3s;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

.carousel-button:hover {
    background: #fff;
    transform: translateY(-50%) scale(1.08);
}

.carousel-button--prev {
    left: 20px;
}

.carousel-button--next {
    right: 20px;
}

.carousel-button svg {
    width: 24px;
    height: 24px;
}

/* Tablet & Mobile */
@media (max-width: 768px) {
    .embla__slide {
        aspect-ratio: 6 / 7;
    }

    .carousel-button {
        width: 40px;
        height: 40px;
    }

    .carousel-button svg {
        width: 20px;
        height: 20px;
    }

    .carousel-button--prev {
        display: none;
        left: 10px;
    }

    .carousel-button--next {
        display: none;
        right: 10px;
    }
}
