/* ==========================================================================
   GALLERY page – template-gallery.php
   ========================================================================== */
.gallery-page{padding-top:clamp(40px,6vw,80px)}
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:clamp(28px,4vw,48px)}
.filters__btn{padding:11px 24px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease)}
.filters__btn:hover{transform:translateY(-2px);border-color:var(--teal)}
.filters__btn.is-active{background:var(--navy);color:#fff;border-color:var(--navy)}
.masonry{columns:3 320px;column-gap:20px}
.masonry__item{position:relative;display:block;break-inside:avoid;margin:0 0 20px;overflow:hidden;border-radius:22px;background:var(--navy);cursor:zoom-in;transition:opacity .45s,transform .6s var(--ease)}
.masonry__item img{width:100%;height:auto;transition:transform 1.2s var(--ease)}
.masonry__item:hover img{transform:scale(1.06)}
.masonry__item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(1,35,65,.7));opacity:0;transition:opacity .5s}
.masonry__item:hover::after,.masonry__item:focus-visible::after{opacity:1}
.masonry__cap{position:absolute;left:20px;right:20px;bottom:16px;z-index:2;color:#fff;font-family:var(--serif);font-size:1.35rem;line-height:1.2;transform:translateY(14px);opacity:0;transition:opacity .5s,transform .6s var(--ease)}
.masonry__item:hover .masonry__cap,.masonry__item:focus-visible .masonry__cap{opacity:1;transform:none}
.masonry__quote{cursor:default;display:grid;place-items:center;min-height:220px;padding:30px;text-align:center;background:radial-gradient(400px 260px at 100% 0,rgba(44,167,170,.45),transparent 60%),linear-gradient(160deg,var(--navy-3),var(--navy))}
.masonry__quote:nth-of-type(3n+2){background:radial-gradient(400px 260px at 0 100%,rgba(216,156,63,.45),transparent 60%),linear-gradient(160deg,var(--teal-d),var(--navy))}
.masonry__quote::after{display:none}
.masonry__quote span{font-family:var(--serif);font-style:italic;font-size:clamp(2.6rem,5vw,4rem);line-height:1;color:var(--gold-l)}
.masonry__item.is-hidden{display:none}
.masonry__item.is-fading{opacity:0;transform:scale(.96)}
.lightbox__cap{position:absolute;left:0;right:0;bottom:26px;text-align:center;color:#fff;font-family:var(--serif);font-size:1.4rem;padding-inline:70px}
@media (prefers-reduced-motion:reduce){.masonry__item,.masonry__cap{transition:none}}
