/* BeLight Product Gallery 0.1.0. All gallery styling is scoped; no Woo/PhotoSwipe resets. */
.elementor-widget-belight-product-gallery { min-width:0; }
.blg {
    --blg-gap:14px; --blg-thumb-size:78px; --blg-thumb-gap:10px; --blg-thumb-count:5;
    --blg-thumb-padding:5px; --blg-thumb-radius:10px;
    --blg-thumb-bg:#fff; --blg-thumb-border:#dce7f3; --blg-thumb-hover:#8fbff5; --blg-thumb-active:#0d6efd;
    --blg-height:560px; --blg-ratio:1 / 1; --blg-image-padding:18px; --blg-fit:contain;
    --blg-arrow-size:46px; --blg-arrow-icon:23px; --blg-arrow-radius:50px; --blg-arrow-offset:12px;
    --blg-arrow-color:#0d6efd; --blg-arrow-bg:#fff; --blg-next-color:#fff; --blg-next-bg:#0d6efd;
    --blg-arrow-hover-color:#fff; --blg-arrow-hover-bg:#0758c9;
    --blg-rail-button-height:30px; --blg-rail-button-radius:9px; --blg-rail-button-color:#0d6efd; --blg-rail-button-bg:#fff;
    --blg-expand-size:38px; --blg-expand-radius:10px; --blg-expand-color:#0d6efd; --blg-expand-bg:#fff;
    --blg-counter-color:#172554; --blg-counter-bg:rgba(255,255,255,.91);
    --blg-lightbox-bg:rgba(9,18,34,.96); --blg-lightbox-color:#fff;
    display:grid; grid-template-columns:var(--blg-thumb-size) minmax(0,1fr);
    gap:var(--blg-gap); align-items:start; width:100%; min-width:0; max-width:100%;
    position:relative; box-sizing:border-box; color:#172554; isolation:isolate;
}
.blg *, .blg *::before, .blg *::after { box-sizing:border-box; }
.blg [hidden] { display:none !important; }
.blg[data-layout="right"] { grid-template-columns:minmax(0,1fr) var(--blg-thumb-size); }
.blg[data-layout="bottom"], .blg[data-layout="none"], .blg.blg-single { grid-template-columns:minmax(0,1fr); }
.blg .blg-rail { grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:7px; min-width:0; width:100%; align-self:start; }
.blg .blg-main { grid-column:2; grid-row:1; min-width:0; width:100%; }
.blg[data-layout="right"] .blg-main { grid-column:1; }
.blg[data-layout="right"] .blg-rail { grid-column:2; }
.blg[data-layout="bottom"] .blg-main, .blg[data-layout="none"] .blg-main, .blg.blg-single .blg-main { grid-column:1; }
.blg[data-layout="bottom"] .blg-rail { grid-column:1; grid-row:2; flex-direction:row; align-items:center; }
.blg .blg-stage {
    position:relative; width:100%; min-width:0; aspect-ratio:var(--blg-ratio);
    max-height:var(--blg-height); overflow:hidden; isolation:isolate;
    border:1px solid #e0ebf6; border-radius:20px;
    background:#f7fbff; /* Elementor background group can override with a colour OR gradient. */
    box-shadow:0 6px 25px rgba(18,55,100,.045);
}
.blg .blg-image-link {
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    margin:0; padding:var(--blg-image-padding); overflow:hidden;
    background:transparent; border:0; width:auto; height:auto; max-width:none;
    text-decoration:none; touch-action:pan-y pinch-zoom; color:inherit;
}
.blg .blg-main-img {
    display:block; width:100%; height:100%; min-width:0; max-width:none; max-height:none;
    object-fit:var(--blg-fit); margin:0; padding:0; border:0; border-radius:0;
    transform:none; box-shadow:none; user-select:none; -webkit-user-drag:none;
}
.blg .blg-image-link.is-zoomed .blg-main-img { transform:scale(var(--blg-zoom,2)); transform-origin:var(--blg-origin,50% 50%); }
.blg .blg-thumbs {
    display:flex; flex-direction:column; gap:var(--blg-thumb-gap);
    width:100%; min-width:0; min-height:0; margin:0; padding:0;
    max-height:var(--blg-rail-cap,calc(var(--blg-thumb-count) * var(--blg-thumb-size) + (var(--blg-thumb-count) - 1) * var(--blg-thumb-gap)));
    overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; overflow-anchor:none;
    scrollbar-width:none; scroll-behavior:auto;
}
.blg .blg-thumbs::-webkit-scrollbar { display:none; }
.blg[data-layout="bottom"] .blg-thumbs { flex-direction:row; width:auto; flex:1 1 auto; max-height:none; overflow-x:auto; overflow-y:hidden; }
.blg .blg-button, .blg .blg-thumb {
    appearance:none; -webkit-appearance:none; display:flex; align-items:center; justify-content:center;
    line-height:1; text-decoration:none; text-transform:none; letter-spacing:normal; font:inherit;
    margin:0; cursor:pointer; touch-action:manipulation; flex-shrink:0;
    transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.blg .blg-thumb {
    width:var(--blg-thumb-size); height:var(--blg-thumb-size); min-height:var(--blg-thumb-size);
    flex:0 0 var(--blg-thumb-size); padding:var(--blg-thumb-padding);
    border:1px solid var(--blg-thumb-border); border-radius:var(--blg-thumb-radius);
    background:var(--blg-thumb-bg); color:inherit; box-shadow:none;
}
.blg .blg-thumb img {
    display:block; width:100%; height:100%; object-fit:contain;
    max-width:100%; max-height:100%; margin:0; padding:0; border:0; border-radius:0; box-shadow:none;
    pointer-events:none; -webkit-user-drag:none;
}
.blg .blg-thumb:hover { border-color:var(--blg-thumb-hover); }
.blg .blg-thumb[aria-pressed="true"] { border-color:var(--blg-thumb-active); box-shadow:inset 0 0 0 1px var(--blg-thumb-active); }
.blg .blg-button:focus-visible, .blg .blg-thumb:focus-visible, .blg .blg-image-link:focus-visible { outline:3px solid #75b2ff; outline-offset:-3px; }
.blg .blg-button:disabled { opacity:.32; cursor:default; box-shadow:none; }
.blg .blg-button svg { width:1em; height:1em; flex-shrink:0; }
.blg .blg-button svg:not([fill="none"]) { fill:currentColor; }
.blg .blg-main-arrow {
    position:absolute; top:50%; transform:translateY(-50%); z-index:3;
    width:var(--blg-arrow-size); height:var(--blg-arrow-size); min-height:0; padding:0;
    font-size:var(--blg-arrow-icon); border:1px solid #dce8f4; border-radius:var(--blg-arrow-radius);
    color:var(--blg-arrow-color); background:var(--blg-arrow-bg); box-shadow:0 4px 14px rgba(13,69,135,.10);
}
.blg .blg-prev { left:var(--blg-arrow-offset); }
.blg .blg-next { right:var(--blg-arrow-offset); color:var(--blg-next-color); background:var(--blg-next-bg); }
.blg .blg-main-arrow:hover:not(:disabled) { color:var(--blg-arrow-hover-color); background:var(--blg-arrow-hover-bg); }
.blg .blg-rail-arrow {
    width:100%; height:var(--blg-rail-button-height); min-height:var(--blg-rail-button-height); padding:0;
    border:1px solid var(--blg-thumb-border); border-radius:var(--blg-rail-button-radius);
    font-size:21px; color:var(--blg-rail-button-color); background:var(--blg-rail-button-bg); box-shadow:none;
}
.blg .blg-rail-arrow:hover:not(:disabled) { border-color:var(--blg-thumb-active); background:#f2f8ff; }
.blg[data-layout="bottom"] .blg-rail-arrow { width:var(--blg-rail-button-height); height:var(--blg-thumb-size); }
.blg[data-layout="bottom"] .blg-rail-arrow svg, .blg[data-layout="bottom"] .blg-rail-arrow i { transform:rotate(-90deg); }
.blg .blg-expand {
    position:absolute; top:12px; right:12px; z-index:4;
    width:var(--blg-expand-size); height:var(--blg-expand-size); min-height:0; padding:0;
    font-size:21px; color:var(--blg-expand-color); background:var(--blg-expand-bg);
    border:1px solid #dce8f4; border-radius:var(--blg-expand-radius); box-shadow:0 3px 12px rgba(15,60,120,.06);
}
.blg .blg-expand:hover { border-color:var(--blg-expand-color); }
.blg .blg-counter { position:absolute; left:50%; bottom:12px; transform:translateX(-50%); z-index:2; padding:5px 10px; border-radius:20px; color:var(--blg-counter-color); background:var(--blg-counter-bg); font-size:12px; line-height:1.3; pointer-events:none; }
.blg .blg-caption { margin:10px 0 0; color:#64748b; font-size:13px; line-height:1.5; }
.blg .blg-error { position:absolute; bottom:45px; left:12px; right:12px; padding:8px; text-align:center; font-size:12px; background:#fff; color:#8d3434; border-radius:8px; }
.blg .blg-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Native dialog lives in the top layer: ancestor overflow/transform cannot clip it. */
.blg dialog.blg-lightbox {
    position:fixed; inset:0; margin:0; padding:16px; width:100vw; height:100vh; height:100dvh;
    max-width:none; max-height:none; border:0; border-radius:0; box-shadow:none;
    background:var(--blg-lightbox-bg); color:var(--blg-lightbox-color); overflow:hidden;
}
.blg dialog.blg-lightbox:not([open]) { display:none; }
.blg dialog.blg-lightbox[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:12px; }
.blg .blg-lightbox::backdrop { background:rgba(0,0,0,.75); }
.blg .blg-lb-header { display:flex; align-items:center; gap:10px; min-height:44px; }
.blg .blg-lb-title { margin:0; font:600 15px/1.4 system-ui,sans-serif; color:inherit; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.blg .blg-lb-count { font:14px/1.4 system-ui,sans-serif; white-space:nowrap; padding:0 8px; }
.blg .blg-lb-button { width:42px; height:42px; min-height:0; padding:0; font-size:22px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); color:inherit; border-radius:12px; box-shadow:none; }
.blg .blg-lb-button:hover:not(:disabled) { background:rgba(255,255,255,.2); }
.blg .blg-lb-stage { display:grid; grid-template-columns:48px minmax(0,1fr) 48px; gap:12px; min-height:0; min-width:0; align-items:center; }
.blg .blg-lb-picture { width:100%; height:100%; min-height:0; overflow:auto; display:grid; place-items:center; position:relative; touch-action:pan-y pinch-zoom; }
.blg .blg-lb-image { display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; margin:0; padding:0; border:0; box-shadow:none; border-radius:0; -webkit-user-drag:none; }
.blg .blg-lb-picture.is-zoomed { display:block; }
.blg .blg-lb-picture.is-zoomed .blg-lb-image { width:200%; height:200%; object-fit:contain; }
.blg .blg-lb-footer { display:flex; flex-direction:column; gap:8px; min-width:0; align-items:center; }
.blg .blg-lb-thumbs { display:flex; flex-direction:row; gap:8px; max-width:100%; overflow-x:auto; padding:2px; scrollbar-width:thin; }
.blg .blg-lb-thumbs .blg-thumb { --blg-thumb-size:58px; --blg-thumb-bg:#fff; }
.blg .blg-lb-status { font:13px/1.4 system-ui,sans-serif; margin:0; text-align:center; color:inherit; }
.blg .blg-lb-status a { color:inherit; text-decoration:underline; }
html.blg-modal-open { overflow:hidden; }
.blg-editor-notice { padding:20px; border:1px solid #c7d9ee; background:#f7fbff; color:#172554; }
@media (max-width:767px) {
    .blg { --blg-thumb-size:60px; --blg-gap:10px; --blg-thumb-gap:8px; --blg-height:430px; --blg-arrow-size:38px; --blg-arrow-icon:20px; --blg-arrow-offset:8px; --blg-image-padding:12px; }
    .blg dialog.blg-lightbox { padding:8px; gap:8px; }
    .blg .blg-lb-stage { grid-template-columns:32px minmax(0,1fr) 32px; gap:4px; }
    .blg .blg-lb-stage .blg-lb-button { width:32px; height:42px; }
    .blg .blg-lb-title { font-size:12px; }
    .blg .blg-lb-count { font-size:12px; padding:0; }
    .blg .blg-lb-header { gap:5px; }
    .blg .blg-lb-header .blg-lb-button { width:34px; height:36px; }
}
@media (prefers-reduced-motion:reduce) { .blg *, .blg *::before, .blg *::after { transition:none !important; scroll-behavior:auto !important; } }

.blg .blg-thumbs, .blg .blg-lb-thumbs { direction:ltr; }
