.bpo-gallery{--bpo-columns:3;--bpo-col-gap:10px;--bpo-row-gap:10px;--bpo-aspect-ratio:56.25%;--bpo-object-fit:cover;--bpo-border-width:0px;--bpo-border-color:transparent;--bpo-border-radius:0px;--bpo-padding:0px;--bpo-overlay-bg:#000;--bpo-overlay-opacity:0.5;--bpo-icon-color:#fff;--bpo-icon-opacity:1;--bpo-zoom-scale:1;--bpo-transition:0.3s ease;position:relative;width:100%;box-sizing:border-box;border:none!important;outline:none!important}.bpo-gallery *,.bpo-gallery *::before,.bpo-gallery *::after{box-sizing:border-box}.bpo-gallery-item{position:relative;overflow:hidden;border-width:var(--bpo-border-width);border-style:solid;border-color:var(--bpo-border-color);border-radius:var(--bpo-border-radius);padding:var(--bpo-padding)}.bpo-gallery-item.bpo-clickable{cursor:pointer}.bpo-image-wrapper{position:relative;overflow:hidden;width:100%;height:100%}.bpo-gallery-item img{display:block;width:100%;height:100%;object-fit:var(--bpo-object-fit);transition:transform var(--bpo-transition)}.bpo-crop .bpo-image-wrapper{position:relative;padding-bottom:var(--bpo-aspect-ratio);height:0;overflow:hidden}.bpo-crop .bpo-image-wrapper img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:var(--bpo-object-fit)}.bpo-hover-active:hover img{transform:scale(var(--bpo-zoom-scale))}.bpo-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bpo-overlay-bg);opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity var(--bpo-transition),transform var(--bpo-transition);z-index:2;pointer-events:none}.bpo-hover-fade:hover .bpo-overlay{opacity:var(--bpo-overlay-opacity)}.bpo-hover-slide-up .bpo-overlay{transform:translateY(100%)}.bpo-hover-slide-up:hover .bpo-overlay{opacity:var(--bpo-overlay-opacity);transform:translateY(0)}.bpo-hover-slide-down .bpo-overlay{transform:translateY(-100%)}.bpo-hover-slide-down:hover .bpo-overlay{opacity:var(--bpo-overlay-opacity);transform:translateY(0)}.bpo-hover-zoom .bpo-overlay{transform:scale(.5)}.bpo-hover-zoom:hover .bpo-overlay{opacity:var(--bpo-overlay-opacity);transform:scale(1)}.bpo-overlay-icon{color:var(--bpo-icon-color);opacity:var(--bpo-icon-opacity);line-height:1;display:flex;align-items:center;justify-content:center}.bpo-overlay-icon svg{width:28px;height:28px;stroke:currentColor}.bpo-icon-circle{width:50px;height:50px;border-radius:50%;background:rgb(255 255 255 / .2)}.bpo-icon-square{width:50px;height:50px;background:rgb(255 255 255 / .2)}.bpo-icon-rounded{width:50px;height:50px;border-radius:8px;background:rgb(255 255 255 / .2)}.bpo-icon-none{background:#fff0}.bpo-gallery-item:not(.bpo-anim-none){opacity:0;transition:opacity 0.6s ease,transform 0.6s ease}.bpo-gallery-item.bpo-visible{opacity:1;transform:none!important}.bpo-anim-slide-up{transform:translateY(40px)}.bpo-anim-slide-down{transform:translateY(-40px)}.bpo-anim-zoom-in{transform:scale(.85)}.bpo-anim-flip{transform:perspective(600px) rotateX(20deg)}.bpo-anim-none{opacity:1!important;transform:none!important}.bpo-pagination{margin-top:30px;text-align:center}.bpo-page-nav{display:flex;justify-content:center;align-items:center;gap:4px;flex-wrap:wrap}.bpo-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid #ddd;background:#fff;color:#333;font-size:14px;cursor:pointer;transition:all 0.2s;text-decoration:none}.bpo-page-btn:hover{background:#f0f0f1;border-color:#999}.bpo-page-btn.bpo-page-active{background:#2271b1;color:#fff;border-color:#2271b1}.bpo-page-btn[disabled]{opacity:.4;cursor:not-allowed}.bpo-page-dots{display:inline-flex;align-items:center;padding:0 8px;color:#999}.bpo-page-nav-rounded .bpo-page-btn{border-radius:50%;min-width:38px;padding:0}.bpo-page-nav-rounded .bpo-page-prev,.bpo-page-nav-rounded .bpo-page-next{border-radius:19px;padding:0 16px}.bpo-page-nav-minimal .bpo-page-btn{border:none;background:#fff0}.bpo-page-nav-minimal .bpo-page-btn.bpo-page-active{background:#fff0;color:#2271b1;font-weight:700;text-decoration:underline}.bpo-load-more{display:inline-block;padding:12px 36px;border:2px solid #2271b1;background:#2271b1;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all 0.2s}.bpo-load-more:hover{background:#135e96;border-color:#135e96}.bpo-load-more-outline{background:#fff0;color:#2271b1}.bpo-load-more-outline:hover{background:#2271b1;color:#fff}.bpo-load-more-rounded{border-radius:25px}.bpo-load-more[disabled]{opacity:.5;cursor:not-allowed}.bpo-loading-spinner{padding:30px;text-align:center}.bpo-spinner{display:inline-block;width:36px;height:36px;border:3px solid #eee;border-top-color:#2271b1;border-radius:50%;animation:bpo-spin 0.7s linear infinite}@keyframes bpo-spin{to{transform:rotate(360deg)}}.bpo-lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .92);z-index:999999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s}.bpo-lightbox-overlay.bpo-lightbox-active{opacity:1;pointer-events:auto}.bpo-lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.bpo-lightbox-content img{max-width:90vw;max-height:85vh;object-fit:contain}.bpo-lightbox-close{position:absolute;top:-50px;right:0;width:40px;height:40px;border:none;background:#fff0;color:rgb(255 255 255 / .7);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color 0.2s}.bpo-lightbox-close:hover{color:#fff}.bpo-lightbox-prev,.bpo-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:none;background:#fff0;color:rgb(255 255 255 / .7);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color 0.2s}.bpo-lightbox-prev:hover,.bpo-lightbox-next:hover{color:#fff}.bpo-lightbox-prev{left:-60px}.bpo-lightbox-next{right:-60px}.bpo-lightbox-counter{position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);color:rgb(255 255 255 / .5);font-size:13px;font-weight:400;letter-spacing:1px}@media (max-width:768px){.bpo-lightbox-prev{left:10px}.bpo-lightbox-next{right:10px}.bpo-lightbox-close{top:10px;right:10px}.bpo-lightbox-counter{bottom:15px}.bpo-lightbox-prev,.bpo-lightbox-next{width:40px;height:40px;background:rgb(0 0 0 / .3);border-radius:50%}}