/* Gallery Module */
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.gallery-item { position: relative; border-radius: 8px; overflow: hidden; }
.gallery-item img { width: 100%; height: 200px; object-fit: cover; display: block; transition: transform .2s; cursor: pointer; }
.gallery-item:hover img { transform: scale(1.03); }
.gallery-caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 8px 12px; background: linear-gradient(transparent, rgba(0,0,0,.7)); color: #fff; font-size: .85rem; }

.gallery-albums { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin-bottom: 24px; }
.gallery-album-card { border-radius: 10px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.08); transition: .15s; cursor: pointer; }
.gallery-album-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.12); transform: translateY(-2px); }
.gallery-album-card img { width: 100%; height: 160px; object-fit: cover; }
.gallery-album-placeholder { height: 160px; background: #f0f0f0; display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.gallery-album-info { padding: 12px 16px; }
.gallery-album-info h4 { margin: 0 0 4px; font-size: 1rem; }
.gallery-album-info small { color: #888; }
