/* Unified product gallery + close-up lightbox for approved NrG Light photography */
.nrg-product-gallery{min-width:0;width:100%}
.nrg-gallery-stage{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:560px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  background:#000;
}
.nrg-gallery-main-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-height:560px;
  padding:8px 52px;
  border:0;
  background:#000;
  cursor:zoom-in;
}
.nrg-gallery-main{
  display:block;
  width:100%;
  height:540px;
  max-width:100%;
  object-fit:contain;
  object-position:center;
  background:#000;
}
.nrg-gallery-stage-nav{
  position:absolute;
  top:50%;
  z-index:3;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(8,8,10,.82);
  color:#fff;
  font:500 2rem/1 Oxanium,Inter,sans-serif;
  transform:translateY(-50%);
  cursor:pointer;
}
.nrg-gallery-stage-prev{left:14px}
.nrg-gallery-stage-next{right:14px}
.nrg-gallery-stage-nav[hidden]{display:none!important}
.nrg-gallery-zoom-button{
  position:absolute;
  top:16px;
  right:16px;
  z-index:4;
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(8,8,10,.82);
  backdrop-filter:blur(12px);
  color:#fff;
  font:600 .72rem/1 Oxanium,Inter,sans-serif;
  letter-spacing:.04em;
  cursor:pointer;
}
.nrg-gallery-count{
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:4;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(8,8,10,.76);
  color:#c9c9cf;
  font:600 .68rem/1 Oxanium,Inter,sans-serif;
}
.nrg-gallery-thumbs-shell{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  margin-top:12px;
}
.nrg-gallery-thumbs-shell.no-thumb-overflow{grid-template-columns:0 minmax(0,1fr) 0}
.nrg-gallery-rail-nav{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:#08080a;
  color:#fff;
  font:500 1.5rem/1 Oxanium,Inter,sans-serif;
  cursor:pointer;
  transition:opacity .16s ease, border-color .16s ease, color .16s ease, background .16s ease;
}
.nrg-gallery-thumbs-shell.no-thumb-overflow .nrg-gallery-rail-nav{
  width:0;
  height:0;
  padding:0;
  border:0;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}
.nrg-gallery-rail-nav:disabled,
.nrg-gallery-stage-nav:disabled{opacity:.35;cursor:default}
.nrg-gallery-thumbs{
  display:flex;
  gap:10px;
  margin-top:0;
  padding:2px 2px 7px;
  overflow-x:auto;
  scrollbar-width:thin;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
.nrg-gallery-thumb{
  flex:0 0 104px;
  display:grid;
  grid-template-rows:78px auto;
  gap:7px;
  padding:7px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:13px;
  background:#08080a;
  color:#aaaab2;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,color .16s ease;
  scroll-snap-align:start;
}
.nrg-gallery-thumb img{width:100%;height:78px;object-fit:contain;background:#000;border-radius:8px}
.nrg-gallery-thumb span{font:600 .65rem/1.15 Oxanium,Inter,sans-serif;text-align:center}
.nrg-gallery-thumb:hover,.nrg-gallery-rail-nav:hover,.nrg-gallery-stage-nav:hover{border-color:rgba(255,255,255,.26);color:#fff}
.nrg-gallery-thumb.is-active{border-color:rgba(239,32,45,.65);background:rgba(239,32,45,.06);color:#fff;box-shadow:0 0 0 1px rgba(239,32,45,.08) inset}
.nrg-gallery-thumb:focus-visible,.nrg-gallery-main-button:focus-visible,.nrg-gallery-zoom-button:focus-visible,.nrg-gallery-rail-nav:focus-visible,.nrg-gallery-stage-nav:focus-visible,.nrg-lightbox button:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* PRIZM's horizontal system benefits from a wider hero stage. */
.page-prizm .nrg-gallery-main{height:520px;object-fit:contain}

.nrg-lightbox[hidden]{display:none!important}
.nrg-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(0,0,0,.94);
}
.nrg-lightbox-panel{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 54px;
  grid-template-rows:minmax(0,1fr) auto;
  gap:12px;
  width:min(96vw,1500px);
  max-height:94vh;
}
.nrg-lightbox-figure{
  grid-column:2;
  grid-row:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:0;
  margin:0;
  padding:10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:#000;
}
.nrg-lightbox-image{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain}
.nrg-lightbox-caption{grid-column:2;grid-row:2;color:#d4d4da;font:500 .8rem/1.4 Oxanium,Inter,sans-serif;text-align:center}
.nrg-lightbox-close,.nrg-lightbox-prev,.nrg-lightbox-next{
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(18,18,20,.86);
  color:#fff;
  cursor:pointer;
}
.nrg-lightbox-close{position:absolute;right:0;top:-4px;z-index:3;width:46px;height:46px;font-size:1.5rem}
.nrg-lightbox-prev{grid-column:1;grid-row:1;align-self:center;width:48px;height:48px;font-size:1.5rem}
.nrg-lightbox-next{grid-column:3;grid-row:1;align-self:center;width:48px;height:48px;font-size:1.5rem}
.nrg-lightbox-single .nrg-lightbox-prev,.nrg-lightbox-single .nrg-lightbox-next{visibility:hidden}
body.nrg-lightbox-open{overflow:hidden}

html[data-theme="light"] .nrg-gallery-stage,
html[data-theme="light"] .nrg-gallery-main-button,
html[data-theme="light"] .nrg-gallery-main,
html[data-theme="light"] .nrg-gallery-thumb img,
html[data-theme="light"] .nrg-lightbox-figure{background:#fff}
html[data-theme="light"] .nrg-gallery-thumbs-shell .nrg-gallery-rail-nav,
html[data-theme="light"] .nrg-gallery-stage-nav,
html[data-theme="light"] .nrg-gallery-zoom-button,
html[data-theme="light"] .nrg-gallery-count{border-color:#d4cec6}
html[data-theme="light"] .nrg-gallery-thumb{border-color:#d2cbc3;background:#fff;color:#5e5954}
html[data-theme="light"] .nrg-gallery-thumb.is-active{border-color:rgba(239,32,45,.6);background:#fff5f5;color:#181716}
html[data-theme="light"] .nrg-gallery-rail-nav,
html[data-theme="light"] .nrg-gallery-stage-nav{background:#fff;color:#181716}
html[data-theme="light"] .nrg-gallery-zoom-button,
html[data-theme="light"] .nrg-gallery-count{background:rgba(255,255,255,.92);color:#5e5954}
html[data-theme="light"] .nrg-lightbox-figure{border-color:#d4cec6}

@media(max-width:1000px){
  .nrg-gallery-stage,.nrg-gallery-main-button{min-height:500px}
  .nrg-gallery-main{height:480px}
}
@media(max-width:650px){
  .nrg-gallery-stage{min-height:390px;border-radius:18px}
  .nrg-gallery-main-button{min-height:390px;padding:5px 44px}
  .nrg-gallery-main{height:375px}
  .page-prizm .nrg-gallery-main{height:360px}
  .nrg-gallery-stage-nav{width:40px;height:40px;font-size:1.7rem}
  .nrg-gallery-stage-prev{left:8px}
  .nrg-gallery-stage-next{right:8px}
  .nrg-gallery-zoom-button{top:11px;right:11px;min-height:40px;padding:0 12px}
  .nrg-gallery-count{left:11px;bottom:11px}
  .nrg-gallery-thumb{flex-basis:92px;grid-template-rows:68px auto}
  .nrg-gallery-thumb img{height:68px}
  .nrg-gallery-rail-nav{width:34px;height:34px;font-size:1.35rem}
  .nrg-lightbox{padding:10px}
  .nrg-lightbox-panel{grid-template-columns:42px minmax(0,1fr) 42px;gap:7px;width:100%}
  .nrg-lightbox-prev,.nrg-lightbox-next{width:40px;height:40px}
  .nrg-lightbox-close{width:42px;height:42px;right:0;top:0}
  .nrg-lightbox-image{max-height:78vh}
}

/* Give the taller panel galleries extra breathing room without shrinking the product. */
@media(min-width:1001px){
  .page-aurora .nrg-gallery-stage,.page-aurora .nrg-gallery-main-button,
  .page-phoenix .nrg-gallery-stage,.page-phoenix .nrg-gallery-main-button{min-height:640px}
  .page-aurora .nrg-gallery-main,.page-phoenix .nrg-gallery-main{height:620px}
}


/* v214: let active size-comparison graphics use more of the gallery frame. */
.nrg-gallery-main-button.is-size-comparison-active{
  padding:0 22px;
}
.nrg-gallery-main.is-size-comparison-active{
  height:590px;
  transform:scale(1.12);
  transform-origin:center center;
}
.page-prizm .nrg-gallery-main.is-size-comparison-active{
  height:560px;
  transform:scale(1.10);
}
@media(min-width:1001px){
  .page-aurora .nrg-gallery-main.is-size-comparison-active,
  .page-phoenix .nrg-gallery-main.is-size-comparison-active{
    height:665px;
    transform:scale(1.10);
  }
}
@media(max-width:1000px){
  .nrg-gallery-main-button.is-size-comparison-active{padding:0 16px}
  .nrg-gallery-main.is-size-comparison-active{height:520px;transform:scale(1.08)}
}
@media(max-width:650px){
  .nrg-gallery-main-button.is-size-comparison-active{padding:0 12px}
  .nrg-gallery-main.is-size-comparison-active{height:405px;transform:scale(1.06)}
  .page-prizm .nrg-gallery-main.is-size-comparison-active{height:390px;transform:scale(1.05)}
}


/* v215: keep navigation clear of figure-height callouts on size comparison graphics. */
.nrg-gallery-stage.is-size-comparison-active .nrg-gallery-stage-nav{
  top:74px;
  transform:none;
}
@media(max-width:650px){
  .nrg-gallery-stage.is-size-comparison-active .nrg-gallery-stage-nav{top:64px}
}


/* v216: enlarged product images are easier to dismiss. */
.nrg-lightbox{cursor:zoom-out}
.nrg-lightbox-panel{cursor:zoom-out}
.nrg-lightbox-figure{cursor:zoom-out}
.nrg-lightbox-image{cursor:default}
.nrg-lightbox-close{
  width:52px;
  height:52px;
  font-size:1.8rem;
  box-shadow:0 8px 30px rgba(0,0,0,.38);
}
@media(max-width:650px){
  .nrg-lightbox-close{width:48px;height:48px;font-size:1.65rem}
}
