/* Membership Gallery Styles */
.image-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.image-gallery .gallery-item, .image-gallery .gallery-image {
    position: relative;
    overflow: hidden;
}

.image-gallery img {
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.image-gallery .gallery-item:hover img {}

.image-slideshow {
    margin: 20px 0;
}

.image-slideshow .slideshow-item img {
    width: 100%;
    height: auto;
    display: block;
}

.gallery-caption {
    text-align: center;
    font-size: 14px;
    color: #555;
    padding-top: 5px;
}

.gallery-heading {
    font-size: 24px;
    margin-bottom: 20px;
    color: #333;
}

p.gallery-caption {
    line-height: 1.2;
    font-style: italic;
    font-size: .7em;
    text-align: left;
    margin-bottom: 0;
    font-weight: 400;
    font-family: 'Roboto-Light';
}
 
.image-slideshow {
    display: grid;
    max-width: 920px;
}

.slick-prev, .slick-next {
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
}

.slick-prev {
    left: 10px;
    font-weight: 900;
}

.slick-next {
    right: 10px;
    font-weight: 900;
}

.slick-prev:hover, .slick-next:hover {
    background-color: transparent;
}

.slick-next:before {
    content: '>';
}

.slick-prev:before {
    content: '<';
}

.slick-next:before, .slick-prev:before {
    font-size: 30px;
}

/* Add zoom effect to gallery images */
.gallery-item img {
    transition: transform 0.3s ease-in-out; /* Smooth transition */
}

.gallery-item:hover img {
    transform: scale(1.1); /* Zoom in by 10% */
    cursor: pointer; /* Optional: change cursor to pointer for better user experience */
}
.slick-next:before {
    color: #000;
}

button.slick-next.slick-arrow {right: -35px;}

.slick-prev:before {
    color: #000;
}

button.slick-prev.slick-arrow {left: -35px;}

/* Mobile Styles */
@media (max-width: 768px) {
    /* Adjust gallery to a 2-column grid on mobile */
    .image-gallery {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .gallery-heading {
        font-size: 20px;
        margin-bottom: 15px;
    }

    .gallery-caption {
        font-size: 12px;
        padding-top: 8px;
    }

    /* Adjust captions for better readability on mobile */
    p.gallery-caption {
        font-size: .9em;
        text-align: center;
    }

    /* Slideshow adjustment for smaller screens */
    .image-slideshow {
        max-width: 100%;
        margin: 10px 0;
    }

    /* Slideshow arrows size adjustment */
    .slick-prev, .slick-next {
        width: 25px;
        height: 25px;
    }

    .slick-next:before, .slick-prev:before {
        font-size: 24px;
    }
}

/* Extra Small Mobile Styles */
@media (max-width: 480px) {
    /* Stack gallery items in a single column for very small screens */
    .image-gallery {
        grid-template-columns: 1fr;
    }

    /* Further reduce text sizes for mobile phones */
    .gallery-heading {
        font-size: 18px;
    }

    .gallery-caption {
        font-size: 10px;
    }

    p.gallery-caption {
        font-size: .8em;
    }
}
