/* Bootstrap Image Gallery Styles */

/* Gallery Wrapper */
.gallery-wrapper {
    position: relative;
    margin: 0 -15px;
}

/* Gallery Scroll Container */
.gallery-scroll-container {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;  /* Smooth scrolling on iOS */
    scroll-behavior: smooth;
    scrollbar-width: none;  /* Firefox */
    -ms-overflow-style: none;  /* IE/Edge */
    padding: 20px 15px;
}

/* Hide scrollbar for Chrome/Safari */
.gallery-scroll-container::-webkit-scrollbar {
    display: none;
}

/* Gallery Grid */
.gallery-grid {
    display: flex;
    gap: 20px;
    width: max-content;
}



/* Navigation Buttons (nur Desktop) */
.gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.95);
    border: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.gallery-nav:hover {
    background-color: #ffffff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
    transform: translateY(-50%) scale(1.1);
}

.gallery-nav:active {
    transform: translateY(-50%) scale(0.95);
}

.gallery-nav .material-symbols-outlined {
    font-size: 40px;
    color: #333;
}

/* Button Position */
.gallery-nav-prev {
    left: -24px;
}

.gallery-nav-next {
    right: -24px;
}

/* Button States (disabled when at start/end) */
.gallery-nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.gallery-nav:disabled:hover {
    transform: translateY(-50%) scale(1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Desktop Optimization */
@media (min-width: 768px) {
    .gallery-wrapper {
        margin: 0;
    }
    
    .gallery-scroll-container {
        padding: 20px 0;
    }
    
}

/* Tablet */
@media (max-width: 991px) and (min-width: 768px) {
    .gallery-item {
        width: 320px;
        height: 420px;
    }
}

/* Mobile Optimization */
@media (max-width: 767px) {
    .gallery-wrapper {
        margin: 0 -15px;
    }
    
    .gallery-scroll-container {
        padding: 15px;
        scroll-snap-type: x mandatory;  /* Snap scrolling on mobile */
    }
    
    .gallery-grid {
        gap: 15px;
    }
    
    .gallery-item {
        width: 280px;
        height: 380px;
        scroll-snap-align: start;  /* Snap to start of each item */
    }
}

@media (max-width: 576px) {
    .gallery-item {
        width: calc(100vw - 60px);  /* Fast volle Breite auf kleinen Screens */
        height: 350px;
    }
    
    .gallery-grid {
        gap: 12px;
    }
}
