/* RC6.11 — Viewer immersivo condiviso */
.ab-lightbox{
  position:fixed;
  inset:0;
  z-index:14000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:68px 72px 56px;
  background:rgba(3,3,3,.97);
  opacity:0;
  transition:opacity .22s ease;
  overscroll-behavior:contain;
  touch-action:none;
}
.ab-lightbox.is-open{display:flex}
.ab-lightbox.is-visible{opacity:1}

.ab-lightbox__stage{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  overflow:hidden;
  cursor:zoom-in;
  touch-action:none;
}
.ab-lightbox.is-zoomed .ab-lightbox__stage{
  cursor:grab;
}
.ab-lightbox.is-dragging .ab-lightbox__stage{
  cursor:grabbing;
}

.ab-lightbox__image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  box-shadow:0 28px 90px rgba(0,0,0,.52);
  user-select:none;
  -webkit-user-drag:none;
  transform-origin:center center;
  will-change:transform;
  transition:transform .18s ease;
}
.ab-lightbox.is-dragging .ab-lightbox__image{
  transition:none;
}

.ab-lightbox__close,
.ab-lightbox__prev,
.ab-lightbox__next,
.ab-lightbox__zoom{
  position:fixed;
  z-index:14020;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  border:1px solid rgba(255,255,255,.48);
  background:rgba(8,8,8,.68);
  color:#fff;
  font:inherit;
  cursor:pointer;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  transition:background-color .18s ease,border-color .18s ease,opacity .18s ease;
  touch-action:manipulation;
}
.ab-lightbox__close:hover,
.ab-lightbox__prev:hover,
.ab-lightbox__next:hover,
.ab-lightbox__zoom:hover{
  background:rgba(35,35,35,.88);
  border-color:rgba(255,255,255,.84);
}

.ab-lightbox__close{
  top:max(16px,env(safe-area-inset-top));
  right:max(18px,env(safe-area-inset-right));
  width:52px;
  height:52px;
  font-size:32px;
  line-height:1;
}
.ab-lightbox__zoom{
  top:max(16px,env(safe-area-inset-top));
  right:max(82px,calc(env(safe-area-inset-right) + 64px));
  width:52px;
  height:52px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:24px;
  line-height:1;
}
.ab-lightbox__prev,
.ab-lightbox__next{
  top:50%;
  width:50px;
  height:68px;
  transform:translateY(-50%);
  font-size:34px;
  line-height:1;
}
.ab-lightbox__prev{left:max(18px,env(safe-area-inset-left))}
.ab-lightbox__next{right:max(18px,env(safe-area-inset-right))}

.ab-lightbox__caption{
  position:fixed;
  left:28px;
  right:150px;
  bottom:max(20px,env(safe-area-inset-bottom));
  color:rgba(255,255,255,.86);
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  pointer-events:none;
}
.ab-lightbox__counter{
  position:fixed;
  right:30px;
  bottom:max(20px,env(safe-area-inset-bottom));
  color:rgba(255,255,255,.62);
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:.13em;
}
.ab-lightbox__hint{
  position:fixed;
  left:50%;
  bottom:max(18px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  color:rgba(255,255,255,.42);
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  pointer-events:none;
  opacity:1;
  transition:opacity .3s ease;
}
.ab-lightbox.is-zoomed .ab-lightbox__hint{opacity:0}

html.ab-lightbox-open,
body.ab-lightbox-open{
  overflow:hidden!important;
}
a.ab-lightbox-link{cursor:zoom-in}

@media(max-width:767px){
  .ab-lightbox{
    padding:
      max(62px,calc(env(safe-area-inset-top) + 54px))
      0
      max(54px,calc(env(safe-area-inset-bottom) + 42px));
  }
  .ab-lightbox__image{
    max-width:100vw;
    max-height:calc(100dvh - 116px);
    box-shadow:none;
  }
  .ab-lightbox__close{
    top:max(9px,env(safe-area-inset-top));
    right:max(9px,env(safe-area-inset-right));
    width:46px;
    height:46px;
    font-size:28px;
  }
  .ab-lightbox__zoom{
    top:max(9px,env(safe-area-inset-top));
    right:max(65px,calc(env(safe-area-inset-right) + 56px));
    width:46px;
    height:46px;
    font-size:22px;
  }
  .ab-lightbox__prev,
  .ab-lightbox__next{
    width:34px;
    height:46px;
    font-size:23px;
    border-color:rgba(255,255,255,.32);
    background:rgba(8,8,8,.42);
  }
  .ab-lightbox__prev{left:max(6px,env(safe-area-inset-left))}
  .ab-lightbox__next{right:max(6px,env(safe-area-inset-right))}
  .ab-lightbox__caption{
    left:14px;
    right:62px;
    bottom:max(13px,env(safe-area-inset-bottom));
    font-size:9px;
    letter-spacing:.12em;
  }
  .ab-lightbox__counter{
    right:14px;
    bottom:max(13px,env(safe-area-inset-bottom));
    font-size:9px;
  }
  .ab-lightbox__hint{
    display:none;
  }
}

.ab-lightbox__prev:disabled,
.ab-lightbox__next:disabled{
  opacity:.22!important;
  cursor:default!important;
  pointer-events:auto!important;
  border-color:rgba(255,255,255,.20)!important;
}
