/* NØSEN Standalone Product Gallery v0.8.3.1 */
.npg8-wrap{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  clear:none;
  margin:0 0 18px;
}
.npg8-mode-add{
  margin-top:14px;
}
.npg8-main{
  width:100%;
  box-sizing:border-box;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
  margin:0 0 12px;
}
.npg8-main-link{
  display:block;
  text-decoration:none!important;
  color:inherit;
}
.npg8-main-img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:var(--npg8-fit,contain);
  background:#fff;
}
.npg8-thumbs{
  position:relative;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.npg8-track{
  --npg8-cards:var(--npg8-cards-desktop,5.5);
  display:flex;
  gap:var(--npg8-gap,12px);
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:2px 0;
  margin:0;
}
.npg8-hide-scrollbar .npg8-track{
  scrollbar-width:none;
}
.npg8-hide-scrollbar .npg8-track::-webkit-scrollbar{
  display:none;
}
.npg8-thumb{
  flex:0 0 calc((100% - (var(--npg8-gap,12px) * (var(--npg8-cards) - 1))) / var(--npg8-cards));
  aspect-ratio:1/1;
  min-width:0;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  padding:4px;
  box-sizing:border-box;
  cursor:pointer;
  scroll-snap-align:start;
  transition:border-color .18s ease, box-shadow .18s ease, opacity .18s ease, transform .18s ease;
}
.npg8-thumb:hover{
  border-color:rgba(0,0,0,.34);
}
.npg8-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:var(--npg8-fit,contain);
  pointer-events:none;
}
.npg8-has-marker.npg8-marker-green .npg8-thumb.is-active{
  border-color:#4dac50;
  box-shadow:0 0 0 1px #4dac50 inset;
}
.npg8-has-marker.npg8-marker-dark .npg8-thumb.is-active{
  border-color:#222;
  box-shadow:0 0 0 1px #222 inset;
}
.npg8-has-marker.npg8-marker-shadow .npg8-thumb.is-active{
  border-color:rgba(0,0,0,.22);
  box-shadow:0 6px 18px rgba(0,0,0,.14);
}
.npg8-arrow{
  position:absolute;
  top:50%;
  z-index:4;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  padding:0!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:999px;
  background:rgba(255,255,255,.92)!important;
  color:#222!important;
  line-height:1!important;
  font-size:24px!important;
  font-weight:400!important;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
  cursor:pointer;
}
.npg8-arrow:hover,
.npg8-arrow:focus{
  background:#fff!important;
  color:#4dac50!important;
  border-color:rgba(77,172,80,.35)!important;
}
.npg8-arrow:disabled{
  opacity:.35;
  cursor:default;
}
.npg8-arrow-prev{left:6px;}
.npg8-arrow-next{right:6px;}
.npg8-single-item .npg8-arrow{display:none!important;}
body.npg8-active.npg8-mode-replace .woocommerce-product-gallery{
  display:none!important;
}
body.npg8-active.npg8-mode-replace .npg8-wrap{
  float:left;
  width:48%;
  margin-right:4%;
}
@media (max-width: 768px){
  .npg8-track{--npg8-cards:var(--npg8-cards-mobile,1.5);}
  .npg8-arrow{width:28px;height:28px;min-width:28px;min-height:28px;font-size:20px!important;}
  body.npg8-active.npg8-mode-replace .npg8-wrap{
    float:none;
    width:100%;
    margin-right:0;
  }
}
@media (min-width:769px) and (max-width:1024px){
  .npg8-track{--npg8-cards:var(--npg8-cards-tablet,3.5);}
}

/* NØSEN Standalone Gallery Lightbox v0.8.3.1 */
html.npg8-lightbox-lock,
body.npg8-lightbox-lock{
  overflow:hidden!important;
}
.npg8-lightbox{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:34px;
}
.npg8-lightbox.is-open{
  display:flex;
}
.npg8-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.86);
}
.npg8-lightbox-inner{
  position:relative;
  z-index:2;
  width:min(1180px,96vw);
  height:min(860px,88vh);
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}
.npg8-lightbox-img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  background:transparent;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
}
.npg8-lightbox-close,
.npg8-lightbox-arrow{
  position:absolute;
  z-index:3;
  border:1px solid rgba(255,255,255,.22)!important;
  background:rgba(20,20,20,.68)!important;
  color:#fff!important;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  line-height:1!important;
  padding:0!important;
}
.npg8-lightbox-close{
  top:0;
  right:0;
  width:42px;
  height:42px;
  min-width:42px;
  min-height:42px;
  font-size:30px!important;
  font-weight:300!important;
}
.npg8-lightbox-arrow{
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  min-width:46px;
  min-height:46px;
  font-size:34px!important;
  font-weight:300!important;
}
.npg8-lightbox-prev{left:0;}
.npg8-lightbox-next{right:0;}
.npg8-lightbox-close:hover,
.npg8-lightbox-close:focus,
.npg8-lightbox-arrow:hover,
.npg8-lightbox-arrow:focus{
  background:rgba(77,172,80,.86)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.36)!important;
}
.npg8-lightbox-arrow:disabled{
  opacity:.25;
  cursor:default;
  pointer-events:none;
}
.npg8-lightbox-count{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  z-index:3;
  color:#fff;
  background:rgba(20,20,20,.62);
  border:1px solid rgba(255,255,255,.16);
  padding:6px 12px;
  font-size:13px;
  line-height:1.2;
  letter-spacing:.02em;
}
@media (max-width:768px){
  .npg8-lightbox{padding:18px;}
  .npg8-lightbox-inner{width:100%;height:86vh;}
  .npg8-lightbox-close{top:-4px;right:-4px;width:38px;height:38px;min-width:38px;min-height:38px;font-size:28px!important;}
  .npg8-lightbox-arrow{width:38px;height:38px;min-width:38px;min-height:38px;font-size:28px!important;}
  .npg8-lightbox-prev{left:-4px;}
  .npg8-lightbox-next{right:-4px;}
  .npg8-lightbox-count{bottom:-2px;font-size:12px;}
}


/* NØSEN Standalone Gallery Visual Motion Polish v0.8.3.1 */
.npg8-wrap{
  --npg8-transition-speed:220ms;
  overflow-x:clip;
}
.npg8-main{
  overflow:hidden;
  isolation:isolate;
  background:#fff;
}
.npg8-main-img,
.npg8-lightbox-img{
  transition:opacity var(--npg8-transition-speed,220ms) ease,transform var(--npg8-transition-speed,220ms) ease;
  will-change:opacity,transform;
}
.npg8-transition-none .npg8-main-img,
.npg8-transition-none .npg8-lightbox-img,
.npg8-reduced-motion .npg8-main-img,
.npg8-reduced-motion .npg8-lightbox-img{
  transition:none!important;
  will-change:auto;
}
.npg8-img-changing{
  opacity:.18;
}
.npg8-transition-slide.npg8-dir-next .npg8-main-img.npg8-img-changing,
.npg8-lightbox.npg8-dir-next .npg8-lightbox-img.npg8-img-changing{
  transform:translateX(-10px) scale(.992);
}
.npg8-transition-slide.npg8-dir-prev .npg8-main-img.npg8-img-changing,
.npg8-lightbox.npg8-dir-prev .npg8-lightbox-img.npg8-img-changing{
  transform:translateX(10px) scale(.992);
}
.npg8-transition-fade .npg8-main-img.npg8-img-changing,
.npg8-lightbox .npg8-lightbox-img.npg8-img-changing{
  transform:scale(.995);
}
.npg8-thumbs{
  margin-top:10px;
  gap:8px;
}
.npg8-track{
  gap:var(--npg8-gap,10px);
  scroll-behavior:smooth;
}
.npg8-thumb{
  border:1px solid rgba(17,24,39,.10);
  border-radius:4px;
  background:#fff;
  box-shadow:0 1px 3px rgba(17,24,39,.04);
  transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease,opacity 160ms ease;
}
.npg8-thumb:hover{
  border-color:rgba(77,172,80,.45);
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(17,24,39,.08);
}
.npg8-thumb:focus-visible,
.npg8-arrow:focus-visible,
.npg8-lightbox-close:focus-visible,
.npg8-lightbox-arrow:focus-visible{
  outline:2px solid #4dac50;
  outline-offset:3px;
}
.npg8-has-marker.npg8-marker-green .npg8-thumb.is-active{
  border-color:#4dac50;
  box-shadow:0 0 0 2px rgba(77,172,80,.18),0 7px 18px rgba(17,24,39,.08);
}
.npg8-has-marker.npg8-marker-dark .npg8-thumb.is-active{
  border-color:#111827;
  box-shadow:0 0 0 2px rgba(17,24,39,.12),0 7px 18px rgba(17,24,39,.08);
}
.npg8-has-marker.npg8-marker-shadow .npg8-thumb.is-active{
  box-shadow:0 0 0 2px rgba(77,172,80,.16),0 8px 22px rgba(17,24,39,.12);
}
.npg8-arrow{
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  border-radius:4px;
  border:1px solid rgba(17,24,39,.10);
  background:rgba(255,255,255,.92);
  color:#1f2937;
  box-shadow:0 4px 14px rgba(17,24,39,.10);
  backdrop-filter:blur(8px);
  transition:background 150ms ease,border-color 150ms ease,box-shadow 150ms ease,transform 150ms ease,opacity 150ms ease;
}
.npg8-arrow:hover,
.npg8-arrow:focus{
  background:#fff;
  border-color:rgba(77,172,80,.42);
  color:#111827;
  box-shadow:0 8px 20px rgba(17,24,39,.14);
  transform:translateY(-50%) scale(1.03);
}
.npg8-arrow:disabled{
  opacity:.32;
  box-shadow:none;
}
.npg8-lightbox{
  opacity:0;
  transform:scale(.985);
  transition:opacity 180ms ease,transform 180ms ease,visibility 180ms ease;
}
.npg8-lightbox.is-open{
  opacity:1;
  transform:scale(1);
}
.npg8-lightbox-inner{
  border-radius:4px;
  box-shadow:0 24px 70px rgba(0,0,0,.32);
}
.npg8-lightbox-img{
  border-radius:3px;
}
.npg8-lightbox-close,
.npg8-lightbox-arrow{
  border-radius:4px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(17,24,39,.64);
  color:#fff;
  backdrop-filter:blur(10px);
  box-shadow:0 8px 20px rgba(0,0,0,.20);
  transition:background 150ms ease,border-color 150ms ease,box-shadow 150ms ease,transform 150ms ease,opacity 150ms ease;
}
.npg8-lightbox-close:hover,
.npg8-lightbox-close:focus,
.npg8-lightbox-arrow:hover,
.npg8-lightbox-arrow:focus{
  background:rgba(17,24,39,.86);
  border-color:rgba(77,172,80,.58);
  transform:scale(1.035);
}
.npg8-lightbox-arrow:disabled{
  opacity:.26;
  transform:none;
}
.npg8-lightbox-count{
  border-radius:4px;
  background:rgba(17,24,39,.58);
  padding:5px 9px;
}
@media (max-width:640px){
  .npg8-wrap{overflow-x:hidden;}
  .npg8-thumbs{margin-top:8px;gap:6px;}
  .npg8-track{--npg8-gap:8px;padding:2px 1px 8px;}
  .npg8-thumb{border-radius:3px;}
  .npg8-arrow{width:30px;height:30px;min-width:30px;min-height:30px;font-size:20px!important;}
  .npg8-arrow-prev{left:2px;}
  .npg8-arrow-next{right:2px;}
  .npg8-lightbox{padding:10px;}
  .npg8-lightbox-inner{height:88vh;border-radius:3px;}
  .npg8-lightbox-close{top:8px;right:8px;width:42px;height:42px;min-width:42px;min-height:42px;font-size:30px!important;}
  .npg8-lightbox-arrow{width:42px;height:42px;min-width:42px;min-height:42px;font-size:30px!important;}
  .npg8-lightbox-prev{left:8px;}
  .npg8-lightbox-next{right:8px;}
  .npg8-lightbox-count{bottom:8px;font-size:12px;padding:4px 8px;}
}
@media (prefers-reduced-motion:reduce){
  .npg8-wrap *,
  .npg8-lightbox,
  .npg8-lightbox *{
    transition:none!important;
    animation:none!important;
    scroll-behavior:auto!important;
  }
}
.npg8-lightbox{
  display:flex!important;
  visibility:hidden;
  pointer-events:none;
}
.npg8-lightbox.is-open{
  visibility:visible;
  pointer-events:auto;
}
.npg8-lightbox-arrow:hover,
.npg8-lightbox-arrow:focus{
  transform:translateY(-50%) scale(1.035);
}
.npg8-lightbox-close:hover,
.npg8-lightbox-close:focus{
  transform:scale(1.035);
}


/* NØSEN Standalone Gallery Neutral Hover Polish v0.8.3.1 */
.npg8-arrow:hover,
.npg8-arrow:focus{
  background:#f8fafc!important;
  color:#111827!important;
  border-color:rgba(107,114,128,.38)!important;
  box-shadow:0 8px 20px rgba(17,24,39,.14);
}
.npg8-lightbox-close:hover,
.npg8-lightbox-close:focus,
.npg8-lightbox-arrow:hover,
.npg8-lightbox-arrow:focus{
  background:rgba(55,65,81,.92)!important;
  color:#fff!important;
  border-color:rgba(203,213,225,.52)!important;
}
.npg8-arrow:focus-visible,
.npg8-lightbox-close:focus-visible,
.npg8-lightbox-arrow:focus-visible{
  outline-color:#6b7280;
}
