/*
 * EVENTS V1 — CANDIDATE
 *
 * Scope:
 * - Events section only
 * - Filters
 * - Poster grid
 * - Internal scrolling
 *
 * Hero and all other sections are locked and untouched.
 */

[data-home-section="events"] {
  --events-inline: clamp(12px, 2.5vw, 42px);
  --events-top-gap: clamp(10px, 1.7vh, 20px);
  --events-bottom-gap: clamp(10px, 1.7vh, 18px);
  --events-filter-gap: clamp(6px, .8vw, 10px);
  --events-card-gap: clamp(8px, 1vw, 14px);

  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding:
    var(--events-top-gap)
    var(--events-inline)
    var(--events-bottom-gap);
}

[data-home-section="events"] > .container,
[data-home-section="events"] .home-section-shell,
[data-home-section="events"] .events-shell {
  width: min(100%, 1540px);
  height: 100%;
  min-height: 0;
  margin-inline: auto;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(10px, 1.4vh, 18px);
}

/* Filters */
[data-home-section="events"] .home-filter-bar,
[data-home-section="events"] .events-filter-bar,
[data-home-section="events"] .filter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(10px, 2vw, 26px);
  min-width: 0;
}

[data-home-section="events"] .filter-group,
[data-home-section="events"] .filters-left,
[data-home-section="events"] .filters-right {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--events-filter-gap);
  min-width: 0;
}

[data-home-section="events"] .filter-chip,
[data-home-section="events"] .filter-button,
[data-home-section="events"] [data-filter] {
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  white-space: nowrap;
  line-height: 1;
}

/* Grid */
[data-home-section="events"] .events-grid,
[data-home-section="events"] .home-events-grid,
[data-home-section="events"] .poster-grid {
  min-height: 0;
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  align-content: start;
  gap: var(--events-card-gap);
  padding: 1px 2px 4px;
}

[data-home-section="events"] .event-card,
[data-home-section="events"] .home-event-card,
[data-home-section="events"] .poster-card {
  min-width: 0;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  border-radius: clamp(8px, .8vw, 14px);
  cursor: pointer;
}

[data-home-section="events"] .event-card img,
[data-home-section="events"] .home-event-card img,
[data-home-section="events"] .poster-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Laptop */
@media (min-width: 1024px) and (max-width: 1365px) {
  [data-home-section="events"] .events-grid,
  [data-home-section="events"] .home-events-grid,
  [data-home-section="events"] .poster-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  [data-home-section="events"] .events-grid,
  [data-home-section="events"] .home-events-grid,
  [data-home-section="events"] .poster-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 767px) {
  [data-home-section="events"] {
    --events-inline: 8px;
    --events-top-gap: 8px;
    --events-card-gap: 7px;
  }

  [data-home-section="events"] .home-filter-bar,
  [data-home-section="events"] .events-filter-bar,
  [data-home-section="events"] .filter-row {
    align-items: flex-start;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  [data-home-section="events"] .filter-group,
  [data-home-section="events"] .filters-left,
  [data-home-section="events"] .filters-right {
    flex-wrap: nowrap;
  }

  [data-home-section="events"] .filter-chip,
  [data-home-section="events"] .filter-button,
  [data-home-section="events"] [data-filter] {
    min-height: 31px;
    padding: 6px 10px;
    font-size: .72rem;
  }

  [data-home-section="events"] .events-grid,
  [data-home-section="events"] .home-events-grid,
  [data-home-section="events"] .poster-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Very small phones */
@media (max-width: 380px) {
  [data-home-section="events"] .events-grid,
  [data-home-section="events"] .home-events-grid,
  [data-home-section="events"] .poster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
