.btn:focus,
.btn:active,
button:focus,
button:active {
    outline: none !important;
    box-shadow: none !important;
}

/* Fixed Gallery carousel height (independent of image dimensions) */
#carouselCaptions {
    height: clamp(300px, 46vh, 620px) !important;
    overflow: hidden !important;
    background: #101010;
}

#carouselCaptions .carousel-inner.main-img.carousel-fix,
#carouselCaptions .carousel-inner.main-img.carousel-fix .carousel-item.carousel-fix {
    height: 100% !important;
}

#carouselCaptions .carousel-inner.main-img.carousel-fix .carousel-item.carousel-fix > img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
}

@media (max-width: 991px) {
    #carouselCaptions {
        height: clamp(240px, 40vh, 460px) !important;
    }
}

@media (max-width: 767px) {
    #carouselCaptions {
        height: clamp(200px, 34vh, 320px) !important;
    }
}

#image-gallery .modal-footer {
    display: block;
}

.thumb {
    margin-top: 15px;
    margin-bottom: 15px;
}

.bg-gallery-thumbnail {
    display: block;
    width: 100%;
    height: 100%;

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: all 200ms ease-in-out;
}

.bg-border {
    box-shadow: 0 0 3px white;
    border-radius: 1px;

}

.bg-gallery-img-thumbnail {
    opacity: 0 !important;
}

.bg-hover:hover {
    transform: scale(1.2);
}

.bg-rotate-Z:hover {
    transform: rotateZ(360deg);
    transition: all 1s ease-in-out;
}

.bg-rotate-Y:hover {
    transform: rotateY(360deg);
    transition: all 1s ease-in-out;
}

.bg-rotate-X:hover {
    transform: rotateX(360deg);
    transition: all 1s ease-in-out;
}
