.gallery-folder{
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 5px 15px rgba(0,0,0,0.1);
    transition:0.3s;
    height:100%;
}
    
.gallery-folder:hover{
    transform:translateY(-5px);
}
    
.collage{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:120px 120px;
    gap:3px;
    overflow:hidden;
}
    
.collage img{
    width:100%;
    height:100%;
    object-fit:cover;
}
    
.collage img:first-child{
    grid-column:1/3;
    height:160px;
}

/* No image placeholder for collage */
.no-image-collage{
    display:flex;
    align-items:center;
    justify-content:center;
    height:283px; /* Total height: 160px + 120px + 3px gap */
    background:#f8f9fa;
    color:#6c757d;
    font-size:1rem;
}

.no-image-collage .text-center{
    text-align:center;
}

.no-image-collage i{
    font-size:3rem;
    margin-bottom:10px;
    color:#adb5bd;
}

.no-image-collage p{
    margin:0;
}
    
.event-title{
    font-size:20px;
    font-weight:600;
    min-height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
    
.event-date{
    color:#777;
}
    
.gallery-img{
    width:100%;
    border-radius:8px;
    cursor:pointer;
}

/* No image placeholder for modal */
.no-image-placeholder{
    background:#f8f9fa;
    border:2px dashed #dee2e6;
    border-radius:10px;
    padding:40px 20px;
    text-align:center;
    color:#6c757d;
    margin:20px 0;
}

.no-image-placeholder i{
    font-size:3rem;
    margin-bottom:15px;
    color:#adb5bd;
}

.no-image-placeholder h5{
    margin-bottom:10px;
    color:#495057;
}

.no-image-placeholder p{
    margin-bottom:0;
    color:#6c757d;
}
    
#imageViewer{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.95);
    z-index:9999;
    align-items:center;
    justify-content:center;
}
    
#viewerImg{
    max-width:90vw;
    max-height:90vh;
    object-fit:contain;
}
    
.viewer-close{
    position:absolute;
    top:20px;
    right:30px;
    font-size:40px;
    color:white;
    cursor:pointer;
}
    
.viewer-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    font-size:45px;
    color:white;
    cursor:pointer;
    padding:15px;
}
    
.viewer-arrow.left{
    left:20px;
}
    
.viewer-arrow.right{
    right:20px;
}
    
.modal-header{
    padding-bottom:5px;
}
    
.modal-body{
    padding-top:5px;
}
    
.modal-body p{
    margin-bottom:10px;
}

/* Responsive adjustments */
@media (max-width: 768px){
    .no-image-collage{
        height:243px; /* Slightly smaller for mobile if needed */
    }
}