/* International Plus Core – gallery (Visual Portfolio compatible markup) */
.vp-portfolio{position:relative;margin-bottom:30px}
.vp-portfolio__items{display:flex;flex-wrap:wrap;gap:var(--vp-gap,15px);margin:0;padding:0}
.vp-portfolio__item-wrap{position:relative;flex:0 0 auto;width:calc((100% - 2 * var(--vp-gap,15px)) / 3);box-sizing:border-box}
.vp-portfolio[data-vp-layout="justified"] .vp-portfolio__item-wrap{height:var(--vp-row,250px);width:calc(var(--vp-row,250px) * var(--ar,1));flex-grow:var(--ar,1);max-width:100%}
.vp-portfolio[data-vp-layout="justified"].ipc-vp-ready .vp-portfolio__item-wrap{flex-grow:0}
.vp-portfolio[data-vp-layout="masonry"] .vp-portfolio__items{display:block;columns:var(--vp-cols,3);column-gap:var(--vp-gap,15px)}
.vp-portfolio[data-vp-layout="masonry"] .vp-portfolio__item-wrap{width:auto;margin-bottom:var(--vp-gap,15px);break-inside:avoid}
.vp-portfolio__item{position:relative;margin:0;height:100%;overflow:hidden}
.vp-portfolio__item-img-wrap,.vp-portfolio__item-img,.vp-portfolio__item-img>a{position:relative;display:block;height:100%}
.vp-portfolio__item-img img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}
.vp-portfolio[data-vp-layout="masonry"] .vp-portfolio__item-img img{height:auto}
.vp-portfolio[data-vp-layout="grid"] .vp-portfolio__item-img img{aspect-ratio:1/1}
.vp-portfolio__item-overlay{position:absolute;inset:0;background-color:rgba(0,0,0,.4);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none}
.vp-portfolio__items-show-overlay-hover .vp-portfolio__item-img>a:hover .vp-portfolio__item-overlay,.vp-portfolio__items-show-overlay-hover .vp-portfolio__item-img>a:focus .vp-portfolio__item-overlay{opacity:1}
.vp-portfolio__items-show-overlay-always .vp-portfolio__item-overlay{opacity:1}
.vp-portfolio__item-img>a{cursor:zoom-in}
@media (max-width:576px){.vp-portfolio[data-vp-layout="grid"] .vp-portfolio__item-wrap{width:calc((100% - var(--vp-gap,15px)) / 2)}}
/* Popup */
.ipc-lb{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:var(--ipc-lb-bg,#1e1e1e);opacity:0;transition:opacity .25s;touch-action:pan-y}
.ipc-lb.is-open{opacity:1}
.ipc-lb__img{max-width:calc(100vw - 120px);max-height:calc(100vh - 80px);width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;transition:transform .25s}
.ipc-lb.is-zoom .ipc-lb__img{max-width:none;max-height:none;cursor:zoom-out}
.ipc-lb__img{cursor:zoom-in}
.ipc-lb__btn{position:absolute;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border:0;border-radius:0;background:rgba(0,0,0,.3);color:#fff;font-size:28px;line-height:1;cursor:pointer;opacity:.85;padding:0}
.ipc-lb__btn:hover,.ipc-lb__btn:focus{opacity:1;outline:none;background:rgba(0,0,0,.5)}
.ipc-lb__close{top:10px;right:10px}
.ipc-lb__prev{left:10px;top:50%;margin-top:-25px}
.ipc-lb__next{right:10px;top:50%;margin-top:-25px}
.ipc-lb__count{position:absolute;top:22px;left:20px;color:#fff;font-size:14px;opacity:.75}
@media (max-width:767px){.ipc-lb__img{max-width:100vw;max-height:calc(100vh - 120px)}.ipc-lb__prev,.ipc-lb__next{top:auto;bottom:10px;margin-top:0}}
html.ipc-lb-open{overflow:hidden}
