/* Perwi Secure Masonry Gallery */
.perwi-gallery,.perwi-gallery *{box-sizing:border-box}
.perwi-gallery{--perwi-gallery-accent:#ffd311;width:100%;columns:var(--perwi-columns,4);column-gap:var(--perwi-gap,18px)}
.perwi-gallery__item{width:100%;display:inline-block;break-inside:avoid;margin:0 0 var(--perwi-gap,18px);vertical-align:top}
.perwi-gallery button.perwi-gallery__open,.perwi-gallery button.perwi-gallery__open:hover,.perwi-gallery button.perwi-gallery__open:focus,.perwi-gallery button.perwi-gallery__open:focus-visible,.perwi-gallery button.perwi-gallery__open:active{position:relative;width:100%;display:block;overflow:hidden;margin:0!important;padding:0!important;border:1px solid #ffd311!important;border-color:#ffd311!important;border-radius:0!important;background:#111!important;background-color:#111!important;color:#fff!important;box-shadow:none!important;transition:none!important;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;cursor:zoom-in}
.perwi-gallery__open::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.42);opacity:0;transition:opacity .28s ease}
.perwi-gallery__image{width:100%;height:auto;display:block;transform:scale(1);transition:transform .4s cubic-bezier(.2,.65,.3,1)}
.perwi-gallery__hint{position:absolute;top:50%;left:50%;z-index:2;display:flex;align-items:center;gap:10px;color:#fff;font:700 14px/1.2 Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translate(-50%,calc(-50% + 10px));transition:opacity .28s ease,transform .28s ease}
.perwi-gallery__zoom-icon{position:relative;width:21px;height:21px;display:inline-block;border:2px solid currentColor;border-radius:50%}
.perwi-gallery__zoom-icon::after{content:"";position:absolute;right:-7px;bottom:-4px;width:9px;height:2px;background:currentColor;transform:rotate(45deg);transform-origin:left center}
.perwi-gallery__open:hover::after,.perwi-gallery__open:focus-visible::after{opacity:1}
.perwi-gallery__open:hover .perwi-gallery__image,.perwi-gallery__open:focus-visible .perwi-gallery__image{transform:scale(1.035)}
.perwi-gallery__open:hover .perwi-gallery__hint,.perwi-gallery__open:focus-visible .perwi-gallery__hint{opacity:1;transform:translate(-50%,-50%)}
.perwi-gallery__open:focus-visible{outline:3px solid #ffd311!important;outline-offset:3px}
.perwi-gallery__caption{padding:9px 2px 0;color:#555;font:400 14px/1.45 Arial,sans-serif}
.perwi-gallery__empty{padding:18px;border:1px dashed #bbb;color:#555;text-align:center}

/* Lightbox */
.perwi-lightbox,.perwi-lightbox *{box-sizing:border-box}
.perwi-lightbox{--perwi-gallery-accent:#ffd311;position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:56px 90px 40px;background:rgba(0,0,0,.91);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.perwi-lightbox.is-open{opacity:1;visibility:visible}
.perwi-lightbox__figure{max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0}
.perwi-lightbox__image{max-width:100%;max-height:calc(100vh - 120px);display:block;object-fit:contain;border:0!important;outline:0!important;box-shadow:none!important}
.perwi-lightbox__caption{max-width:800px;min-height:24px;margin-top:12px;color:#fff;font:400 15px/1.5 Arial,sans-serif;text-align:center}
.perwi-lightbox .perwi-lightbox__button{position:absolute;z-index:2;width:48px;height:48px;display:grid;place-items:center;margin:0;padding:0;border:1px solid rgba(255,255,255,.55)!important;border-radius:50%;outline:0;background:rgba(0,0,0,.35)!important;color:#fff!important;box-shadow:none!important;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.perwi-lightbox .perwi-lightbox__button:hover,.perwi-lightbox .perwi-lightbox__button:focus-visible{border-color:#ffd311!important;background:#ffd311!important;color:#111!important;box-shadow:none!important}
.perwi-lightbox__close{top:18px;right:20px;font:300 34px/1 Arial,sans-serif!important}
.perwi-lightbox__prev,.perwi-lightbox__next{top:50%;transform:translateY(-50%);font:300 34px/1 Arial,sans-serif!important}
.perwi-lightbox__prev{left:22px}.perwi-lightbox__next{right:22px}
body.perwi-lightbox-open{overflow:hidden!important}

/* Responsive columns and lightbox controls */
@media(max-width:1024px){.perwi-gallery{columns:var(--perwi-tablet-columns,3)}}
@media(max-width:767px){.perwi-gallery{columns:var(--perwi-mobile-columns,2)}.perwi-lightbox{padding:60px 18px 80px}.perwi-lightbox__image{max-height:calc(100vh - 160px)}.perwi-lightbox__prev,.perwi-lightbox__next{top:auto;bottom:16px;transform:none}.perwi-lightbox__prev{left:calc(50% - 60px)}.perwi-lightbox__next{right:calc(50% - 60px)}}
@media(max-width:480px){.perwi-gallery{columns:1}}

/* Keep a clickable indicator visible on touch devices */
@media(hover:none){.perwi-gallery__hint{top:auto;right:10px;bottom:10px;left:auto;width:38px;height:38px;justify-content:center;border-radius:50%;background:rgba(0,0,0,.6);opacity:1;transform:none;font-size:0}}
@media(prefers-reduced-motion:reduce){.perwi-gallery__open::after,.perwi-gallery__image,.perwi-gallery__hint,.perwi-lightbox{transition:none!important}}
