/* Request-scoped nearby discovery; deliberately isolated from the global shell. */
.nearby-events-page .nearby-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--neo-space-5) var(--neo-space-8);
  margin-bottom: var(--neo-space-8);
  border: var(--neo-border-heavy) solid var(--neo-ink);
  border-radius: var(--neo-radius-panel);
  background-color: var(--neo-yellow);
  box-shadow: var(--neo-shadow-lg);
  padding: clamp(1.35rem, 3vw, 2.25rem);
}

.nearby-events-page .nearby-copy h2 {
  margin: var(--neo-space-3) 0;
  font-size: clamp(1.65rem, 3vw, 2.7rem);
}

.nearby-events-page .nearby-copy > p:last-child {
  max-width: 50rem;
  color: #4c473a;
  font-weight: 680;
}

.nearby-events-page .nearby-actions {
  display: flex;
  min-width: 11rem;
  flex-direction: column;
  align-items: stretch;
  gap: var(--neo-space-2);
}

.nearby-events-page .nearby-button {
  border-color: var(--neo-ink);
  background-color: var(--neo-purple);
  color: #ffffff;
}

.nearby-events-page .nearby-button:hover {
  background-color: var(--neo-purple-dark);
}

.nearby-events-page .nearby-actions .text-link {
  align-self: center;
  color: var(--neo-ink);
  font-size: 0.78rem;
}

.nearby-events-page .nearby-status,
.nearby-events-page .nearby-fallback {
  grid-column: 1 / -1;
  margin: 0;
  border-top: var(--neo-border-thin) solid var(--neo-ink);
  padding-top: var(--neo-space-4);
  font-family: var(--neo-font-mono);
  font-size: 0.74rem;
  font-weight: 850;
}

.nearby-events-page .nearby-fallback {
  margin-top: var(--neo-space-3);
}

.nearby-events-page .location-summary {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--neo-space-3) var(--neo-space-5);
  border: var(--neo-border-thin) solid var(--neo-ink);
  background: var(--neo-paper);
  box-shadow: var(--neo-shadow-sm);
  padding: var(--neo-space-4);
}

.nearby-events-page .location-summary-label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  min-width: 6.5rem;
  border-left: var(--neo-border-heavy) solid var(--neo-green);
  font-family: var(--neo-font-mono);
  padding-left: var(--neo-space-3);
}

.nearby-events-page .location-summary-label strong { font-size: 1rem; }
.nearby-events-page .location-summary-label small { font-size: 0.62rem; font-weight: 850; letter-spacing: 0.08em; }

.nearby-events-page .location-summary dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--neo-space-3);
  margin: 0;
}

.nearby-events-page .location-summary dl div { min-width: 0; }
.nearby-events-page .location-summary dt { color: var(--neo-muted); font-size: 0.68rem; font-weight: 800; }
.nearby-events-page .location-summary dd { margin: 0.2rem 0 0; font-weight: 850; overflow-wrap: anywhere; }
.nearby-events-page .location-summary > p { grid-column: 2; margin: 0; color: var(--neo-muted); font-size: 0.75rem; font-weight: 700; }

.nearby-events-page .events-filter {
  grid-template-columns: minmax(7.5rem, 0.55fr) repeat(4, minmax(8.5rem, 1fr));
}

.nearby-events-page .events-filter .filter-heading {
  grid-row: span 2;
}

.nearby-events-page .events-filter label > small {
  display: block;
  margin-top: 0.2rem;
  color: #ffffff;
  font-size: 0.64rem;
  opacity: 0.8;
}

.nearby-events-page .events-filter .filter-check {
  align-self: end;
}

.nearby-events-page .event-tags .distance-chip {
  border-color: var(--neo-ink);
  background-color: var(--neo-purple);
  color: #ffffff;
}

@media (max-width: 1050px) {
  .nearby-events-page .events-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nearby-events-page .events-filter .filter-heading {
    grid-row: auto;
    grid-column: 1 / -1;
  }

  .nearby-events-page .events-filter .filter-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .nearby-events-page .nearby-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    border-width: 2.5px;
    border-radius: 1.05rem;
    box-shadow: var(--neo-shadow-md);
    padding: 1.15rem;
  }

  .nearby-events-page .nearby-actions,
  .nearby-events-page .nearby-actions > * {
    width: 100%;
  }

  .nearby-events-page .nearby-status,
  .nearby-events-page .nearby-fallback,
  .nearby-events-page .location-summary {
    grid-column: auto;
  }

  .nearby-events-page .location-summary { grid-template-columns: 1fr; }
  .nearby-events-page .location-summary dl { grid-template-columns: 1fr; }
  .nearby-events-page .location-summary > p { grid-column: auto; }

  .nearby-events-page .events-filter {
    grid-template-columns: minmax(0, 1fr);
  }

  .nearby-events-page .events-filter .filter-heading,
  .nearby-events-page .events-filter .filter-actions {
    grid-column: auto;
  }
}

@media (forced-colors: active) {
  .nearby-events-page .nearby-panel,
  .nearby-events-page .event-tags .distance-chip {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
  }
}
