/* RuniverseHub · PUBLIC-EVENT-FINAL-POLISH-1.0
   Accesibilidad, rendimiento perceptual y cierre responsive del detalle público. */

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] {
  --rh-event-focus: #7be9ff;
  --rh-event-safe-bottom: max(18px, env(safe-area-inset-bottom));
}

/* Sin JavaScript, el contenido permanece visible. El estado inicial animado se
   activa únicamente cuando el script final confirma que puede gestionarlo. */
.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] [data-rh-event-reveal] {
  opacity: 1;
  transform: none;
}

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"].rh-event-motion-ready [data-rh-event-reveal]:not(.is-in) {
  opacity: 0;
  transform: translateY(14px);
}

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-reading-progress {
  position: fixed;
  z-index: 999;
  inset: 0 0 auto;
  height: 3px;
  pointer-events: none;
  background: rgba(255,255,255,.04);
}

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-reading-progress > i {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--rh-event-p-green), var(--rh-event-p-cyan));
  box-shadow: 0 0 16px rgba(49, 200, 255, .36);
  transform-origin: left center;
}

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--rh-event-focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(49, 200, 255, .13);
}

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] :is(a, button, summary) {
  -webkit-tap-highlight-color: rgba(85, 242, 177, .16);
}

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] :is(
  .rh-v2-button,
  .rh-v2-event-premium-action__secondary > *,
  .rh-v2-event-premium-tabs [role="tab"],
  .rh-v2-event-premium-category-group > button,
  .rh-v2-event-premium-faq summary
) {
  min-height: 44px;
}

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] :is(
  #distancias,
  #beneficios,
  #historia,
  #cronograma,
  #ubicacion,
  #categorias-reglamento,
  #faq,
  #rh-v2-event-terms
) {
  scroll-margin-top: 92px;
}

/* El contenido inferior se difiere visualmente sin ocultarlo de lectores de pantalla. */
@supports (content-visibility: auto) {
  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] :is(
    .rh-v2-event-premium-story,
    .rh-v2-event-premium-schedule,
    .rh-v2-event-premium-route,
    .rh-v2-event-premium-categories,
    .rh-v2-event-premium-important,
    .rh-v2-event-premium-faq,
    .rh-v2-event-premium-organizer,
    .rh-v2-event-premium-final-cta
  ) {
    content-visibility: auto;
    contain-intrinsic-size: auto 620px;
  }
}

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-premium-tabs [role="tabpanel"]:focus-visible {
  border-radius: 18px;
}

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-premium-category-group li[hidden] {
  display: none !important;
}

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-detail-modal[aria-hidden="true"] {
  visibility: hidden;
}

.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-detail-modal[aria-hidden="false"] {
  visibility: visible;
}

/* Evita que textos largos rompan tarjetas en nombres, ubicaciones o categorías. */
.rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] :is(
  .rh-v2-event-premium-category-card,
  .rh-v2-event-premium-category-group,
  .rh-v2-event-premium-important__grid > article,
  .rh-v2-event-premium-organizer,
  .rh-v2-event-premium-route__details article,
  .rh-v2-event-premium-final-cta
) {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-preview-toolbar__inner {
    align-items: flex-start;
  }

  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-preview-toolbar__inner > div {
    min-width: 0;
  }

  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-preview-toolbar__inner small {
    line-height: 1.45;
  }

  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-premium-tabs > div[role="tablist"] {
    scroll-padding-inline: 14px;
    scrollbar-width: none;
  }

  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-premium-tabs > div[role="tablist"]::-webkit-scrollbar {
    display: none;
  }

  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-premium-category-group > button,
  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-premium-section-head > a {
    width: 100%;
    justify-content: center;
  }

  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-premium-final-cta {
    padding-bottom: calc(var(--rh-event-content-pad) + var(--rh-event-safe-bottom));
  }
}

@media (max-width: 390px) {
  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-premium-hero {
    width: calc(100% - 20px);
  }

  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-premium-meta {
    grid-template-columns: 1fr;
  }

  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-premium-category-card__groups,
  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] .rh-v2-event-premium-important__grid {
    gap: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] *,
  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] *::before,
  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }

  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"].rh-event-motion-ready [data-rh-event-reveal] {
    opacity: 1;
    transform: none;
  }
}

@media (forced-colors: active) {
  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] :is(
    .rh-v2-event-premium-story,
    .rh-v2-event-premium-schedule,
    .rh-v2-event-premium-route,
    .rh-v2-event-premium-categories,
    .rh-v2-event-premium-important,
    .rh-v2-event-premium-faq,
    .rh-v2-event-premium-organizer,
    .rh-v2-event-premium-final-cta
  ) {
    border: 1px solid CanvasText;
  }

  .rh-v2-public-event-premium-core[data-rh-public-event-final-polish="1.0"] :is(a, button, summary):focus-visible {
    outline: 3px solid Highlight;
  }
}
