/* Custom additions for the React port of the V Body landing page.
   Loaded/unloaded alongside bootstrap.min.css, style.css and themify-icons.css
   (see LandingPage.tsx) so it never leaks into other routes. */

#home,
#features,
#features-detail,
#pricing,
#contact {
    scroll-margin-top: 90px;
}

.vb-gallery {
    position: relative;
}

.vb-gallery-viewport {
    overflow: hidden;
    border-radius: 8px;
}

.vb-gallery-track {
    display: flex;
    transition: transform 0.5s ease;
}

.vb-gallery-slide {
    flex: 0 0 100%;
    max-width: 100%;
}

.vb-gallery-slide img {
    width: 100%;
    display: block;
    border-radius: 8px;
    box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.15);
}

.vb-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    border: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
    color: #633991;
}

.vb-gallery-arrow:hover {
    color: #ff487e;
}

.vb-gallery-arrow.prev {
    left: -10px;
}

.vb-gallery-arrow.next {
    right: -10px;
}

.vb-gallery-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
}

.vb-gallery-dot {
    border: 0;
    padding: 0;
    background: #e7d9eb;
    width: 35px;
    height: 8px;
    border-radius: 10px;
    transition: all 0.3s ease-in;
    cursor: pointer;
}

.vb-gallery-dot:hover {
    background: #ff487e;
}

.vb-gallery-dot.active {
    background: #ff487e;
    box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.07);
}

@media (max-width: 767px) {
    .vb-gallery-arrow {
        display: none;
    }
}
