{
  "version": 3,
  "sources": ["src/app/shared/ui/image-lightbox/image-lightbox.component.css"],
  "sourcesContent": ["/* ==========================================================================\n   ImageLightboxComponent — zoom y galería de imágenes (sin acciones de compra).\n   Reusa patrones de ProductZoomModal (flip 3D, foil overlay por data-variant).\n   ========================================================================== */\n\n.lightbox-backdrop {\n  position: fixed;\n  inset: 0;\n  z-index: 1000;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: var(--space-4);\n  background-color: rgb(0 0 0 / 0.75);\n  animation: lb-fade 200ms ease;\n}\n\n@keyframes lb-fade {\n  from { opacity: 0; }\n  to { opacity: 1; }\n}\n\n.lightbox {\n  position: relative;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: min(100%, 92vmin);\n  height: min(100%, 92vmin);\n  animation: lb-in 250ms ease;\n}\n\n@keyframes lb-in {\n  from { opacity: 0; transform: scale(0.96); }\n  to   { opacity: 1; transform: scale(1); }\n}\n\n/* ── Close ─────────────────────────────────────────────────── */\n.lightbox__close {\n  position: absolute;\n  top: calc(var(--space-4) * -1);\n  right: 0;\n  z-index: 3;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 40px;\n  height: 40px;\n  border: none;\n  border-radius: var(--radius-button);\n  background-color: rgb(0 0 0 / 0.55);\n  color: #fff;\n  cursor: pointer;\n  transition: background-color var(--transition-fast);\n}\n\n.lightbox__close:hover {\n  background-color: rgb(0 0 0 / 0.8);\n}\n\n/* ── Prev / Next ───────────────────────────────────────────── */\n.lightbox__nav {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  z-index: 3;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 48px;\n  height: 48px;\n  border: none;\n  border-radius: 50%;\n  background-color: rgb(0 0 0 / 0.55);\n  color: #fff;\n  cursor: pointer;\n  transition: background-color var(--transition-fast);\n}\n\n.lightbox__nav:hover {\n  background-color: rgb(0 0 0 / 0.8);\n}\n\n.lightbox__nav--prev {\n  left: calc(var(--space-4) * -1);\n}\n\n.lightbox__nav--next {\n  right: calc(var(--space-4) * -1);\n}\n\n@media (max-width: 48rem) {\n  .lightbox__nav {\n    width: 40px;\n    height: 40px;\n  }\n  .lightbox__nav--prev { left: var(--space-2); }\n  .lightbox__nav--next { right: var(--space-2); }\n}\n\n/* ── Counter ───────────────────────────────────────────────── */\n.lightbox__counter {\n  position: absolute;\n  top: calc(var(--space-4) * -1);\n  left: 0;\n  z-index: 3;\n  padding: var(--space-2) var(--space-3);\n  border-radius: var(--radius-badge);\n  background-color: rgb(0 0 0 / 0.55);\n  color: #fff;\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-xs);\n  font-variant-numeric: tabular-nums;\n}\n\n/* ── Image wrap: el wrap es el contenedor con padding visible ── */\n.lightbox__image-wrap {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  /* Aire interior: si la imagen no trae sus propios márgenes, no queda pegada al borde del modal. */\n  padding: var(--space-6);\n  box-sizing: border-box;\n  background-color: #fff;\n  border-radius: var(--radius-modal);\n  overflow: hidden;\n}\n\n@media (max-width: 48rem) {\n  .lightbox__image-wrap {\n    padding: var(--space-4);\n  }\n}\n\n.lightbox__image {\n  max-width: 100%;\n  max-height: 100%;\n  width: auto;\n  height: auto;\n  object-fit: contain;\n  display: block;\n}\n\n/* ── Foil overlay por variant ────────────────────────────────── */\n.lightbox__image-wrap::after {\n  content: '';\n  position: absolute;\n  inset: 0;\n  pointer-events: none;\n  opacity: 0;\n  transition: opacity var(--transition-normal);\n}\n\n.lightbox__image-wrap[data-variant='foil']::after {\n  background: linear-gradient(135deg, #ff0000, #ff8c00, #ffff00, #00ff00, #0000ff, #800080);\n  mix-blend-mode: color-dodge;\n  opacity: 0.28;\n}\n\n.lightbox__image-wrap[data-variant='specialty-foil']::after {\n  background: conic-gradient(from 0deg, #ff0000, #ff8c00 60deg, #ffff00 120deg, #00ff00 180deg, #00ffff 240deg, #0000ff 300deg, #ff0000 360deg);\n  mix-blend-mode: color-dodge;\n  opacity: 0.24;\n}\n\n/* ── Flip 3D ────────────────────────────────────────────────── */\n.lightbox__flip-container {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  transition: transform 0.6s ease;\n  transform-style: preserve-3d;\n  cursor: pointer;\n}\n\n.lightbox__flip-container:focus-visible {\n  outline: 2px solid var(--color-action-primary);\n  outline-offset: 4px;\n}\n\n.lightbox__flip-container--flipped {\n  transform: rotateY(180deg);\n}\n\n.lightbox__face {\n  backface-visibility: hidden;\n  -webkit-backface-visibility: hidden;\n}\n\n.lightbox__face--front {\n  position: relative;\n}\n\n.lightbox__face--back {\n  position: absolute;\n  inset: 0;\n  transform: rotateY(180deg);\n}\n\n.lightbox__flip-btn {\n  position: absolute;\n  bottom: var(--space-3);\n  right: var(--space-3);\n  z-index: 3;\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-2);\n  padding: var(--space-2) var(--space-3);\n  border: none;\n  border-radius: var(--radius-button);\n  background-color: rgb(0 0 0 / 0.55);\n  color: #fff;\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-xs);\n  font-weight: var(--font-weight-body-medium);\n  cursor: pointer;\n  transition: background-color var(--transition-fast);\n}\n\n.lightbox__flip-btn:hover {\n  background-color: rgb(0 0 0 / 0.75);\n}\n\n/* ── Dots ──────────────────────────────────────────────────── */\n.lightbox__dots {\n  position: absolute;\n  bottom: calc(var(--space-4) * -1);\n  left: 50%;\n  transform: translateX(-50%);\n  z-index: 3;\n  display: flex;\n  gap: var(--space-2);\n  padding: var(--space-2) var(--space-3);\n  border-radius: var(--radius-badge);\n  background-color: rgb(0 0 0 / 0.5);\n}\n\n.lightbox__dot {\n  width: 8px;\n  height: 8px;\n  border: none;\n  border-radius: 50%;\n  background-color: rgb(255 255 255 / 0.45);\n  cursor: pointer;\n  padding: 0;\n  transition: background-color var(--transition-fast), transform var(--transition-fast);\n}\n\n.lightbox__dot:hover {\n  background-color: rgb(255 255 255 / 0.75);\n}\n\n.lightbox__dot--active {\n  background-color: #fff;\n  transform: scale(1.25);\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .lightbox-backdrop, .lightbox, .lightbox__flip-container, .lightbox__dot {\n    animation: none;\n    transition: none;\n  }\n}\n"],
  "mappings": "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",
  "names": []
}
