.gallery-hero { background-image: linear-gradient(135deg, rgba(8, 31, 12, 0.9), rgba(27, 77, 30, 0.7)), url('/assets/images/gallery/Seed-selection.webp'); background-size: cover; background-position: center; }
.filter-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.filter-tabs button { padding: 11px 18px; border: 1px solid var(--border); border-radius: 999px; color: var(--green-dark); font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; transition: var(--transition); }
.filter-tabs button.active, .filter-tabs button:hover { background: var(--gold-mid); border-color: var(--gold-mid); color: var(--text-dark); }
.gallery-bento-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 230px; gap: 16px; }
.gallery-item { position: relative; overflow: hidden; border-radius: var(--radius-md); background: #111; cursor: pointer; }
.gallery-item.wide { grid-column: span 2; }
.gallery-item.tall { grid-row: span 2; }
.gallery-item img, .gallery-item video { width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s ease; }
.gallery-item:hover img, .gallery-item:hover video { transform: scale(1.05); }
.gallery-item div { position: absolute; inset: auto 0 0; padding: 22px; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,0.82)); }
.gallery-item strong, .gallery-item span { display: block; }
.gallery-item span { margin-top: 4px; color: rgba(255,255,255,0.68); font-size: 12px; }
.gallery-item.is-hidden { display: none; }
.lightbox-modal { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; padding: 28px; background: rgba(8,6,4,0.84); }
.lightbox-modal.open { display: flex; }
.lightbox-modal > button { position: absolute; top: 24px; right: 24px; color: var(--gold-pale); border: 1px solid rgba(245,237,219,0.26); padding: 10px 16px; border-radius: var(--radius-sm); }
.lightbox-modal > div { display: grid; grid-template-columns: 1.2fr 0.8fr; max-width: 980px; width: 100%; background: var(--cream); border-radius: var(--radius-md); overflow: hidden; }
.modal-media { min-height: 540px; background: #100d08; }
.lightbox-modal img, .lightbox-modal video { width: 100%; height: 540px; object-fit: cover; }
.lightbox-modal section { padding: 42px; align-self: center; }
.gallery-empty { grid-column: 1 / -1; padding: 28px; border: 1px dashed var(--border); color: var(--text-muted); text-align: center; }
@media (max-width: 760px) { .gallery-bento-grid { grid-template-columns: 1fr; grid-auto-rows: 260px; } .gallery-item.wide, .gallery-item.tall { grid-column: auto; grid-row: auto; } .lightbox-modal > div { grid-template-columns: 1fr; } .modal-media { min-height: 280px; } .lightbox-modal img, .lightbox-modal video { height: 280px; } }
