/* MEGAMIST Central Media Lightbox — 2026-09-21 R2
   Shared premium popup surface for product galleries and real-application imagery. */
.pg-lightbox,
.pg-lightbox *{box-sizing:border-box}
.pg-lightbox{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:none;
  align-items:center;
  justify-content:center;
  width:100vw;
  height:100dvh;
  padding:clamp(8px,2vw,22px);
  font-family:inherit;
  isolation:isolate;
}
.pg-lightbox.pg-open{display:flex}
.pg-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,14,22,.88);
  -webkit-backdrop-filter:blur(14px) saturate(1.1);
  backdrop-filter:blur(14px) saturate(1.1);
}
.pg-lightbox__panel{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  width:min(1240px,100%);
  max-height:calc(100dvh - clamp(16px,4vw,44px));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:clamp(18px,2.4vw,30px);
  background:#fff;
  box-shadow:0 38px 130px rgba(0,0,0,.54);
}
.pg-lightbox__stage{
  position:relative;
  min-height:280px;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:clamp(20px,3.4vw,44px) clamp(52px,6vw,88px);
  background:
    radial-gradient(circle at 50% 45%,rgba(22,111,141,.22),transparent 48%),
    linear-gradient(145deg,#051b28 0%,#082f43 52%,#0a4e5b 100%);
}
.pg-lightbox__media{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  margin:0;
  min-width:0;
}
.pg-lightbox__image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:min(66dvh,780px);
  object-fit:contain;
  border-radius:clamp(10px,1.4vw,16px);
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  opacity:1;
  transform:scale(1);
  transition:opacity .18s ease,transform .18s ease;
  user-select:none;
  -webkit-user-drag:none;
}
.pg-lightbox__image.pg-loading{opacity:.18;transform:scale(.985)}
.pg-lightbox__close,
.pg-lightbox__arrow{
  position:absolute;
  z-index:10;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(5,29,42,.82);
  color:#fff;
  cursor:pointer;
  box-shadow:0 12px 34px rgba(0,0,0,.28);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease;
}
.pg-lightbox__close{
  top:clamp(10px,1.5vw,18px);
  right:clamp(10px,1.5vw,18px);
  width:48px;
  height:48px;
  font-size:31px;
  line-height:1;
}
.pg-lightbox__arrow{
  top:50%;
  width:54px;
  height:54px;
  margin-top:-27px;
  font-size:39px;
  line-height:1;
}
.pg-lightbox__arrow--prev{left:clamp(7px,1.4vw,18px)}
.pg-lightbox__arrow--next{right:clamp(7px,1.4vw,18px)}
.pg-lightbox__close:hover,
.pg-lightbox__arrow:hover{background:#0b7890;border-color:rgba(255,255,255,.42);transform:scale(1.045)}
.pg-lightbox__close:focus-visible,
.pg-lightbox__arrow:focus-visible,
.pg-lightbox__thumb:focus-visible{outline:3px solid #70d9f0;outline-offset:3px}
.pg-lightbox.pg-single .pg-lightbox__arrow{display:none}
.pg-lightbox__bottom{
  position:relative;
  z-index:5;
  min-width:0;
  padding:clamp(14px,2vw,22px) clamp(14px,2.2vw,26px) clamp(15px,2.2vw,24px);
  border-top:1px solid rgba(21,76,99,.12);
  background:linear-gradient(180deg,#fff 0%,#f7fbfc 100%);
}
.pg-lightbox__info{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(14px,2.5vw,32px);
  align-items:end;
  margin-bottom:14px;
}
.pg-lightbox__copy{min-width:0}
.pg-lightbox__kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:5px;
  color:#087d9f;
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.pg-lightbox__kicker::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#23a77c;
  box-shadow:0 0 0 5px rgba(35,167,124,.1);
}
.pg-lightbox__title{
  margin:0;
  color:#082f43;
  font-size:clamp(1.02rem,1.55vw,1.35rem);
  line-height:1.22;
  letter-spacing:-.015em;
  text-wrap:balance;
}
.pg-lightbox__caption{
  margin:6px 0 0;
  max-width:900px;
  color:#58717d;
  font-size:.9rem;
  line-height:1.5;
}
.pg-lightbox__count{
  align-self:start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:68px;
  min-height:36px;
  padding:7px 12px;
  border:1px solid rgba(8,83,107,.12);
  border-radius:999px;
  background:#edf7fa;
  color:#123a4e;
  font-size:.82rem;
  font-weight:900;
}
.pg-lightbox__thumbs{
  display:flex;
  align-items:center;
  gap:9px;
  width:100%;
  min-height:76px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:3px 3px 7px;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.pg-lightbox__thumb{
  flex:0 0 88px;
  width:88px;
  height:70px;
  display:block;
  padding:3px;
  overflow:hidden;
  border:1px solid rgba(26,69,91,.18);
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(15,55,75,.08);
  scroll-snap-align:center;
  -webkit-appearance:none;
  appearance:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.pg-lightbox__thumb img{
  display:block;
  width:100%;
  height:62px;
  margin:0;
  border:0;
  border-radius:9px;
  object-fit:cover;
  background:#eef3f5;
}
.pg-lightbox__thumb.pg-active{
  border-color:#0b7890;
  box-shadow:0 0 0 3px rgba(11,120,144,.18),0 9px 22px rgba(15,55,75,.13);
}
@media(hover:hover){.pg-lightbox__thumb:hover{transform:translateY(-2px)}}
html.pg-lock,
body.pg-lock{overflow:hidden!important;overscroll-behavior:none!important}

@media(max-width:760px){
  .pg-lightbox{padding:7px}
  .pg-lightbox__panel{max-height:calc(100dvh - 14px);border-radius:18px}
  .pg-lightbox__stage{min-height:220px;padding:52px 46px 12px}
  .pg-lightbox__image{max-height:52dvh;border-radius:9px}
  .pg-lightbox__close{top:8px;right:8px;width:42px;height:42px;font-size:28px}
  .pg-lightbox__arrow{width:42px;height:42px;margin-top:-21px;font-size:31px}
  .pg-lightbox__arrow--prev{left:5px}.pg-lightbox__arrow--next{right:5px}
  .pg-lightbox__bottom{padding:11px 10px 12px}
  .pg-lightbox__info{grid-template-columns:1fr;gap:8px;margin-bottom:9px}
  .pg-lightbox__title{font-size:1rem}
  .pg-lightbox__caption{font-size:.78rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .pg-lightbox__count{justify-self:start;min-height:29px;font-size:.74rem;padding:5px 9px}
  .pg-lightbox__thumbs{min-height:62px;gap:7px;padding-bottom:4px}
  .pg-lightbox__thumb{flex-basis:68px;width:68px;height:55px;padding:2px;border-radius:9px}
  .pg-lightbox__thumb img{height:49px;border-radius:7px}
}

@media(max-height:620px) and (orientation:landscape){
  .pg-lightbox{padding:6px}
  .pg-lightbox__panel{max-height:calc(100dvh - 12px);grid-template-rows:minmax(0,1fr) auto}
  .pg-lightbox__stage{min-height:150px;padding:8px 58px}
  .pg-lightbox__image{max-height:57dvh}
  .pg-lightbox__bottom{padding:7px 10px 8px}
  .pg-lightbox__info{margin-bottom:5px}
  .pg-lightbox__caption{white-space:nowrap;display:block;overflow:hidden;text-overflow:ellipsis}
  .pg-lightbox__thumbs{min-height:50px}
  .pg-lightbox__thumb{flex-basis:58px;width:58px;height:46px;padding:2px}
  .pg-lightbox__thumb img{height:40px}
}

@media(prefers-reduced-motion:reduce){
  .pg-lightbox *,
  .pg-lightbox *::before,
  .pg-lightbox *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
