
    /* Keep discovery controls usable at narrow widths without changing filter behavior. */
    .ev-nav :where(a, button), .ev-filter-console :where(button),
    .ev-types :where(a, button), .ev-date-filter button,
    .ev-card-actions :where(a, button), .ev-card-follow-row button {
      min-height: 44px;
    }
    .ev-nav :where(a, button):focus-visible,
    .ev-filter-console :where(a, button):focus-visible,
    .ev-types :where(a, button):focus-visible,
    .ev-date-filter button:focus-visible,
    .ev-card :where(a, button):focus-visible {
      outline: 3px solid #6D28D9; outline-offset: 3px;
    }
    .ev-nav { gap: 10px; }
    .ev-nav-links { min-width: 0; flex-wrap: wrap; justify-content: flex-end; }
    .ev-card, .ev-vendor-card { min-width: 0; }
    .ev-card-body, .ev-vendor-body { min-width: 0; }
    .ev-card-actions > *, .ev-card-follow-row > * { min-width: 0; }
    .ev-card-host-clickable { min-height: 44px; }
    .ev-card-vendor-teaser { white-space: normal; overflow-wrap: anywhere; }
    .ev-types, .ev-date-filter { overscroll-behavior-inline: contain; scroll-padding-inline: 16px; }
    .ev-rsvp-sheet { max-height: calc(100dvh - env(safe-area-inset-top)); overflow-y: auto; overscroll-behavior: contain; }
    .ev-rsvp-phone-row { flex-wrap: wrap; }
    .ev-rsvp-phone-input { min-width: 0; min-height: 44px; }
    .ev-rsvp-phone-send { min-height: 44px; }
    .ev-rsvp-shortcut, .ev-rsvp-close, .ev-rsvp-skip-btn { min-height: 44px; }
    @media (max-width: 600px) {
      .ev-nav { padding-inline: 12px; }
      .ev-nav-links { gap: 5px; }
      .ev-nav-link { padding-inline: 9px; min-height: 44px; display: inline-flex; align-items: center; }
      .ev-hero { padding: 36px 16px 30px; }
      .ev-hero-title { font-size: clamp(28px, 8vw, 38px); }
      .ev-loc-row { padding-inline: 12px; }
      .ev-main { padding: 22px 12px 44px; }
      .ev-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
      .ev-view-toggle { flex-wrap: wrap; }
      .ev-view-btn { min-height: 44px; }
      .ev-filter-console-inner { padding-inline: 12px; }
      .ev-rsvp-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 380px) {
      .ev-nav { gap: 6px; }
      .ev-nav-brand { font-size: 16px; }
      .ev-nav-link { font-size: 11px; padding-inline: 7px; }
      .ev-filter-console-top { flex-wrap: wrap; }
      .ev-content-tabs { flex: 1 1 100%; min-width: 0; }
      .ev-filter-open { margin-left: auto; }
      .ev-rsvp-phone-row > * { flex: 1 1 100%; }
      .ev-rsvp-shortcuts { grid-template-columns: 1fr; }
      .ev-card-actions { gap: 6px; }
    }
  