/* Lightbox em tela cheia, com os controles legíveis sobre a imagem. */
.lbox__fig,
.lbox--strip .lbox__fig {
  inset: 0 !important;
}

@media (hover: none), (pointer: coarse) {
  .lbox.is-idle { cursor: auto; }
  .lbox.is-idle .lbox__bar,
  .lbox.is-idle .lbox__strip,
  .lbox.is-idle .lbox__x {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}

.lbox__fig img {
  width: 100%;
  height: 100%;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* Todas as fotos aparecem inteiras, sem nenhum corte. */
.lbox__wrap.is-portrait img {
  object-fit: contain !important;
}

.lbox__wrap.is-landscape img {
  object-fit: contain !important;
}

.lbox__wrap {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
}

.lbox__bar {
  z-index: 8;
  height: 82px !important;
  padding: 0 24px;
  display: grid !important;
  grid-template-columns: 56px 88px 44px minmax(0, 1fr) auto 56px;
  gap: 16px !important;
  background: rgba(0, 0, 0, 0.68);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: rgba(255,255,255,0.92) !important;
}

#lbox-prev,
#lbox-next,
.lbox__ensaio {
  position: static !important;
}

#lbox-prev { grid-column: 1; }
#lbox-count { grid-column: 2; text-align: center; white-space: nowrap; color: #fff; }
.lbox__play {
  grid-column: 3;
  width: 40px; height: 40px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid rgba(255,255,255,.42); background: rgba(0,0,0,.45);
  color: #fff; cursor: pointer;
}
.lbox__pause-icon { display: none; }
.lbox__play.is-playing .lbox__play-icon { display: none; }
.lbox__play.is-playing .lbox__pause-icon { display: block; }
.lbox__tag { grid-column: 4; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lbox__ensaio {
  grid-column: 5;
  justify-self: end;
  border-color: rgba(255,255,255,0.46) !important;
  background: rgba(0,0,0,0.48) !important;
  color: #fff !important;
  white-space: nowrap;
}
#lbox-next { grid-column: 6; }

.lbox__strip {
  z-index: 7;
  bottom: 82px !important;
  padding: 14px 18px !important;
  background: rgba(0,0,0,0.58) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.lbox__x { z-index: 9; background: rgba(0,0,0,0.58) !important; }

/* Controles somem quando o usuário fica parado, como a Dock do macOS. */
.lbox__bar,
.lbox__strip,
.lbox__x {
  transition: opacity .35s ease, transform .35s ease;
}

.lbox.is-idle .lbox__bar {
  opacity: 0;
  transform: translateY(100%);
  pointer-events: none;
}

.lbox.is-idle .lbox__strip {
  opacity: 0;
  transform: translateY(28px);
  pointer-events: none;
}

.lbox.is-idle .lbox__x {
  opacity: 0;
  transform: translateY(-16px);
  pointer-events: none;
}

.lbox.is-idle { cursor: none; }

@media (max-width: 640px) {
  .lbox__bar {
    height: 72px !important;
    padding: 0 10px;
    grid-template-columns: 44px 54px 40px minmax(0, 1fr) 44px;
    gap: 8px !important;
  }

  #lbox-prev { grid-column: 1; }
  #lbox-count { grid-column: 2; }
  .lbox__play { grid-column: 3; width: 36px; height: 36px; }
  .lbox__tag { display: none !important; }
  #lbox-next { grid-column: 5; }

  .lbox__ensaio {
    grid-column: 4;
    max-width: 100%;
    padding: 8px 10px;
    overflow: hidden;
    white-space: nowrap;
    font-size: 8px;
    letter-spacing: 0.09em;
  }

  .lbox__ensaio span {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .lbox__strip { bottom: 72px !important; }

  /* No mobile, os controles permanecem sempre acessíveis. */
  .lbox.is-idle { cursor: auto; }
  .lbox.is-idle .lbox__bar,
  .lbox.is-idle .lbox__strip,
  .lbox.is-idle .lbox__x {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}
