.caga-category-galleries { padding: 60px 0; }
.caga-gallery { margin-bottom: 50px; }
.caga-title { margin: 0 0 20px; color: var(--primary, #1B5E20); }
.caga-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.caga-item { display: block; overflow: hidden; border-radius: var(--radius-md, 12px); box-shadow: var(--shadow-sm, 0 2px 8px rgba(0,0,0,.06)); aspect-ratio: 4 / 3; }
.caga-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.caga-item:hover img { transform: scale(1.06); }

.caga-lightbox { position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; flex-direction: column; background: rgba(0,0,0,.9); }
.caga-lightbox.is-open { display: flex; }
.caga-lightbox img { max-width: 90vw; max-height: 80vh; border-radius: 6px; }
.caga-lightbox-caption { color: #fff; margin-top: 12px; text-align: center; padding: 0 20px; }
.caga-lightbox button { position: absolute; background: none; border: 0; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; padding: 10px 18px; }
.caga-lightbox .caga-close { top: 10px; right: 10px; }
.caga-lightbox .caga-prev { left: 10px; top: 50%; transform: translateY(-50%); }
.caga-lightbox .caga-next { right: 10px; top: 50%; transform: translateY(-50%); }
