/* UNIVRS v1.5.2.5.4.1 — Passport Shell, Play Allowlist + Crowd Forecast Recovery */

/* One background owner: the selected UNIVRS World. Passport and Play remain contained. */
html.uv-passport-play-active-v152541 .univrs-view[data-view="passport"],
body.uv-passport-play-active-v152541 .univrs-view[data-view="passport"],
html.uv-passport-play-active-v152541 .univrs-passport-system,
body.uv-passport-play-active-v152541 .univrs-passport-system {
  background: transparent !important;
  background-image: none !important;
}

html.uv-passport-play-active-v152541 .univrs-passport-main-v150,
body.uv-passport-play-active-v152541 .univrs-passport-main-v150 {
  background: transparent !important;
  min-width: 0 !important;
}

html.uv-passport-play-active-v152541 [data-passport-room-panel="play"],
body.uv-passport-play-active-v152541 [data-passport-room-panel="play"] {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  overflow: visible !important;
}

html.uv-passport-play-active-v152541 [data-passport-room-panel="play"] > *,
body.uv-passport-play-active-v152541 [data-passport-room-panel="play"] > * {
  max-width: 100% !important;
  min-width: 0 !important;
}

html.uv-passport-play-active-v152541 .univrs-play-season-hero-v152,
body.uv-passport-play-active-v152541 .univrs-play-season-hero-v152 {
  grid-template-columns: minmax(0, 1fr) minmax(220px, .42fr) !important;
  width: 100% !important;
  max-width: 100% !important;
}

html.uv-passport-play-active-v152541 .univrs-play-season-copy-v152 h2,
body.uv-passport-play-active-v152541 .univrs-play-season-copy-v152 h2 {
  font-size: clamp(32px, 4.3vw, 58px) !important;
  overflow-wrap: anywhere !important;
}

/* Shared sidecar styling for Passport Navigator. */
.univrs-passport-side-nav-v1512.uv-passport-navigator-v152541 {
  padding: 0 0 10px !important;
  overflow: hidden !important;
  border: 1px solid var(--world-line, var(--u-line)) !important;
  border-radius: 24px !important;
  background: var(--world-card, var(--u-card)) !important;
  box-shadow: 0 14px 34px rgba(16, 48, 42, .1) !important;
}

.uv-passport-navigator-v152541 .univrs-sidecar-card-head-v1514 {
  padding: 18px 20px 15px !important;
  border-bottom: 1px solid var(--world-line, var(--u-line)) !important;
  background: color-mix(in srgb, var(--world-card, var(--u-card)) 92%, var(--world-select, var(--u-sky))) !important;
}

.uv-passport-navigator-v152541 .univrs-sidecar-card-head-v1514 h2 {
  font-size: 1.45rem !important;
  letter-spacing: -.035em !important;
}

.uv-passport-navigator-v152541 > section {
  display: grid !important;
  gap: 4px !important;
  padding: 13px 14px 2px !important;
  border: 0 !important;
  background: transparent !important;
}

.uv-passport-navigator-v152541 > section + section {
  margin-top: 7px !important;
  padding-top: 15px !important;
  border-top: 1px solid color-mix(in srgb, var(--world-line, var(--u-line)) 75%, transparent) !important;
}

.uv-passport-navigator-v152541 > section > h3 {
  margin: 0 8px 6px !important;
  font: 850 9px/1.2 var(--u-font-mono) !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--world-muted, var(--u-muted)) !important;
}

.uv-passport-navigator-v152541 button {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 44px !important;
  padding: 8px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 13px !important;
  background: transparent !important;
  color: var(--world-ink, var(--u-ink)) !important;
  box-shadow: none !important;
  text-align: left !important;
}

.uv-passport-navigator-v152541 button:hover {
  background: color-mix(in srgb, var(--room-accent, var(--world-select, var(--u-sky))) 8%, var(--world-card, var(--u-card))) !important;
}

.uv-passport-navigator-v152541 button.is-active {
  border-color: color-mix(in srgb, var(--room-accent, var(--world-select, var(--u-sky))) 24%, var(--world-line, var(--u-line))) !important;
  background: color-mix(in srgb, var(--room-accent, var(--world-select, var(--u-sky))) 10%, var(--world-card, var(--u-card))) !important;
}

.uv-passport-navigator-v152541 button.is-active::before {
  left: 0 !important;
  top: 9px !important;
  bottom: 9px !important;
  width: 3px !important;
  border-radius: 999px !important;
}

.uv-passport-navigator-v152541 button svg {
  width: 20px !important;
  height: 20px !important;
}

.uv-passport-navigator-v152541 button > span {
  min-width: 0 !important;
  font-size: .94rem !important;
  font-weight: 850 !important;
}

.uv-passport-navigator-v152541 button > small {
  min-width: 24px !important;
  padding: 4px 7px !important;
  border-radius: 999px !important;
  background: var(--world-paper-2, var(--u-paper-2)) !important;
  color: var(--world-muted, var(--u-muted)) !important;
  font-size: .68rem !important;
  text-align: center !important;
}

/* Disallowed destinations never occupy Play layout or keyboard order. */
[data-passport-park-picker] [data-passport-park-id][hidden] {
  display: none !important;
}

/* Crowd calendar and map controls use the same stable content rhythm. */
.uv-trip-crowd-v15254 {
  scroll-margin-top: 24px !important;
}

.univrs-live-map-tools {
  margin: 18px 0 14px !important;
}

[data-map-crowd-v15254] {
  margin: 0 0 18px !important;
}

@media (max-width: 1080px) {
  html.uv-passport-play-active-v152541 .univrs-play-season-hero-v152,
  body.uv-passport-play-active-v152541 .univrs-play-season-hero-v152 {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  html.uv-passport-play-active-v152541 [data-passport-room-panel="play"],
  body.uv-passport-play-active-v152541 [data-passport-room-panel="play"] {
    padding-inline: 0 !important;
  }

  .uv-passport-navigator-v152541 {
    border-radius: 20px !important;
  }
}
