{
  "version": 3,
  "sources": ["src/app/features/events/components/event-dialog/event-dialog.component.css"],
  "sourcesContent": ["/* Diálogo de eventos (D24). Mobile-first: en móvil es una hoja casi a pantalla\n   completa con scroll interno; desde 640 px, un panel centrado de ~560 px.\n   Esquinas rectas como el resto de la tienda y solo tokens semánticos. */\n\n/* ── Capa ──\n   1000/1001, la del modal de acceso: por encima de todo lo de página (header,\n   FAB, comparador, newsletter, carrito) y por debajo de los toasts (1100), de\n   los avisos bloqueantes (1200/1201) y del overlay transaccional (1300). Este\n   diálogo nunca se abre encima de otro modal. */\n\n.event-dialog__backdrop {\n  position: fixed;\n  inset: 0;\n  z-index: 1000;\n  background: var(--color-backdrop);\n  animation: event-dialog-fade var(--transition-normal);\n}\n\n.event-dialog {\n  position: fixed;\n  inset: var(--space-6) 0 0 0;\n  z-index: 1001;\n  display: flex;\n  flex-direction: column;\n  background: var(--color-surface-primary);\n  border: 1px solid var(--color-border-primary);\n  border-radius: var(--radius-modal-sharp);\n  box-shadow: var(--shadow-modal);\n  font-family: var(--font-family-body);\n  animation: event-dialog-in var(--transition-normal);\n}\n\n/* ── Barra: «Volver» y X, fuera de la zona con scroll ── */\n\n.event-dialog__bar {\n  display: flex;\n  align-items: center;\n  gap: var(--space-2);\n  padding: var(--space-2) var(--space-2) 0 var(--space-3);\n  flex-shrink: 0;\n}\n\n.event-dialog__back,\n.event-dialog__close {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 2.75rem; /* 44 px: objetivo táctil */\n  background: none;\n  border: 0;\n  border-radius: 0;\n  font: inherit;\n  cursor: pointer;\n  transition:\n    background-color var(--transition-fast),\n    color var(--transition-fast);\n}\n\n.event-dialog__back {\n  padding: 0 var(--space-2);\n  font-size: var(--text-size-sm);\n  font-weight: var(--font-weight-body-medium);\n  color: var(--color-text-link);\n}\n\n.event-dialog__back:hover {\n  text-decoration: underline;\n}\n\n.event-dialog__close {\n  min-width: 2.75rem;\n  margin-left: auto;\n  color: var(--color-text-secondary);\n}\n\n.event-dialog__close:hover {\n  background: var(--color-surface-alt);\n  color: var(--color-text-primary);\n}\n\n.event-dialog__back:focus-visible,\n.event-dialog__close:focus-visible,\n.event-dialog__cta:focus-visible {\n  outline: 2px solid var(--color-action-secondary);\n  outline-offset: 2px;\n}\n\n/* ── Cuerpo con scroll ── */\n\n.event-dialog__body {\n  flex: 1;\n  min-height: 0;\n  overflow-y: auto;\n  overscroll-behavior: contain;\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-3);\n  padding: var(--space-2) var(--space-5) var(--space-6);\n}\n\n/* ── Imagen ──\n   `contain` sobre superficie neutra y alto acotado: el cartel se ve entero sin\n   deformarse y en escritorio el texto queda a la vista sin scroll. */\n\n.event-dialog__media {\n  display: flex;\n  justify-content: center;\n  background: var(--color-surface-alt);\n}\n\n.event-dialog__image {\n  display: block;\n  width: 100%;\n  height: auto;\n  max-height: min(36dvh, 280px);\n  object-fit: contain;\n}\n\n/* ── Etiquetas ── */\n\n.event-dialog__tags {\n  display: flex;\n  align-items: center;\n  gap: var(--space-2);\n  flex-wrap: wrap;\n}\n\n.event-dialog__type {\n  font-size: var(--text-size-xs);\n  font-weight: var(--font-weight-body-medium);\n  letter-spacing: 0.04em;\n  text-transform: uppercase;\n  color: var(--color-text-secondary);\n}\n\n/* Mismo chip neutro que la tarjeta: el juego se nombra, no se colorea. */\n.event-dialog__game {\n  font-size: var(--text-size-xs);\n  font-weight: var(--font-weight-body-medium);\n  padding: 0.0625rem var(--space-2);\n  border: 1px solid var(--color-border-primary);\n  border-radius: 0;\n  background: var(--color-surface-alt);\n  color: var(--color-text-secondary);\n  white-space: nowrap;\n}\n\n.event-dialog__title {\n  font-family: var(--font-family-heading);\n  font-size: var(--text-size-xl);\n  font-weight: var(--font-weight-heading);\n  line-height: var(--leading-snug);\n  color: var(--color-text-primary);\n  margin: 0;\n  overflow-wrap: anywhere;\n}\n\n/* ── Datos ── */\n\n.event-dialog__facts {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-2);\n}\n\n.event-dialog__date,\n.event-dialog__format,\n.event-dialog__location {\n  font-size: var(--text-size-sm);\n  line-height: var(--leading-normal);\n  color: var(--color-text-secondary);\n  margin: 0;\n}\n\n.event-dialog__date {\n  font-weight: var(--font-weight-body-medium);\n  color: var(--color-text-primary);\n}\n\n.event-dialog__location {\n  display: flex;\n  align-items: center;\n  gap: var(--space-1);\n}\n\n.event-dialog__price {\n  font-size: var(--text-size-base);\n  font-weight: var(--font-weight-body-medium);\n  font-variant-numeric: tabular-nums;\n  color: var(--color-text-price);\n  margin: 0;\n}\n\n/* Texto plano del admin: `pre-line` respeta sus saltos de línea y colapsa el\n   resto de espacios, sin interpretar nada como HTML (D15). */\n.event-dialog__description {\n  font-size: var(--text-size-base);\n  line-height: var(--leading-relaxed);\n  color: var(--color-text-primary);\n  white-space: pre-line;\n  overflow-wrap: anywhere;\n  margin: 0;\n}\n\n/* ── «Más información» ──\n   CTA moderado: contorno en el azul de enlaces, sin relleno naranja. Es un\n   enlace externo de consulta, no una acción de compra. */\n\n.event-dialog__cta {\n  align-self: flex-start;\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-2);\n  min-height: 2.75rem; /* 44 px: objetivo táctil */\n  padding: 0 var(--space-5);\n  margin-top: var(--space-2);\n  font-size: var(--text-size-sm);\n  font-weight: var(--font-weight-body-medium);\n  color: var(--color-action-secondary);\n  background: var(--color-surface-primary);\n  border: 1px solid var(--color-action-secondary);\n  border-radius: var(--radius-button-sharp);\n  text-decoration: none;\n  transition: background-color var(--transition-fast);\n}\n\n.event-dialog__cta:hover {\n  background: var(--color-surface-alt);\n}\n\n/* ── Vista día ── */\n\n.event-dialog__list {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-3);\n}\n\n/* ── Escritorio: panel centrado ── */\n\n@media (min-width: 640px) {\n  .event-dialog {\n    inset: auto;\n    left: 50%;\n    top: 50%;\n    transform: translate(-50%, -50%);\n    width: min(560px, calc(100vw - 2 * var(--space-4)));\n    max-height: min(86dvh, 760px);\n  }\n\n  .event-dialog__body {\n    padding: var(--space-2) var(--space-6) var(--space-6);\n  }\n\n  .event-dialog__title {\n    font-size: var(--text-size-2xl);\n  }\n}\n\n/* ── Entrada sutil (≤ 200 ms) ──\n   `translate` y no `transform`: se compone con el centrado de escritorio en\n   vez de pisarlo. */\n\n@keyframes event-dialog-in {\n  from {\n    opacity: 0;\n    translate: 0 var(--space-2);\n  }\n}\n\n@keyframes event-dialog-fade {\n  from {\n    opacity: 0;\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .event-dialog,\n  .event-dialog__backdrop {\n    animation: none;\n  }\n\n  .event-dialog__back,\n  .event-dialog__close,\n  .event-dialog__cta {\n    transition: none;\n  }\n}\n"],
  "mappings": "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",
  "names": []
}
