/**
 * Real Estate Landing Manager - Frontend Styles
 */

/* ========== GALLERY LAYOUTS ========== */

/* Grid Layout */
.relm-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    padding: 20px 0;
}

.relm-gallery-grid .relm-gallery-item {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s;
}

.relm-gallery-grid .relm-gallery-item:hover {
    transform: scale(1.05);
}

.relm-gallery-grid img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
}

/* Masonry Layout */
.relm-gallery-masonry {
    column-count: 3;
    column-gap: 20px;
    padding: 20px 0;
}

.relm-gallery-masonry .relm-gallery-item {
    break-inside: avoid;
    margin-bottom: 20px;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s;
}

.relm-gallery-masonry .relm-gallery-item:hover {
    transform: scale(1.02);
}

.relm-gallery-masonry img {
    width: 100%;
    height: auto;
    display: block;
}

/* Carousel Layout */
.relm-gallery-carousel {
    position: relative;
    padding: 40px 0;
}

.relm-gallery-carousel .swiper {
    padding: 0 50px;
}

.relm-gallery-carousel .swiper-slide {
    height: auto;
}

.relm-gallery-carousel .relm-gallery-item {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.relm-gallery-carousel img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    display: block;
}

.relm-gallery-carousel .swiper-button-next,
.relm-gallery-carousel .swiper-button-prev {
    color: #ff6b35;
    background: white;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    box-shadow: 0 3px 15px rgba(0,0,0,0.2);
}

.relm-gallery-carousel .swiper-button-next:after,
.relm-gallery-carousel .swiper-button-prev:after {
    font-size: 20px;
}

.relm-gallery-carousel .swiper-pagination-bullet-active {
    background: #ff6b35;
}

/* Video Items */
.relm-gallery-item video {
    width: 100%;
    height: auto;
    display: block;
}

/* Responsive */
@media (max-width: 968px) {
    .relm-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .relm-gallery-masonry {
        column-count: 2;
    }
    
    .relm-gallery-carousel .swiper {
        padding: 0 20px;
    }
}

@media (max-width: 640px) {
    .relm-gallery-grid {
        grid-template-columns: 1fr;
    }
    
    .relm-gallery-masonry {
        column-count: 1;
    }
    
    .relm-gallery-carousel img {
        height: 250px;
    }
}
