.rex-gallery-lightbox[hidden]{display:none!important}
.rex-gallery-lightbox{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:22px;color:var(--rex-color-text,#EDEDD6)}
.rex-gallery-lightbox__backdrop{position:absolute;inset:0;border:0;background:#02070A;opacity:.985;cursor:zoom-out}
.rex-gallery-lightbox__dialog{position:relative;z-index:1;width:min(96vw,1540px);height:min(94vh,1040px);display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:14px}
.rex-gallery-lightbox__stage{min-width:0;min-height:0;height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);grid-template-rows:minmax(0,1fr) 88px;gap:16px 22px;align-items:center}
.rex-gallery-lightbox__figure{min-width:0;min-height:0;height:100%;margin:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom}
.rex-gallery-lightbox__figure img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;aspect-ratio:1/1;object-fit:contain;border-radius:var(--rex-radius-md,16px);border:1px solid rgba(210,178,120,.16);background:#02070A}
.rex-gallery-lightbox__meta{align-self:center;min-width:0;padding:10px 0;text-align:right}
.rex-gallery-lightbox__counter{display:block;margin-bottom:18px;color:var(--rex-color-gold-light,#D2B278);font-size:.78rem;letter-spacing:.16em;font-variant-numeric:tabular-nums;direction:ltr;text-align:right}
.rex-gallery-lightbox__meta h3{margin:0;color:var(--rex-color-text,#EDEDD6);font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.35}
.rex-gallery-lightbox__category{margin:8px 0 0;color:var(--rex-color-gold-light,#D2B278);font-size:.9rem}
.rex-gallery-lightbox__caption{margin:16px 0 0;color:var(--rex-color-muted,#A9B4B6);font-size:.92rem;line-height:1.9}
.rex-gallery-lightbox__meta dl{display:grid;gap:8px;margin:20px 0 0;padding-top:16px;border-top:1px solid rgba(210,178,120,.12)}
.rex-gallery-lightbox__meta dl>div{display:flex;align-items:center;justify-content:space-between;gap:14px}
.rex-gallery-lightbox__meta dt{color:rgba(169,180,182,.65);font-size:.78rem;letter-spacing:.08em}
.rex-gallery-lightbox__meta dd{margin:0;color:var(--rex-color-text,#EDEDD6);font-size:.86rem}
.rex-gallery-lightbox__thumbs{grid-column:1/-1;display:flex;gap:8px;min-width:0;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none;scroll-snap-type:x proximity}
.rex-gallery-lightbox__thumbs::-webkit-scrollbar{display:none}
.rex-gallery-lightbox__thumb{flex:0 0 70px;width:70px;height:70px;padding:0;border:1px solid rgba(210,178,120,.14);border-radius:10px;background:#051117;overflow:hidden;cursor:pointer;opacity:.62;scroll-snap-align:center;transition:opacity .2s ease,border-color .2s ease,transform .2s ease}
.rex-gallery-lightbox__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.rex-gallery-lightbox__thumb.is-active{opacity:1;border-color:rgba(210,178,120,.72);transform:translateY(-1px)}
.rex-gallery-lightbox__arrow,.rex-gallery-lightbox__close{display:grid;place-items:center;border:1px solid rgba(210,178,120,.32);background:rgba(4,20,26,.92);color:var(--rex-color-gold-light,#D2B278);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.rex-gallery-lightbox__arrow{width:52px;height:52px;border-radius:50%}
.rex-gallery-lightbox__arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rex-gallery-lightbox__close{position:absolute;top:0;left:72px;width:44px;height:44px;border-radius:50%;z-index:3;font-size:27px;line-height:1}
.rex-gallery-lightbox__arrow:hover,.rex-gallery-lightbox__arrow:focus-visible,.rex-gallery-lightbox__close:hover,.rex-gallery-lightbox__close:focus-visible{background:var(--rex-color-gold-light,#D2B278);color:var(--rex-color-void,#02070B);border-color:var(--rex-color-gold-light,#D2B278)}
html.rex-gallery-lightbox-open{overflow:hidden}
@media(max-width:900px){
 .rex-gallery-lightbox{padding:12px}
 .rex-gallery-lightbox__dialog{width:100%;height:94vh;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}
 .rex-gallery-lightbox__stage{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:12px}
 .rex-gallery-lightbox__figure{grid-column:1;grid-row:1}
 .rex-gallery-lightbox__figure img{max-height:70vh;max-width:100%}
 .rex-gallery-lightbox__meta{grid-column:1;grid-row:2;padding:0 4px 4px;text-align:center}
 .rex-gallery-lightbox__counter{text-align:center;margin-bottom:8px}
 .rex-gallery-lightbox__meta h3{font-size:1.25rem}
 .rex-gallery-lightbox__category{margin-top:4px}
 .rex-gallery-lightbox__caption{margin-top:8px;font-size:.84rem;line-height:1.75}
 .rex-gallery-lightbox__meta dl{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px;padding-top:10px}
 .rex-gallery-lightbox__meta dl>div{justify-content:center;gap:8px}
 .rex-gallery-lightbox__thumbs{display:none!important}
 .rex-gallery-lightbox__arrow{width:42px;height:42px}
 .rex-gallery-lightbox__close{top:-2px;left:48px;width:42px;height:42px}
}
@media(max-width:560px){
 .rex-gallery-lightbox__dialog{grid-template-columns:40px minmax(0,1fr) 40px}
 .rex-gallery-lightbox__arrow{width:38px;height:38px}
 .rex-gallery-lightbox__close{left:42px}
 .rex-gallery-lightbox__figure img{max-height:66vh;border-radius:12px}
}
@media(prefers-reduced-motion:reduce){.rex-gallery-lightbox__thumb,.rex-gallery-lightbox__arrow,.rex-gallery-lightbox__close{transition:none!important}}


/* REX 3.9.2.54 — mobile lightbox close button stays inside viewport */
@media(max-width:900px){
  .rex-gallery-lightbox__close{
    position:fixed!important;
    top:max(12px, calc(env(safe-area-inset-top, 0px) + 8px))!important;
    left:max(12px, calc(env(safe-area-inset-left, 0px) + 8px))!important;
    right:auto!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    margin:0!important;
    z-index:1000002!important;
    transform:none!important;
  }
}
@media(max-width:560px){
  .rex-gallery-lightbox__close{
    top:max(10px, calc(env(safe-area-inset-top, 0px) + 7px))!important;
    left:max(10px, calc(env(safe-area-inset-left, 0px) + 7px))!important;
  }
}


/* REX 3.9.2.56 — hard reset lightbox state after close */
.rex-gallery-lightbox{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.rex-gallery-lightbox.is-open:not([hidden]){
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.rex-gallery-lightbox[hidden],
.rex-gallery-lightbox[aria-hidden="true"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html.rex-gallery-lightbox-open,
body.rex-gallery-lightbox-open{
  overflow:hidden!important;
}
.rex-gallery-page .rex-archive-grid{
  visibility:visible;
}

/* REX 3.9.2.59 — detached lightbox portal; closing can never collapse gallery */
body > .rex-gallery-lightbox{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  margin:0!important;
}
.rex-archive-grid,
.rex-collection-strip__track{
  contain:none!important;
}
