/* HB Gadget BD: non-destructive logo watermarks over website photographs. */
:where(
 #productGrid .product-gallery, .hb-offer-image, .homepage-slider .slide,
 .gallery-box .main-image-wrap, .gallery-box .thumbs button,
 .product-detail-image, .product-detail-thumbs button,
 .related-photo, .hb-zoom-image-frame
) { position: relative; }
:where(
 #productGrid .product-gallery, .hb-offer-image, .homepage-slider .slide,
 .gallery-box .main-image-wrap, .gallery-box .thumbs button,
 .product-detail-image, .product-detail-thumbs button,
 .related-photo, .hb-zoom-image-frame
)::after {
 content:""; position:absolute; right:4%; bottom:4%;
 width:min(30%,152px); aspect-ratio:820 / 220;
 background:url("../img/hb-gadget-bd-logo.svg") center / contain no-repeat;
 opacity:.28; pointer-events:none; z-index:2;
}
.homepage-slider .slide::after { width:min(18%,180px); right:2%; bottom:3%; }
:where(.gallery-box .thumbs button,.product-detail-thumbs button,.related-photo)::after {
 width:44%; right:3px; bottom:3px;
}
.related-photo {display:block;width:64px;height:64px;overflow:hidden;border-radius:12px;}
.related-photo img {display:block;width:100%;height:100%;object-fit:cover;}
#mainProductImage[data-hb-photo-open],
.product-detail-main-image[data-hb-photo-open] {cursor:zoom-in;}
#mainProductImage[data-hb-photo-open]:focus-visible,
.product-detail-main-image[data-hb-photo-open]:focus-visible {outline:3px solid #ef4b23;outline-offset:-4px;}
.gallery-box .gallery-arrow,.product-detail-image .product-detail-arrow {z-index:4;}

body.hb-photo-modal-open {overflow:hidden;}
.hb-zoom-viewer[hidden] {display:none!important;}
.hb-zoom-viewer {
 position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
 background:rgba(10,18,33,.94);padding:12px;
}
.hb-zoom-dialog {
 position:relative;width:min(100%,1280px);height:min(100%,100dvh);
 min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;color:#fff;
}
.hb-zoom-stage {
 min-width:0;min-height:0;width:100%;display:flex;
 justify-content:center;align-items:center;overflow:auto;
 overscroll-behavior:contain;padding:48px 48px 4px;
}
.hb-zoom-image-frame {display:inline-block;width:fit-content;max-width:100%;flex-shrink:0;}
.hb-zoom-image-frame img {
 display:block;width:auto;height:auto;max-width:min(calc(100vw - 140px),1120px);
 max-height:calc(100dvh - 146px);object-fit:contain;
}
.hb-zoom-image-frame::after {width:min(26%,220px);opacity:.32;}
.hb-zoom-stage.is-zoomed {align-items:flex-start;justify-content:flex-start;}
.hb-zoom-stage.is-zoomed .hb-zoom-image-frame {max-width:none;}
.hb-zoom-stage.is-zoomed .hb-zoom-image-frame img {
 max-width:none;max-height:none;width:auto;height:auto;
}
.hb-zoom-control {
 position:absolute;z-index:5;display:grid;place-items:center;
 width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.35);
 border-radius:50%;background:rgba(17,24,39,.87);color:#fff;
 font-size:28px;line-height:1;cursor:pointer;
}
.hb-zoom-control:focus-visible,.hb-zoom-action:focus-visible {outline:3px solid #fd7c4e;outline-offset:3px;}
.hb-zoom-close {top:6px;right:6px;}
.hb-zoom-prev {top:46%;left:4px;}
.hb-zoom-next {top:46%;right:4px;}
.hb-zoom-control[hidden] {display:none;}
.hb-zoom-toolbar {
 display:flex;gap:12px;align-items:center;justify-content:center;
 flex-wrap:wrap;padding:12px 8px 6px;text-align:center;
 font-size:13px;color:#dbe5f2;
}
.hb-zoom-action {
 border-radius:999px;border:1px solid rgba(255,255,255,.3);
 background:#1e293b;color:white;font:inherit;padding:7px 14px;cursor:pointer;
}
@media (max-width:640px) {
 .hb-zoom-viewer {padding:4px;}
 .hb-zoom-stage {padding:52px 34px 4px;}
 .hb-zoom-image-frame img {max-width:calc(100vw - 88px);max-height:calc(100dvh - 154px);}
 .hb-zoom-control {width:34px;height:34px;font-size:23px;}
 .hb-zoom-prev {left:0;} .hb-zoom-next {right:0;}
 .hb-zoom-toolbar {font-size:12px;gap:8px;}
}