.gal-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:14px 0 10px}
.gal-chips{display:flex;gap:8px;flex-wrap:wrap}
.gal-chip{border:none;background:#fff;color:#0F172A;padding:8px 12px;border-radius:999px;box-shadow:var(--shadow);font-weight:700;cursor:pointer}
.gal-chip[aria-pressed="true"]{background:linear-gradient(90deg,var(--tosca),var(--tosca-dark));color:#eafff9}
.gal-search input{border:1.5px solid #e6f3f1;border-radius:12px;padding:10px 12px;min-width:240px;font:inherit;background:#fbfffe;outline:none}
.gal-search input:focus{border-color:var(--tosca);box-shadow:0 0 0 3px rgba(26,188,156,.12)}

.gal-grid{column-width:280px;column-gap:16px}
@media (max-width:900px){.gal-grid{column-width:220px}}
@media (max-width:600px){.gal-grid{column-width:180px}}

.gal-item{break-inside:avoid;margin:0 0 16px;position:relative;display:block;border-radius:14px;overflow:hidden;background:#f8fbff;box-shadow:var(--shadow);transform:translateY(10px);opacity:0;transition:.35s ease}
.gal-item.show{transform:none;opacity:1}
.gal-item img{width:100%;height:auto;display:block}
.gal-item .gal-meta{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));color:#fff;font-weight:600;font-size:.95rem}

.gal-lightbox{position:fixed;inset:0;background:rgba(6,10,25,.75);display:none;align-items:center;justify-content:center;z-index:60;padding:20px}
.gal-lightbox.is-open{display:flex;animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.gal-stage{max-width:min(1080px,92vw);max-height:80vh;margin:0;display:grid;gap:8px;align-content:start}
.gal-stage img{width:100%;height:auto;max-height:72vh;object-fit:contain;border-radius:14px;background:#fff}
.gal-stage figcaption{color:#e6f3f1;text-align:center}
.gal-close{position:absolute;top:16px;right:16px;border:none;width:40px;height:40px;border-radius:999px;background:#fff;font-size:22px;font-weight:900;cursor:pointer;box-shadow:var(--shadow)}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);border:none;width:44px;height:44px;border-radius:999px;background:#fff;font-size:26px;font-weight:900;cursor:pointer;box-shadow:var(--shadow)}
.gal-prev{left:18px}.gal-next{right:18px}
.gal-chip:focus,.gal-close:focus,.gal-nav:focus{outline:3px solid rgba(26,188,156,.35)}
