/* ============================================================
   GloboEvent mobile-first override
   Purpose: prevent desktop widths from controlling mobile layout.
   Loaded after the existing GloboEvent CSS files.
   ============================================================ */

@media (max-width: 820px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body {
    -webkit-text-size-adjust: 100%;
  }

  #globoevent-wrapper,
  #globoevent-wrapper * {
    box-sizing: border-box !important;
    min-width: 0 !important;
  }

  #globoevent-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow-x: clip !important;
  }

  #globoevent-wrapper img,
  #globoevent-wrapper video,
  #globoevent-wrapper iframe,
  #globoevent-wrapper table {
    max-width: 100% !important;
  }

  #globoevent-wrapper img {
    height: auto;
  }

  /* Keep search visible and mobile-sized. */
  #globoevent-wrapper .ge-mobile-collapsible {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  #globoevent-wrapper .ge-mobile-filters-toggle,
  #globoevent-wrapper #ge-mobile-filters-toggle {
    display: none !important;
  }

  #globoevent-wrapper .ge-search-bar,
  #globoevent-wrapper .ge-reset-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
  }

  #globoevent-wrapper .ge-search-bar > *,
  #globoevent-wrapper .ge-keyword-wrap,
  #globoevent-wrapper .ge-search-bar input,
  #globoevent-wrapper .ge-search-bar select,
  #globoevent-wrapper .ge-search-bar button,
  #globoevent-wrapper .ge-reset-row .ge-btn {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #globoevent-wrapper input,
  #globoevent-wrapper select,
  #globoevent-wrapper textarea,
  #globoevent-wrapper button,
  #globoevent-wrapper .ge-btn,
  #globoevent-wrapper #ge-date-btn,
  #globoevent-wrapper #ge-search-btn {
    min-height: 44px !important;
    height: auto !important;
    padding: 10px 12px !important;
    font-size: 16px !important; /* prevents iOS zoom */
    line-height: 1.25 !important;
  }

  #globoevent-wrapper .ge-filter-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: stretch !important;
    justify-content: stretch !important;
  }

  #globoevent-wrapper .ge-filter-row .ge-btn,
  #globoevent-wrapper .ge-filter-row .ge-language-select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    white-space: normal !important;
  }

  #globoevent-wrapper .ge-filter-row .ge-save-search,
  #globoevent-wrapper .ge-filter-row .ge-saved-search {
    display: none !important;
  }

  #globoevent-wrapper .ge-filter-row .ge-nearby,
  #globoevent-wrapper .ge-filter-row .ge-language-select {
    grid-column: 1 / -1 !important;
  }

  #globoevent-wrapper #ge-advanced-panel {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px !important;
  }

  #globoevent-wrapper .ge-checkbox-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  #globoevent-wrapper .ge-checkbox {
    white-space: normal !important;
    align-items: flex-start !important;
  }

  #globoevent-wrapper #ge-results {
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 !important;
  }

  #globoevent-wrapper .ge-results-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  #globoevent-wrapper .ge-results-tab {
    width: 100% !important;
    min-height: 44px !important;
  }

  #globoevent-wrapper .ge-results-grid,
  #globoevent-wrapper .ge-sponsored-grid,
  #globoevent-wrapper .ge-organic-grid,
  #globoevent-wrapper #ge-event-results .ge-results-grid,
  #globoevent-wrapper #ge-activity-results .ge-results-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 16px !important;
  }

  #globoevent-wrapper .ge-event-card,
  #globoevent-wrapper .ge-activity-card {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }

  #globoevent-wrapper .ge-event-card:hover,
  #globoevent-wrapper .ge-activity-card:hover {
    transform: none !important;
  }

  #globoevent-wrapper .ge-event-media,
  #globoevent-wrapper .ge-event-image {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9;
  }

  #globoevent-wrapper .ge-event-image img,
  #globoevent-wrapper .ge-event-media img,
  #globoevent-wrapper img.ge-event-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    object-fit: cover !important;
  }

  #globoevent-wrapper .ge-event-body {
    padding: 12px !important;
    min-height: 0 !important;
  }

  #globoevent-wrapper .ge-event-title {
    font-size: 16px !important;
    line-height: 1.3 !important;
  }

  #globoevent-wrapper .ge-event-description,
  #globoevent-wrapper .ge-event-meta {
    font-size: 13px !important;
  }

  #globoevent-wrapper .ge-event-footer,
  #globoevent-wrapper .ge-event-actions,
  #globoevent-wrapper .ge-pagination-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }

  #globoevent-wrapper .ge-event-btn,
  #globoevent-wrapper .ge-load-more-btn,
  #globoevent-wrapper .ge-back-to-search-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    text-align: center !important;
  }

  #globoevent-wrapper .ge-modal-content,
  #globoevent-wrapper .flatpickr-calendar,
  #globoevent-wrapper .litepicker {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

@media (max-width: 380px) {
  #globoevent-wrapper {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  #globoevent-wrapper .ge-filter-row,
  #globoevent-wrapper .ge-results-tabs {
    grid-template-columns: 1fr !important;
  }
}
.ge-results-tab {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0;
  text-transform: none;
  font-size: clamp(11px, 3.15vw, 13px);
}
#globoevent-wrapper input[hidden],
#globoevent-wrapper [hidden],
#globoevent-wrapper #ge-date-input {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
