/* Filter Buttons */
.edifort-filters {
    text-align: center;
    margin-bottom: 30px;
}
.edifort-filters button {
    background: none;
    border: 1px solid #555;
    color: #262626;
    padding: 8px 16px;
    margin: 5px;
    cursor: pointer;
    transition: 0.3s;
}
.edifort-filters button.active, .edifort-filters button:hover {
    background: #fff;
    color: #000;
}

/* Masonry Grid */
.edifort-gallery-grid {
    column-count: 3;
    column-gap: 20px;
}
.edifort-gallery-item {
    break-inside: avoid;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.edifort-gallery-item.show {
    opacity: 1;
    transform: translateY(0);
}

/* Image Hover */
.edifort-gallery-item img {
    width: 100%;
    transition: transform 0.5s ease;
    cursor: pointer;
}
.edifort-gallery-item:hover img {
    transform: scale(1.05);
}

/* Overlay */
.edifort-gallery-overlay {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 15px;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
    color: #fff;
    opacity: 0;
    transition: opacity 0.4s;
}
.edifort-gallery-item:hover .edifort-gallery-overlay {
    opacity: 1;
}

/* Smooth scroll for menus */
html {
    scroll-behavior: smooth;
}

/* Responsive */
@media (max-width: 768px) { .edifort-gallery-grid { column-count: 2; } }
@media (max-width: 480px) { .edifort-gallery-grid { column-count: 1; } }