.spmg{width:100%;max-width:100%;margin-bottom:2rem;float:none!important}.spmg *{box-sizing:border-box}.spmg-stage{position:relative;width:100%;background:#fff}.spmg-slide{aspect-ratio:1.25;align-items:center;justify-content:center}.spmg-slide.is-active{display:flex}.spmg-slide[hidden]{display:none!important}.spmg-slide>img,.spmg-open img{display:block;width:100%;height:100%;object-fit:contain}.spmg-open{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.spmg-video{cursor:pointer}.spmg-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border-radius:50%;color:#fff;background:#333b;font-size:25px}.spmg-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#606060;color:#fff;font-size:26px;line-height:1;cursor:pointer}.spmg-prev{left:12px}.spmg-next{right:12px}.spmg-thumbs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;padding:10px 0;direction:inherit}.spmg-thumb{position:relative;flex:0 0 80px;width:80px;height:80px;padding:0;border:1px solid #ddd;background:#fff;cursor:pointer;opacity:.55}.spmg-thumb.is-active,.spmg-thumb:hover{opacity:1;border-color:#8c8c8c}.spmg-thumb img{display:block;width:100%;height:100%;object-fit:contain}.spmg-thumb-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#333c;color:white;font-size:13px}.spmg-dialog{width:min(94vw,1000px);max-width:none;max-height:94vh;padding:35px 12px 12px;border:0;background:#101010;color:#fff}.spmg-dialog::backdrop{background:#000d}.spmg-dialog-content{display:grid;place-items:center;min-height:180px}.spmg-dialog img,.spmg-dialog video{display:block;max-width:100%;max-height:calc(94vh - 60px);object-fit:contain}.spmg-dialog iframe{display:block;width:min(88vw,960px);aspect-ratio:16/9;border:0}.spmg-close{position:absolute;right:5px;top:0;border:0;background:transparent;color:#fff;font-size:32px;cursor:pointer}@media(max-width:600px){.spmg-thumb{flex-basis:64px;width:64px;height:64px}.spmg-arrow{width:32px;height:32px}.spmg-stage{aspect-ratio:1}}
/* Elementor and theme button/image rules must not change the gallery geometry. */
.woocommerce .spmg.spmg,.elementor-widget-woocommerce-product-images .spmg.spmg{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;float:none!important;clear:both!important;overflow:hidden!important;border:0!important;padding:0!important;background:#fff!important}
.spmg .spmg-stage{position:relative!important;display:block!important;width:100%!important;aspect-ratio:1.25/1!important;height:auto!important;overflow:hidden!important;border:0!important}
.spmg .spmg-slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;overflow:hidden!important}
.spmg .spmg-slide.is-active{display:block!important}
.spmg .spmg-open{position:relative!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;overflow:hidden!important}
.spmg .spmg-slide>img,.spmg .spmg-open img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:center!important;border:0!important;box-shadow:none!important}
.spmg .spmg-arrow{position:absolute!important;top:50%!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;border:0!important;border-radius:50%!important;background:#606060!important;color:#fff!important;box-shadow:none!important;line-height:1!important;transform:translateY(-50%)!important}
.spmg .spmg-prev{left:12px!important;right:auto!important}.spmg .spmg-next{right:12px!important;left:auto!important}
.spmg .spmg-thumbs{position:relative!important;display:flex!important;flex-direction:row!important;gap:7px!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:10px 0!important;overflow-x:auto!important;overflow-y:hidden!important;clear:both!important;border:0!important}
.spmg .spmg-thumb{position:relative!important;display:block!important;flex:0 0 80px!important;width:80px!important;height:80px!important;min-width:80px!important;min-height:80px!important;margin:0!important;padding:0!important;border:1px solid #ddd!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}
.spmg .spmg-thumb.is-active{border-color:#888!important}.spmg .spmg-thumb img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:contain!important}
@media(max-width:600px){.spmg .spmg-stage{aspect-ratio:1/1!important}.spmg .spmg-thumb{flex-basis:64px!important;width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important}}
/* Keep video thumbnails in place while the image thumbnails scroll. */
.spmg .spmg-thumbs{overflow:hidden!important;align-items:flex-start!important}
.spmg .spmg-video-thumbs{display:flex!important;flex:0 0 auto!important;gap:7px!important;max-width:45%!important;overflow-x:auto!important;overflow-y:hidden!important}
.spmg .spmg-image-thumbs{display:flex!important;flex:1 1 auto!important;min-width:0!important;gap:7px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin}
.spmg .spmg-stage{touch-action:pan-y!important}
@media(max-width:600px){.spmg .spmg-arrow{top:80%!important}.spmg .spmg-video-thumbs{max-width:42%!important}}
/* On mobile the Elementor product summary begins close to the gallery widget.
   Reserve room below the thumbnail rail before color choices are laid out. */
@media(max-width:767px){
  .elementor-widget-woocommerce-product-images .spmg.spmg{margin-bottom:150px!important}
}
/* Single-image mobile products need more room before Elementor's price and variation widgets. */
@media(max-width:767px){
  .elementor-widget-woocommerce-product-images .spmg.spmg.spmg-single{margin-bottom:300px!important}
}
.spmg .spmg-arrow[hidden]{display:none!important}
