/* Image carousel */
.gallery-container {
    max-width: 90vw;
    margin: 0 auto;
    padding: 20px;
}

.gallery-slider {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.slides-container {
    display: flex;
    overflow: hidden;
    width: 100%;
    scroll-behavior: smooth;
}

.slide {
    min-width: 100%;
    padding: 0 1%;
    transition: transform 0.3s ease;
}

.slide img {
    width: auto;
    max-width: 100%;
    height: 100%;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.nav-btn {
    background: rgba(255, 255, 255, 0.7);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    transition: background 0.3s ease;
}

.nav-btn:hover {
    background: rgba(50, 50, 50, 0.7);
}

.prev-btn {
    left: 10px;
}

.next-btn {
    right: 10px;
}

.dots-container {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ccc;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.dot.active {
    background-color: #333;
}

@media (min-width: 768px) { /* show more images on larger screens */
    .slide {
        min-width: calc((100% / 3) - (2% * 3)); /* three images per slide, with 2% padding each */
    }
    /* All elements are visible on larger screens, no need for navigation tools */
    .dots-container {
        display: none; /* hide dots on desktop */
    }
    .nav-btn {
        display: none /* hide navigation buttons on desktop */
    }
}