.auto-gallery-container { width: 100%; max-width: 1400px; margin: 0 auto; }
.auto-gallery-grid { 
display: grid; 
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); 
grid-auto-rows: 250px; 
grid-auto-flow: dense; 
gap: 25px; 
} .gallery-item { position: relative; border-radius: 10px; overflow: hidden; background: #eee; }
.gallery-item.large { grid-column: span 2; grid-row: span 2; }
.gallery-item.medium { grid-column: span 2; }
.gallery-item.tall { grid-row: span 2; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: 0.4s; -webkit-touch-callout: none; }
.gallery-item:hover img { transform: scale(1.05); }
.gallery-caption { position: absolute; bottom: 0; width: 100%; padding: 20px 10px 10px; background: linear-gradient(transparent, rgba(0,0,0,0.7)); color: #fff; pointer-events: none; opacity: 0; transition: 0.3s; }
.gallery-item:hover .gallery-caption { opacity: 1; } .simple-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,0.95); z-index: 999999; display: flex; align-items: center; justify-content: center; }
.lb-content img { max-width: 90vw; max-height: 85vh; border-radius: 4px; box-shadow: 0 0 30px #000; }
.close-lb { position: fixed; top: 20px; right: 30px; color: #fff; font-size: 60px; cursor: pointer; z-index: 1000001; line-height: 1; }
.lb-nav { position: absolute; top: 50%; color: #fff; font-size: 50px; padding: 20px; cursor: pointer; user-select: none; opacity: 0.6; }
.lb-nav:hover { opacity: 1; }
.lb-prev { left: 10px; } .lb-next { right: 10px; }
@media (max-width: 768px) {
.auto-gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; gap: 8px; }
.gallery-item.large, .gallery-item.medium { grid-column: span 2; }
.lb-nav { display: none; }
.close-lb { top: 10px; right: 15px; font-size: 50px; }
}