.gallery-layout-2 .gallery-intro { max-width:52rem; margin-bottom:2rem; }
.gallery-layout-2 .gallery-filter-strip { display:flex; gap:.65rem; overflow-x:auto; margin-bottom:1.75rem; padding:.2rem 0 .8rem; scrollbar-width:thin; }
.gallery-layout-2 .gallery-filter-strip a { display:inline-flex; align-items:center; gap:.45rem; flex:0 0 auto; padding:.55rem .9rem; border:1px solid color-mix(in srgb, var(--theme-primary), transparent 35%); border-radius:2rem; color:var(--theme-primary); text-decoration:none; }
.gallery-layout-2 .gallery-filter-strip a[aria-current="page"], .gallery-layout-2 .gallery-filter-strip a:hover, .gallery-layout-2 .gallery-filter-strip a:focus-visible { color:#fff; background:var(--theme-primary); }
.gallery-layout-2 .gallery-filter-strip span { display:grid; min-width:1.45rem; height:1.45rem; place-items:center; padding:0 .25rem; border-radius:1rem; font-size:.75rem; background:rgb(127 127 127 / 20%); }
.gallery-layout-2 .gallery-category-title { margin-bottom:1.25rem; }
.gallery-layout-2 .gallery-masonry { column-count:1; column-gap:1rem; }
.gallery-layout-2 .gallery-masonry-item { position:relative; break-inside:avoid; overflow:hidden; margin:0 0 1rem; border-radius:.5rem; background:#fff; box-shadow:0 .25rem 1.15rem rgb(0 0 0 / 13%); }
.gallery-layout-2 .gallery-masonry-item > a:first-child { position:relative; display:block; background:#eef2f5; }
.gallery-layout-2 .gallery-masonry-item img { display:block; width:100%; height:auto; transition:filter .25s ease, transform .25s ease; }
.gallery-layout-2 .gallery-masonry-item figcaption { padding:.7rem .85rem .85rem; font-size:.9rem; line-height:1.35; }
.gallery-layout-2 .gallery-action { position:absolute; top:50%; left:50%; display:grid; width:3.2rem; height:3.2rem; place-items:center; border-radius:50%; color:#fff; background:rgb(0 0 0 / 72%); opacity:0; transform:translate(-50%,-40%); transition:opacity .2s ease, transform .2s ease; }
.gallery-layout-2 .gallery-masonry-item > a:first-child:hover img, .gallery-layout-2 .gallery-masonry-item > a:first-child:focus-visible img { filter:brightness(.7); transform:scale(1.025); }
.gallery-layout-2 .gallery-masonry-item > a:first-child:hover .gallery-action, .gallery-layout-2 .gallery-masonry-item > a:first-child:focus-visible .gallery-action { opacity:1; transform:translate(-50%,-50%); }
.gallery-layout-2 .gallery-masonry-item > a:first-child:focus-visible { outline:.2rem solid var(--theme-primary); outline-offset:-.2rem; }
.gallery-layout-2 .gallery-website-link { position:absolute; z-index:2; right:.65rem; top:.65rem; display:grid; width:2.65rem; height:2.65rem; place-items:center; border:1px solid rgb(255 255 255 / 65%); border-radius:50%; color:#fff; background:rgb(0 0 0 / 78%); text-decoration:none; box-shadow:0 .2rem .6rem rgb(0 0 0 / 28%); }
.gallery-layout-2 .gallery-website-link:hover, .gallery-layout-2 .gallery-website-link:focus-visible, .gallery-layout-2 .gallery-website-link:active { color:#fff; background:var(--theme-secondary); }
.gallery-layout-2 .gallery-website-link:focus-visible { outline:.2rem solid #fff; outline-offset:.12rem; }
.gallery-layout-2 .gallery-empty { padding:2rem; border-left:.3rem solid var(--theme-primary); background:#f7f9fa; }
.site-lightbox { inset:0; width:100vw; max-width:none; height:100vh; max-height:none; margin:0; padding:0; overflow:hidden; border:0; color:#fff; background:transparent; }
.site-lightbox::backdrop { background:rgb(0 0 0 / 86%); }
.site-lightbox figure { display:grid; width:100%; height:100%; margin:0; padding:2rem 5.5rem; place-items:center; pointer-events:none; }
.site-lightbox-image-wrap { position:relative; display:inline-block; max-width:100%; max-height:calc(100vh - 4rem); pointer-events:auto; }
.site-lightbox figure img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(100vh - 4rem); margin:auto; object-fit:contain; pointer-events:auto; }
.site-lightbox button { position:fixed; z-index:2; display:grid; place-items:center; padding:0; border:0; color:#fff; background:transparent; text-shadow:0 .1rem .4rem #000; }
.site-lightbox button:hover, .site-lightbox button:focus-visible, .site-lightbox button:active { color:var(--theme-secondary); }
.site-lightbox button:focus-visible { outline:.15rem solid currentColor; outline-offset:.2rem; }
.site-lightbox-close { top:1rem; right:1.25rem; width:3.5rem; height:3.5rem; font-size:3.25rem; line-height:1; }
.site-lightbox-nav { top:50%; width:4.5rem; height:7rem; font-size:6rem; font-weight:900; line-height:.7; transform:translateY(-50%); }
.site-lightbox-prev { left:.5rem; }
.site-lightbox-next { right:.5rem; }
.site-lightbox-website { position:absolute; top:.75rem; right:.75rem; display:grid; width:3rem; height:3rem; place-items:center; border:1px solid rgb(255 255 255 / 70%); border-radius:50%; color:#fff; background:rgb(0 0 0 / 76%); text-decoration:none; box-shadow:0 .2rem .7rem rgb(0 0 0 / 35%); }
.site-lightbox-website:hover, .site-lightbox-website:focus-visible, .site-lightbox-website:active { color:#fff; background:var(--theme-secondary); }
.site-lightbox-website:focus-visible { outline:.15rem solid #fff; outline-offset:.15rem; }
@media (max-width:575px) { .site-lightbox figure { padding:4rem 3.25rem; } .site-lightbox-nav { width:3rem; font-size:4.5rem; } .site-lightbox-prev { left:0; } .site-lightbox-next { right:0; } }
@media (hover:none) { .gallery-layout-2 .gallery-action { opacity:1; transform:translate(-50%,-50%); } }
@media (min-width:576px) { .gallery-layout-2 .gallery-masonry { column-count:2; } }
@media (min-width:768px) { .gallery-layout-2 .gallery-masonry { column-count:3; } }
@media (min-width:992px) { .gallery-layout-2 .gallery-masonry { column-count:4; } }
@media (prefers-reduced-motion:reduce) { .gallery-layout-2 .gallery-masonry-item img, .gallery-layout-2 .gallery-action { transition:none; } }
