.custom-gallery {
    background: linear-gradient(to bottom, #292929, #1f1f1f); /* dark background like your reference */
    border-radius: 2rem;
    overflow: hidden;
    box-shadow: 0 0 30px rgba(255, 116, 0, 0.25); /* orange glow */
}

.fixed-image {
    width: 100%;
    object-fit: contain;
    object-position: center;
}

/* Responsive size adjustments based on aspect ratio */
@media (min-width: 768px) {
    .fixed-image.landscape {
        max-width: 500px;
        height: 300px;
    }

    .fixed-image.portrait {
        max-width: 300px;
        height: 450px;
    }

    .fixed-image.square {
        max-width: 400px;
        height: 400px;
    }
}
.btn {
    background-color: #ff7400;
}
.badge {
    background-color: #ff7400;
}
.custom-h1 {
    color: #ff7400;
}
.hover-zoom img {
    transition: transform 0.3s ease;
}

.hover-zoom:hover img {
    transform: scale(1.05);
}

.card-img-top {
    border-radius: 1rem;
    object-fit: cover;
}
.album-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 15px;
    background-color: #fff;
    overflow: hidden;
    display: block;
}

.album-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}

.album-img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    border-radius: 15px 15px 0 0;
}

.masonry-grid {
    column-count: 6;
    column-gap: 16px;
}

.masonry-item {
    break-inside: avoid;
    margin-bottom: 16px;
    width: 100%;
    display: inline-block;
}

/* Responsive Columns */
@media (max-width: 1400px) {
    .masonry-grid {
        column-count: 5;
    }
}
@media (max-width: 1200px) {
    .masonry-grid {
        column-count: 4;
    }
}
@media (max-width: 1024px) {
    .masonry-grid {
        column-count: 3;
    }
}
@media (max-width: 767px) {
    .masonry-grid {
        column-count: 2;
    }
}
@media (max-width: 480px) {
    .masonry-grid {
        column-count: 1;
    }
}
.masonry-grid {
    column-gap: 16px;
    padding: 10px;
}

/* Prevent image break and add spacing */
.masonry-item {
    break-inside: avoid;
    margin-bottom: 16px;
}

/* Image container styles */
.album-card {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

/* Maintain natural size, fill container width */
.album-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
}

/* Responsive columns */
@media (max-width: 575.98px) {
    .masonry-grid {
        column-count: 2;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .masonry-grid {
        column-count: 3;
    }
}

@media (min-width: 992px) {
    .masonry-grid {
        column-count: 4;
    }
}
