/* Galerías y visor fotográfico globales de Nocturnalia. */

.single-post .editorial-content img.nocturnalia-photo-expandable,
.nocturnalia-photography-view .photo-essay__content img.nocturnalia-photo-expandable {
  cursor: zoom-in;
}

.single-post .editorial-content img.nocturnalia-photo-expandable:focus-visible,
.nocturnalia-photography-view .photo-essay__content img.nocturnalia-photo-expandable:focus-visible {
  outline: 2px solid var(--ed-accent);
  outline-offset: 5px;
}

/* Carrusel editorial: la galería de WordPress sigue siendo el contenido;
   el tema sólo unifica su presentación e interacción. */
.single-post .nocturnalia-gallery {
  background: #080808 !important;
  border: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  display: block !important;
  margin: clamp(34px, 5vw, 72px) auto !important;
  max-width: var(--ed-visual, 1440px);
  min-height: min(68svh, 780px);
  overflow: hidden;
  padding: clamp(18px, 2.4vw, 32px) clamp(48px, 6vw, 86px) clamp(54px, 6vw, 72px) !important;
  position: relative;
  width: 100% !important;
}

.single-post .nocturnalia-gallery > .nocturnalia-gallery__slide {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  flex-direction: column;
  grid-column: auto !important;
  justify-content: center !important;
  margin: 0 !important;
  max-width: none !important;
  min-height: calc(min(68svh, 780px) - clamp(72px, 8vw, 104px));
  padding: 0 !important;
  width: 100% !important;
}

.single-post .nocturnalia-gallery > .nocturnalia-gallery__slide.is-active {
  display: flex !important;
}

.single-post .nocturnalia-gallery > .nocturnalia-gallery__slide[hidden] {
  display: none !important;
}

.single-post .nocturnalia-gallery .nocturnalia-gallery__slide img {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: block !important;
  height: auto !important;
  margin: 0 auto !important;
  max-height: min(72svh, 900px) !important;
  max-width: 100% !important;
  object-fit: contain !important;
  outline: 0 !important;
  width: auto !important;
}

.single-post .nocturnalia-gallery .nocturnalia-gallery__slide figcaption,
.single-post .nocturnalia-gallery .nocturnalia-gallery__slide .wp-element-caption {
  color: rgba(255, 255, 255, 0.76) !important;
  font-family: var(--ed-sans);
  font-size: 11px;
  letter-spacing: 0.035em;
  line-height: 1.48;
  margin: 13px auto 0 !important;
  max-width: 78ch;
  text-align: center;
}

.single-post .nocturnalia-gallery .nocturnalia-media-credit,
.single-post .nocturnalia-gallery .nocturnalia-media-credit b {
  color: inherit !important;
}

.single-post .nocturnalia-gallery__controls {
  align-items: center;
  bottom: 12px;
  display: flex;
  gap: 16px;
  justify-content: center;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  z-index: 3;
}

.single-post .nocturnalia-gallery__prev,
.single-post .nocturnalia-gallery__next {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--ed-sans);
  font-size: 30px;
  height: 38px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 38px;
}

.single-post .nocturnalia-gallery__prev:hover,
.single-post .nocturnalia-gallery__next:hover,
.single-post .nocturnalia-gallery__prev:focus-visible,
.single-post .nocturnalia-gallery__next:focus-visible {
  color: var(--ed-accent-text-on-dark);
  outline: none;
}

.single-post .nocturnalia-gallery__counter {
  color: rgba(255, 255, 255, 0.66);
  font-family: var(--ed-sans);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: 0.11em;
  min-width: 42px;
  text-align: center;
}

.single-post .nocturnalia-gallery:focus-visible {
  outline: 2px solid var(--ed-accent);
  outline-offset: 4px;
}

/* WordPress puede añadir su propio icono de ampliación; el tema ya aporta visor. */
.single-post .nocturnalia-gallery .lightbox-trigger,
.single-post .nocturnalia-gallery .wp-lightbox-container > button,
.nocturnalia-photography-view .photo-essay__content .lightbox-trigger,
.nocturnalia-photography-view .photo-essay__content .wp-lightbox-container > button {
  display: none !important;
}

/* Visor a pantalla completa. */
.nocturnalia-photo-lightbox {
  background: transparent;
  border: 0;
  height: 100dvh;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  width: 100vw;
}

.nocturnalia-photo-lightbox::backdrop {
  background: rgba(8, 8, 8, 0.97);
}

.nocturnalia-photo-lightbox__stage {
  align-items: center;
  background: rgba(8, 8, 8, 0.97);
  box-sizing: border-box;
  display: flex;
  height: 100dvh;
  justify-content: center;
  padding: clamp(46px, 6vw, 82px) clamp(18px, 4vw, 64px) clamp(70px, 8vw, 106px);
  position: relative;
  touch-action: pan-y;
  width: 100vw;
}

.nocturnalia-photo-lightbox__figure {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  margin: 0;
  max-width: 100%;
  min-height: 0;
  min-width: 0;
}

.nocturnalia-photo-lightbox__image {
  display: block;
  height: auto;
  max-height: calc(100dvh - 160px);
  max-width: min(94vw, 1800px);
  object-fit: contain;
  width: auto;
}

.nocturnalia-photo-lightbox__caption {
  color: rgba(255, 255, 255, 0.78);
  font-family: var(--ed-sans);
  font-size: 11px;
  letter-spacing: 0.04em;
  line-height: 1.45;
  margin-top: 14px;
  max-width: 82ch;
  text-align: center;
}

.nocturnalia-photo-lightbox__caption:empty {
  display: none;
}

.nocturnalia-photo-lightbox__counter {
  bottom: clamp(16px, 2.4vw, 28px);
  color: rgba(255, 255, 255, 0.64);
  font-family: var(--ed-sans);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  left: 50%;
  letter-spacing: 0.11em;
  position: absolute;
  transform: translateX(-50%);
}

.nocturnalia-photo-lightbox__close,
.nocturnalia-photo-lightbox__prev,
.nocturnalia-photo-lightbox__next {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-family: var(--ed-sans);
  font-size: 28px;
  height: 48px;
  justify-content: center;
  padding: 0;
  position: absolute;
  width: 48px;
  z-index: 2;
}

.nocturnalia-photo-lightbox__close {
  right: clamp(10px, 2vw, 28px);
  top: clamp(8px, 2vw, 24px);
}

.nocturnalia-photo-lightbox__prev,
.nocturnalia-photo-lightbox__next {
  top: 50%;
  transform: translateY(-50%);
}

.nocturnalia-photo-lightbox__prev {
  left: clamp(4px, 1.5vw, 22px);
}

.nocturnalia-photo-lightbox__next {
  right: clamp(4px, 1.5vw, 22px);
}

.nocturnalia-photo-lightbox__close:hover,
.nocturnalia-photo-lightbox__prev:hover,
.nocturnalia-photo-lightbox__next:hover,
.nocturnalia-photo-lightbox__close:focus-visible,
.nocturnalia-photo-lightbox__prev:focus-visible,
.nocturnalia-photo-lightbox__next:focus-visible {
  color: var(--ed-accent-text-on-dark);
  outline: none;
}

.nocturnalia-photo-lightbox__prev[hidden],
.nocturnalia-photo-lightbox__next[hidden] {
  display: none;
}

body.nocturnalia-photo-lightbox-open {
  overflow: hidden;
}

@media (max-width: 820px) {
  .single-post .nocturnalia-gallery {
    min-height: min(66svh, 680px);
    padding: 12px 12px 58px !important;
  }

  .single-post .nocturnalia-gallery > .nocturnalia-gallery__slide {
    min-height: calc(min(66svh, 680px) - 70px);
  }

  .single-post .nocturnalia-gallery .nocturnalia-gallery__slide img {
    max-height: calc(66svh - 92px) !important;
    max-width: 100% !important;
  }

  .single-post .nocturnalia-gallery .nocturnalia-gallery__slide figcaption,
  .single-post .nocturnalia-gallery .nocturnalia-gallery__slide .wp-element-caption {
    padding-left: 8px;
    padding-right: 8px;
  }

  .nocturnalia-photo-lightbox__stage {
    padding: 52px 12px 74px;
  }

  .nocturnalia-photo-lightbox__image {
    max-height: calc(100dvh - 145px);
    max-width: 96vw;
  }

  .nocturnalia-photo-lightbox__prev,
  .nocturnalia-photo-lightbox__next {
    background: rgba(8, 8, 8, 0.42);
    bottom: 10px;
    top: auto;
    transform: none;
  }

  .nocturnalia-photo-lightbox__prev {
    left: calc(50% - 72px);
  }

  .nocturnalia-photo-lightbox__next {
    right: calc(50% - 72px);
  }

  .nocturnalia-photo-lightbox__counter {
    bottom: 25px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .single-post .nocturnalia-gallery *,
  .nocturnalia-photo-lightbox * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
