/* All storefront/editor viewer rules are scoped to the viewer. */
.scm-lb { position:fixed; inset:0; box-sizing:border-box; width:100%; height:100%; height:100dvh; color:var(--lb-icon-color,#fff); font:14px/1.4 system-ui,sans-serif; isolation:isolate; --lb-top-space:68px; --lb-bottom-space:12px; }
.scm-lb *, .scm-lb *::before, .scm-lb *::after { box-sizing:border-box; }
.scm-lb[hidden], .scm-lb [hidden] { display:none !important; }
.scm-lb.scm-lb-preview { position:absolute; height:100%; }
.scm-lb:fullscreen { width:100vw; height:100vh; }
.scm-lb-backdrop { position:absolute; inset:0; background:var(--lb-background); -webkit-backdrop-filter:blur(var(--lb-blur)); backdrop-filter:blur(var(--lb-blur)); }
.scm-lb-workspace { position:absolute; inset:calc(var(--lb-top-space) + env(safe-area-inset-top,0px)) calc(max(12px,env(safe-area-inset-right,0px)) + var(--lb-right-space,0px)) calc(var(--lb-bottom-space) + env(safe-area-inset-bottom,0px)) calc(max(12px,env(safe-area-inset-left,0px)) + var(--lb-left-space,0px)); display:flex; flex-direction:column; gap:8px; min-height:0; min-width:0; }
.scm-lb-stage { flex:1 1 0; min-height:0; min-width:0; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.scm-lb[data-center="false"] .scm-lb-stage { align-items:flex-start; justify-content:flex-start; padding:var(--lb-image-margin); }
.scm-lb[data-image-position="left"] .scm-lb-stage { justify-content:flex-start; padding-inline:var(--lb-image-margin); }
.scm-lb[data-image-position="right"] .scm-lb-stage { justify-content:flex-end; padding-inline:var(--lb-image-margin); }
.scm-lb-figure { flex:none; position:relative; margin:0; padding:0; max-width:100%; max-height:100%; border-radius:var(--lb-image-radius); overflow:hidden; background:var(--lb-image-background); box-shadow:var(--lb-image-shadow); }
.scm-lb .scm-lb-img { display:block !important; width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; min-width:0; min-height:0; margin:0 !important; padding:0; border:0; border-radius:0; object-fit:contain; transform-origin:center; user-select:none; -webkit-user-drag:none; }
.scm-lb.is-zoomed .scm-lb-figure { cursor:grab; }
.scm-lb.is-zoomed .scm-lb-figure:active { cursor:grabbing; }
.scm-lb-status { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; pointer-events:none; padding:20px; text-align:center; }
.scm-lb-retry { pointer-events:auto; background:#fff; color:#1e293b; padding:10px 18px; border:1px solid #cbd5e1; border-radius:6px; cursor:pointer; }
/* Grid cells keep independently positioned controls from overlapping each other. */
.scm-lb-controls { position:absolute; pointer-events:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto 1fr auto; gap:8px; inset:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px)); }
.scm-lb-slot { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:0; pointer-events:none; position:static; transform:none; max-width:100%; align-content:flex-start; }
.scm-lb-slot-top-left { grid-area:1/1; align-self:start; }
.scm-lb-slot-top-center { grid-area:1/2; align-self:start; justify-content:center; }
.scm-lb-slot-top-right { grid-area:1/3; align-self:start; justify-content:flex-end; }
.scm-lb-slot-middle-left { grid-area:2/1; align-self:center; flex-direction:column; justify-self:start; }
.scm-lb-slot-middle-right { grid-area:2/3; align-self:center; flex-direction:column; justify-self:end; }
.scm-lb-slot-bottom-left { grid-area:3/1; align-self:end; }
.scm-lb-slot-bottom-center { grid-area:3/2; align-self:end; justify-content:center; }
.scm-lb-slot-bottom-right { grid-area:3/3; align-self:end; justify-content:flex-end; }
.scm-lb-tgroup.scm-lb-grouped { padding-top:24px; }
.scm-lb[data-thumbs="left"] .scm-lb-tgroup.scm-lb-grouped, .scm-lb[data-thumbs="right"] .scm-lb-tgroup.scm-lb-grouped { padding-top:0; }

.scm-lb-slot > * { pointer-events:auto; }
.scm-lb .scm-lb-btn { display:inline-flex; flex:none; align-items:center; justify-content:center; width:var(--lb-button-size); height:var(--lb-button-size); min-height:0; min-width:0; padding:0; margin:0; line-height:1; color:var(--lb-icon-color); background:var(--lb-button-background); border:var(--lb-button-border) var(--lb-button-border-style) var(--lb-button-border-color); border-radius:var(--lb-button-radius); box-shadow:var(--lb-button-shadow); cursor:pointer; transition:background .16s,transform .16s,box-shadow .16s; }
.scm-lb .scm-lb-btn svg { display:block; width:var(--lb-icon-size); height:var(--lb-icon-size); pointer-events:none; }
.scm-lb .scm-lb-btn:disabled { opacity:.35; cursor:default; }
.scm-lb button:focus-visible { outline:3px solid var(--lb-thumb-active,#38bdf8); outline-offset:3px; }
.scm-lb-counter { padding:8px 4px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.scm-lb-title, .scm-lb-description { flex-basis:100%; text-align:inherit; overflow:auto; max-height:4.5em; overflow-wrap:anywhere; }
.scm-lb-title { font-weight:600; font-size:15px; }
.scm-lb-description { font-size:12px; opacity:.85; white-space:pre-line; }
.scm-lb-slot-bottom-center, .scm-lb-slot-top-center { text-align:center; }
.scm-lb-strip { display:flex; flex-direction:column; flex:0 1 auto; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:0; max-width:100%; max-height:40%; }
.scm-lb-thumb-nav { display:flex; flex:0 1 auto; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:0; width:100%; }
.scm-lb-product-title { flex:0 1 auto; width:100%; min-height:0; max-height:6.75em; overflow:auto; margin:0; padding:0; color:var(--lb-product-title-color,var(--lb-icon-color)); font-size:var(--lb-product-title-size); font-weight:var(--lb-product-title-weight); line-height:1.35; text-align:var(--lb-product-title-align); overflow-wrap:anywhere; }
.scm-lb-thumbs { display:flex; gap:calc(var(--lb-thumb-gap) + 10px); align-items:stretch; min-width:0; max-width:100%; max-height:100%; overflow-x:auto; overflow-y:hidden; overscroll-behavior:contain; padding:8px 4px; scrollbar-width:thin; }
.scm-lb-tgroup { display:flex; align-items:center; flex:0 0 auto; position:relative; padding:0; }
.scm-lb-titems { display:flex; align-items:center; gap:var(--lb-thumb-gap-y) var(--lb-thumb-gap); }
.scm-lb-group { position:absolute; top:0; left:0; right:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.scm-lb .scm-lb-thumb { display:block; flex:0 0 auto; width:var(--lb-thumb-width); height:var(--lb-thumb-size); min-width:0; min-height:0; padding:0; margin:0; background:transparent; border:var(--lb-thumb-border) var(--lb-thumb-border-style) var(--lb-thumb-color); border-radius:var(--lb-thumb-radius); opacity:var(--lb-thumb-opacity); cursor:pointer; overflow:hidden; transition:transform .16s,opacity .16s,box-shadow .16s,border-color .16s; }
.scm-lb .scm-lb-thumb img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; margin:0; padding:0; pointer-events:none; transition:transform .16s; }
.scm-lb .scm-lb-thumb.is-active { opacity:var(--lb-thumb-active-opacity); border-color:var(--lb-thumb-active); outline:2px solid var(--lb-thumb-active); outline-offset:1px; }
.scm-lb[data-thumbs="left"] .scm-lb-workspace, .scm-lb[data-thumbs="right"] .scm-lb-workspace { flex-direction:row; }
.scm-lb[data-thumbs="left"] .scm-lb-strip, .scm-lb[data-thumbs="top"] .scm-lb-strip { order:-1; }
.scm-lb[data-thumbs="left"] .scm-lb-strip, .scm-lb[data-thumbs="right"] .scm-lb-strip { width:max-content; align-self:var(--lb-thumb-panel-align); min-height:0; max-height:100%; max-width:40%; }
/* Lateral images use the full height with symmetric safe areas. Only the thumbnail
   panel reserves the header/footer rows; image/control collisions are fitted in JS. */
.scm-lb[data-image-position="left"] .scm-lb-workspace, .scm-lb[data-image-position="right"] .scm-lb-workspace {
 --lb-safe-y:max(env(safe-area-inset-top,0px),env(safe-area-inset-bottom,0px));
 --lb-panel-top:max(0px,calc(var(--lb-top-space) + env(safe-area-inset-top,0px) - 12px - var(--lb-safe-y)));
 --lb-panel-bottom:max(0px,calc(var(--lb-bottom-space) + env(safe-area-inset-bottom,0px) - 12px - var(--lb-safe-y)));
 top:calc(12px + var(--lb-safe-y)); bottom:calc(12px + var(--lb-safe-y));
}
.scm-lb[data-image-position="left"] .scm-lb-strip, .scm-lb[data-image-position="right"] .scm-lb-strip {
 margin-top:var(--lb-panel-top); margin-bottom:var(--lb-panel-bottom);
 max-height:calc(100% - var(--lb-panel-top) - var(--lb-panel-bottom));
}
/* Manual spacing measures from the fitted image, not the edge of its flexible stage.
   Cap the gap on small screens; the translated panel remains inside the workspace. */
.scm-lb[data-custom-image-gap="true"] .scm-lb-workspace { column-gap:min(var(--lb-image-thumb-gap),20%); }
.scm-lb[data-custom-image-gap="true"] .scm-lb-strip { transform:translateX(var(--lb-thumb-panel-shift,0px)); }
.scm-lb[data-thumbs="left"] .scm-lb-thumb-nav, .scm-lb[data-thumbs="right"] .scm-lb-thumb-nav { flex-direction:column; }
.scm-lb[data-thumbs="left"] .scm-lb-thumbs, .scm-lb[data-thumbs="right"] .scm-lb-thumbs { flex-direction:column; overflow-y:auto; overflow-x:hidden; min-height:0; padding:4px 8px; gap:calc(var(--lb-thumb-gap-y) + 10px); }
.scm-lb[data-thumbs="left"] .scm-lb-tgroup, .scm-lb[data-thumbs="right"] .scm-lb-tgroup { flex-direction:column; gap:var(--lb-thumb-gap-y); }
.scm-lb[data-thumbs="left"] .scm-lb-titems, .scm-lb[data-thumbs="right"] .scm-lb-titems { flex-direction:column; }
.scm-lb[data-thumbs="left"] .scm-lb-group, .scm-lb[data-thumbs="right"] .scm-lb-group { position:static; white-space:normal; width:var(--lb-thumb-width); text-align:center; }
.scm-lb[data-thumbs="left"] .scm-lb-tgroup, .scm-lb[data-thumbs="right"] .scm-lb-tgroup { padding-top:0; }
.scm-lb[data-thumbs="left"] .scm-lb-thumb-nav > .scm-lb-btn svg, .scm-lb[data-thumbs="right"] .scm-lb-thumb-nav > .scm-lb-btn svg { transform:rotate(90deg); }
/* Grid retains the variation/product groups and scrolls vertically in every position. */
.scm-lb[data-thumb-layout="grid"] .scm-lb-strip { width:var(--lb-thumb-panel-width); }
.scm-lb[data-thumb-layout="grid"][data-thumbs="top"] .scm-lb-strip, .scm-lb[data-thumb-layout="grid"][data-thumbs="bottom"] .scm-lb-strip { align-self:var(--lb-thumb-grid-align); }
.scm-lb[data-thumb-layout="grid"] .scm-lb-thumb-nav { flex-direction:column; }
.scm-lb[data-thumb-layout="grid"] .scm-lb-thumbs { display:block; width:100%; min-height:0; padding:8px; overflow-x:hidden; overflow-y:auto; scrollbar-gutter:stable; }
.scm-lb[data-thumb-layout="grid"] .scm-lb-tgroup { display:block; padding:0; }
.scm-lb[data-thumb-layout="grid"] .scm-lb-tgroup + .scm-lb-tgroup { margin-top:calc(var(--lb-thumb-gap-y) + 10px); }
.scm-lb[data-thumb-layout="grid"] .scm-lb-group { position:static; display:block; width:auto; height:14px; margin:0 0 6px; line-height:14px; white-space:nowrap; text-align:var(--lb-thumb-grid-text-align); }
.scm-lb[data-thumb-layout="grid"] .scm-lb-titems { display:grid; grid-template-columns:repeat(var(--lb-thumb-columns,1),var(--lb-thumb-width)); gap:var(--lb-thumb-gap-y) var(--lb-thumb-gap); justify-content:var(--lb-thumb-grid-align); }
.scm-lb[data-thumb-layout="grid"] .scm-lb-thumb-nav > .scm-lb-btn svg { transform:rotate(90deg); }
@media (hover:hover) {
 .scm-lb[data-button-hover="brighten"] .scm-lb-btn:not(:disabled):hover { background:var(--lb-button-hover-background); }
 .scm-lb[data-button-hover="scale"] .scm-lb-btn:not(:disabled):hover { transform:scale(1.08); background:var(--lb-button-hover-background); }
 .scm-lb[data-button-hover="lift"] .scm-lb-btn:not(:disabled):hover { transform:translateY(-3px); background:var(--lb-button-hover-background); }
 .scm-lb[data-button-hover="shadow"] .scm-lb-btn:not(:disabled):hover { box-shadow:0 6px 18px rgba(0,0,0,.4); background:var(--lb-button-hover-background); }
 .scm-lb[data-thumb-hover="zoom"] .scm-lb-thumb:hover img { transform:scale(1.16); }
 .scm-lb[data-thumb-hover="lift"] .scm-lb-thumb:hover { transform:translateY(-3px); }
 .scm-lb[data-thumb-hover="scale"] .scm-lb-thumb:hover { transform:scale(1.08); }
 .scm-lb[data-thumb-hover="shadow"] .scm-lb-thumb:hover { box-shadow:0 3px 12px rgba(0,0,0,.5); }
 .scm-lb[data-thumb-hover="opacity"] .scm-lb-thumb:hover { opacity:1; }
 .scm-lb[data-thumb-hover="border"] .scm-lb-thumb:hover { border-color:var(--lb-thumb-hover-color); outline:2px solid var(--lb-thumb-hover-color); }
}
@media (prefers-reduced-motion:reduce) { .scm-lb *, .scm-lb *::before { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }
body.scm-hide-gallery-arrows .woocommerce-product-gallery .flex-direction-nav,
body.scm-hide-gallery-arrows .woocommerce-product-gallery .flexy-arrow-prev,
body.scm-hide-gallery-arrows .woocommerce-product-gallery .flexy-arrow-next,
body.scm-hide-gallery-arrows .ct-product-gallery-container .flexy-arrow-prev,
body.scm-hide-gallery-arrows .ct-product-gallery-container .flexy-arrow-next,
body.scm-hide-gallery-arrows .ct-media-container .flexy-arrow-prev,
body.scm-hide-gallery-arrows .ct-media-container .flexy-arrow-next,
body.scm-hide-gallery-arrows .product-gallery .flex-direction-nav,
body.scm-hide-gallery-arrows .product-images .flex-direction-nav,
body.scm-hide-gallery-arrows .single-product div.images .flex-direction-nav,
/* Sliders genéricos que algunos temas usan para la galería */
body.scm-hide-gallery-arrows .woocommerce-product-gallery .swiper-button-prev,
body.scm-hide-gallery-arrows .woocommerce-product-gallery .swiper-button-next,
body.scm-hide-gallery-arrows .ct-product-gallery-container .swiper-button-prev,
body.scm-hide-gallery-arrows .ct-product-gallery-container .swiper-button-next,
body.scm-hide-gallery-arrows .woocommerce-product-gallery .slick-prev,
body.scm-hide-gallery-arrows .woocommerce-product-gallery .slick-next,
body.scm-hide-gallery-arrows .woocommerce-product-gallery .owl-nav {
    display: none !important;
}
