/* Baskibu Product Gallery Independent 1.0.5 — selectors owned by this plugin only. */
.bbpg, .bbpg * { box-sizing:border-box; }
.bbpg { --bbpg-accent:#008e8a; --bbpg-ink:#14223b; --bbpg-edge:#e1e7ec; width:100%; max-width:100%; min-width:0; font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; }
.bbpg__layout { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; min-width:0; }
.bbpg__stage { position:relative; width:100%; min-width:0; border:1px solid var(--bbpg-edge); border-radius:18px; overflow:hidden; background:#fafafa; isolation:isolate; touch-action:pan-y; }
.bbpg__main { all:unset; position:relative; display:flex; width:100%; aspect-ratio:1/1; justify-content:center; align-items:center; overflow:hidden; cursor:zoom-in; background:#fafafa; box-sizing:border-box; }
.bbpg__main:focus-visible { outline:3px solid var(--bbpg-accent); outline-offset:-4px; }
.bbpg__main-img { display:block !important; width:100% !important; height:100% !important; min-width:0 !important; max-width:none !important; object-fit:contain !important; object-position:center !important; background:transparent !important; margin:0 !important; padding:0 !important; transform:none !important; transition:none !important; filter:none !important; opacity:1 !important; will-change:auto !important; border:0 !important; }
.bbpg__magnify { position:absolute; top:14px; right:14px; display:flex; justify-content:center; align-items:center; width:38px; height:38px; color:var(--bbpg-ink); font-size:26px; line-height:1; font-weight:400; background:rgba(255,255,255,.92); border:1px solid var(--bbpg-edge); border-radius:12px; pointer-events:none; }
.bbpg__arrow { all:unset; box-sizing:border-box; display:flex; align-items:center; justify-content:center; position:absolute; z-index:2; top:50%; transform:translateY(-50%) !important; width:40px; height:48px; cursor:pointer; background:rgba(255,255,255,.96); color:var(--bbpg-ink); font-size:28px; font-weight:300; line-height:1; border:1px solid var(--bbpg-edge); border-radius:12px; box-shadow:0 3px 10px #101e3520; transition:background-color .14s ease, box-shadow .14s ease; }
.bbpg__arrow:hover { background:#fff; box-shadow:0 5px 16px #101e3525; }
.bbpg__arrow--prev { left:10px; }
.bbpg__arrow--next { right:10px; }
.bbpg__count { position:absolute; bottom:14px; right:14px; padding:6px 10px; border-radius:11px; background:rgba(255,255,255,.95); border:1px solid var(--bbpg-edge); font-size:12px; color:var(--bbpg-ink); pointer-events:none; }
.bbpg__thumbs { display:flex; flex-direction:row; align-items:flex-start; gap:9px; min-width:0; max-width:100%; padding:3px 2px 6px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none; }
.bbpg__thumbs::-webkit-scrollbar { display:none; width:0; height:0; }
.bbpg__thumb { all:unset; box-sizing:border-box; position:relative; display:block; flex:0 0 auto; width:79px; height:79px; min-width:79px; overflow:hidden; border:2px solid transparent; border-radius:12px; background:#fafafa; cursor:pointer; scroll-snap-align:start; }
.bbpg__thumb img { display:block; width:100%; height:100%; max-width:100%; object-fit:contain; border:0; border-radius:9px; margin:0; padding:0; }
.bbpg__thumb.is-active { border-color:var(--bbpg-accent); box-shadow:0 0 0 2px #008e8a17; }
.bbpg__thumb:focus-visible,.bbpg__arrow:focus-visible { outline:3px solid var(--bbpg-accent); outline-offset:2px; }
.bbpg--left .bbpg__layout { grid-template-columns:84px minmax(0,1fr); align-items:start; }
.bbpg--left .bbpg__stage { grid-column:2; grid-row:1; }
.bbpg--left .bbpg__thumbs { grid-column:1; grid-row:1; flex-direction:column; max-height:650px; overflow-y:auto; overflow-x:hidden; scroll-snap-type:y proximity; }
.bbpg--left .bbpg__thumb { width:72px; height:72px; min-width:72px; }
@media (max-width:760px) {
  .bbpg__stage { border-radius:12px; }
  .bbpg__magnify { width:34px; height:34px; top:9px; right:9px; }
  .bbpg__thumb { width:65px; height:65px; min-width:65px; }
  .bbpg__arrow { width:36px; height:42px; border-radius:11px; }
  .bbpg__arrow--prev { left:8px; }
  .bbpg__arrow--next { right:8px; }
  .bbpg--left .bbpg__layout { grid-template-columns:minmax(0,1fr); }
  .bbpg--left .bbpg__stage, .bbpg--left .bbpg__thumbs { grid-column:auto; grid-row:auto; }
  .bbpg--left .bbpg__thumbs { flex-direction:row; max-height:none; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; }
}
/* The full-screen viewer lives under document.body, outside Elementor containers. */
.bbpg-lightbox, .bbpg-lightbox * { box-sizing:border-box; }
.bbpg-lightbox[hidden], .bbpg-lightbox__nav[hidden] { display:none !important; }
.bbpg-lightbox { position:fixed; inset:0; width:100%; height:100%; height:100dvh; z-index:2147483645; display:flex; flex-direction:column; background:rgba(7,13,24,.97); color:#fff; font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; overscroll-behavior:contain; }
.bbpg-lightbox__bar { flex:0 0 auto; padding:12px 14px; display:flex; align-items:center; gap:8px; background:rgba(0,0,0,.18); }
.bbpg-lightbox__counter { flex:1; font-size:14px; font-weight:700; font-variant-numeric:tabular-nums; padding-left:5px; }
.bbpg-lightbox__button { all:unset; box-sizing:border-box; display:flex; justify-content:center; align-items:center; min-height:44px; min-width:44px; border-radius:12px; border:1px solid #ffffff44; background:#ffffff18; color:#fff; font-size:23px; line-height:1; cursor:pointer; }
.bbpg-lightbox__button[disabled] { opacity:.35; cursor:default; }
.bbpg-lightbox__button:focus-visible { outline:3px solid #59d6d2; outline-offset:2px; }
.bbpg-lightbox__button:not([disabled]):hover { background:#ffffff2c; }
.bbpg-lightbox__viewer { flex:1 1 auto; min-height:0; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; touch-action:none; overscroll-behavior:contain; }
.bbpg-lightbox__image { display:block; max-width:calc(100% - 95px); max-height:calc(100% - 24px); object-fit:contain; width:auto; height:auto; user-select:none; -webkit-user-select:none; -webkit-user-drag:none; transform:translate3d(0,0,0) scale(1); transform-origin:center center !important; transition:none !important; cursor:zoom-in; }
.bbpg-lightbox.is-zoomed .bbpg-lightbox__image { cursor:grab; }
.bbpg-lightbox__nav { position:absolute; top:50%; transform:translateY(-50%); z-index:2; }
.bbpg-lightbox__nav--prev { left:8px; } .bbpg-lightbox__nav--next { right:8px; }
.bbpg-lightbox__caption { flex:0 0 auto; padding:9px 18px 14px; color:#ffffffbb; text-align:center; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:550px) {
  .bbpg-lightbox__viewer .bbpg-lightbox__image { max-width:calc(100% - 70px); }
  .bbpg-lightbox__nav { min-width:34px; min-height:50px; }
  .bbpg-lightbox__bar { padding:7px; }
  .bbpg-lightbox__caption { padding:6px 8px 13px; }
}

/* v1.0.5 — viewport-follow portal. Only the plugin gallery is moved.
   Elementor's column, prices, builder, form and widths are never altered. */
.bbpg-sticky-placeholder { box-sizing:border-box; flex:0 0 auto; width:100%; }
.bbpg-sticky-portal {
  position:fixed !important;
  box-sizing:border-box;
  z-index:45;
  max-width:100%;
  margin:0 !important;
  padding:0 !important;
  pointer-events:auto;
  isolation:isolate;
}
.bbpg-sticky-portal > .bbpg { width:100% !important; margin:0 !important; }
.bbpg__guides { display:none; }
@media screen and (min-width:1200px) {
  .bbpg__guides {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin-top:12px;
    width:100%;
  }
  .bbpg__guide {
    display:flex;
    gap:10px;
    align-items:center;
    min-width:0;
    min-height:62px;
    padding:10px 12px;
    background:#f8fbfb;
    border:1px solid #e1ecea;
    border-radius:12px;
    color:#263a4e;
  }
  .bbpg__guide-icon {
    display:flex;
    flex:0 0 34px;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:#e6f5f1;
    color:#007c78;
  }
  .bbpg__guide-icon svg { width:19px;height:19px; }
  .bbpg__guide strong { display:block;font-size:11.5px;line-height:1.3;font-weight:750; }
  .bbpg__guide small { display:block;margin-top:2px;font-size:10.5px;line-height:1.4;color:#617080; }
  body.single-product .bbpg.bbpg-sticky-compact .bbpg__main {
    aspect-ratio:auto !important;
    height:var(--bbpg-stage-height) !important;
  }
  body.single-product .bbpg.bbpg-sticky-compact .bbpg__thumbs {
    max-height:var(--bbpg-stage-height) !important;
  }
}
@media screen and (min-width:1200px) and (max-width:1320px) {
  .bbpg__guides { grid-template-columns:1fr; }
  .bbpg__guide { min-height:52px; }
}
