/* Bushvalley ARC gallery and lightbox */
.gallery-page{background:#f6f8fb}
.gallery-summary{display:flex;align-items:center;gap:18px;justify-content:space-between;margin:0 0 34px;padding:18px 22px;border:1px solid #d9e2f0;border-left:5px solid #073486;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(7,52,134,.07)}
.gallery-summary strong{color:#073486;white-space:nowrap;font-size:1.05rem}.gallery-summary span{color:#4d5b70;text-align:right}
.gallery-event{margin:0 0 52px}.gallery-event:last-child{margin-bottom:0}
.gallery-event-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 18px;padding-bottom:11px;border-bottom:2px solid #dfe6f1}
.gallery-event-heading h2{margin:0;color:#073486;font-size:clamp(1.35rem,2.4vw,1.9rem)}.gallery-event-heading span{color:#637087;font-size:.92rem;white-space:nowrap}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gallery-card{display:flex;min-width:0;flex-direction:column;padding:0;border:0;border-radius:14px;background:#fff;color:inherit;text-align:left;box-shadow:0 8px 25px rgba(20,36,61,.11);overflow:hidden;cursor:zoom-in;transition:transform .2s ease,box-shadow .2s ease}
.gallery-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(20,36,61,.18)}
.gallery-card:focus-visible{outline:4px solid rgba(7,52,134,.35);outline-offset:4px}
.gallery-thumb{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#dfe6f1}
.gallery-thumb::after{content:'+';position:absolute;right:12px;bottom:12px;display:grid;width:38px;height:38px;place-items:center;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(7,52,134,.88);color:#fff;font-size:1.55rem;line-height:1;opacity:0;transform:scale(.85);transition:opacity .2s ease,transform .2s ease}
.gallery-card:hover .gallery-thumb::after,.gallery-card:focus-visible .gallery-thumb::after{opacity:1;transform:scale(1)}
.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-card:hover img{transform:scale(1.035)}
.gallery-card-caption{display:block;padding:14px 16px 16px;color:#25344c;font-size:.96rem;line-height:1.45}
body.gallery-lightbox-open{overflow:hidden}
.gallery-lightbox{position:fixed;z-index:10000;inset:0;display:none;align-items:center;justify-content:center;padding:22px}
.gallery-lightbox.is-open{display:flex}.gallery-lightbox-backdrop{position:absolute;inset:0;background:rgba(2,8,19,.92);backdrop-filter:blur(3px)}
.gallery-lightbox-panel{position:relative;z-index:1;display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;width:min(1280px,100%);max-height:calc(100vh - 44px)}
.gallery-lightbox-figure{min-width:0;margin:0;display:flex;max-height:calc(100vh - 44px);flex-direction:column;overflow:hidden;border-radius:12px;background:#0b1321;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.gallery-lightbox-image-wrap{display:flex;min-height:0;flex:1;align-items:center;justify-content:center;background:#050a12}
.gallery-lightbox-image-wrap img{display:block;max-width:100%;max-height:calc(100vh - 160px);width:auto;height:auto;object-fit:contain}
.gallery-lightbox-figure figcaption{display:grid;grid-template-columns:1fr auto;gap:4px 24px;padding:14px 18px 16px;color:#fff;background:#101b2d}
.gallery-lightbox-event{grid-column:1;color:#9fc0ff;font-weight:700;font-size:.82rem;letter-spacing:.035em;text-transform:uppercase}.gallery-lightbox-caption{grid-column:1;line-height:1.45}.gallery-lightbox-count{grid-column:2;grid-row:1/3;align-self:center;color:#c3ccdb;white-space:nowrap;font-variant-numeric:tabular-nums}
.gallery-lightbox-close,.gallery-lightbox-nav{border:0;color:#fff;background:rgba(255,255,255,.12);cursor:pointer;transition:background .15s ease,transform .15s ease}.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{background:rgba(255,255,255,.24)}
.gallery-lightbox-close:focus-visible,.gallery-lightbox-nav:focus-visible{outline:3px solid #fff;outline-offset:3px}
.gallery-lightbox-close{position:absolute;z-index:3;top:-13px;right:-13px;width:46px;height:46px;border-radius:50%;font-size:2rem;line-height:1}
.gallery-lightbox-nav{display:grid;width:46px;height:64px;place-items:center;border-radius:10px;font-size:3rem;line-height:1}.gallery-lightbox-prev{justify-self:start}.gallery-lightbox-next{justify-self:end}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-lightbox-panel{grid-template-columns:44px minmax(0,1fr) 44px}.gallery-lightbox-nav{width:38px;height:58px}}
@media (max-width:620px){.gallery-summary{display:block}.gallery-summary span{display:block;margin-top:7px;text-align:left}.gallery-grid{grid-template-columns:1fr;gap:16px}.gallery-event{margin-bottom:42px}.gallery-lightbox{padding:8px}.gallery-lightbox-panel{display:block;max-height:calc(100vh - 16px)}.gallery-lightbox-figure{max-height:calc(100vh - 16px)}.gallery-lightbox-image-wrap img{max-height:calc(100vh - 145px)}.gallery-lightbox-nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:42px;height:56px;background:rgba(0,0,0,.5)}.gallery-lightbox-prev{left:6px}.gallery-lightbox-next{right:6px}.gallery-lightbox-close{top:6px;right:6px;background:rgba(0,0,0,.6)}.gallery-lightbox-figure figcaption{grid-template-columns:1fr auto;padding:12px 14px}.gallery-lightbox-event{font-size:.74rem}.gallery-lightbox-caption{font-size:.92rem}.gallery-lightbox-count{font-size:.88rem}}
@media (prefers-reduced-motion:reduce){.gallery-card,.gallery-thumb img,.gallery-thumb::after,.gallery-lightbox-close,.gallery-lightbox-nav{transition:none}.gallery-card:hover{transform:none}.gallery-card:hover img{transform:none}}
