.events-page {
  background: #06070b;
  min-height: calc(100dvh - 84px);
}

.events-hero {
  padding: 2.4rem 0 1.4rem;
  border-bottom: 1px solid #24283a;
  background:
    radial-gradient(circle at 10% 10%, rgba(255, 122, 0, 0.16), rgba(0, 0, 0, 0) 32%),
    radial-gradient(circle at 90% 15%, rgba(255, 179, 107, 0.14), rgba(0, 0, 0, 0) 28%),
    linear-gradient(145deg, #121520, #090b12 62%);
}

.events-hero__container,
.events-controls__container,
.events-results__container {
  width: min(1280px, 100% - 1.5rem);
  margin-inline: auto;
}

.events-hero__kicker {
  margin: 0;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.8rem;
}

.events-hero__title {
  margin: 0.45rem 0 0;
  font-family: var(--title-font);
  font-size: clamp(2.4rem, 7vw, 5rem);
  line-height: 0.92;
  letter-spacing: 0.03em;
}

.events-hero__text {
  margin: 0.9rem 0 0;
  color: #ccd0dc;
  max-width: 72ch;
}

.events-hero__scope {
  margin: 0.95rem 0 0;
  color: #ffb36b;
  font-size: 0.95rem;
}

.events-controls {
  padding: 0.95rem 0;
  border-bottom: 1px solid #24283a;
  background: #0b0d13;
}

.events-controls__top {
  display: grid;
  gap: 0.7rem;
}

.events-controls__search-wrap {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 2.85rem;
  border: 1px solid #31374a;
  border-radius: 10px;
  padding: 0 0.85rem;
  background: #101520;
}

.events-controls__search-wrap i {
  color: #9da2b2;
}

.events-controls__search {
  width: 100%;
  border: 0;
  outline: 0;
  color: #f1f4fb;
  background: transparent;
}

.events-controls__grid {
  display: grid;
  gap: 0.6rem;
}

.events-controls__field {
  display: grid;
  gap: 0.3rem;
}

.events-controls__field label {
  color: #adb3c4;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.events-controls__field select,
.events-controls__field input {
  min-height: 2.65rem;
  border-radius: 10px;
  border: 1px solid #31374a;
  background: #101520;
  color: #f1f4fb;
  padding: 0 0.72rem;
  outline: none;
}

.events-controls__field select:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.events-results {
  padding: 1rem 0 3rem;
}

.events-results__meta {
  margin: 0;
  color: #c7cbda;
  font-weight: 700;
}

.events-results__list {
  margin-top: 0.85rem;
  display: grid;
  gap: 0.9rem;
}

.events-card {
  border: 1px solid #2a3043;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(145deg, #131722, #0d1119);
}

.events-card__media {
  background: #10131b;
  border-bottom: 1px solid #242a3d;
}

.events-card__media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.events-card__content {
  padding: 0.95rem;
}

.events-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
}

.events-badge {
  min-height: 1.75rem;
  border-radius: 999px;
  padding: 0 0.65rem;
  display: inline-flex;
  align-items: center;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 1px solid #36405a;
  color: #d4d8e5;
}

.events-badge--type {
  border-color: #ff8c2f;
  color: #ffd2a4;
}

.events-badge--discipline {
  border-color: #3f4f7a;
}

.events-card__title {
  margin: 0.65rem 0 0;
  font-family: var(--title-font);
  font-size: 2rem;
  letter-spacing: 0.03em;
  line-height: 0.95;
}

.events-card__date,
.events-card__location,
.events-card__organizer {
  margin: 0.38rem 0 0;
  color: #d8deef;
}

.events-card__description {
  margin: 0.65rem 0 0;
  color: #bcc2d2;
}

.events-card__tags {
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.events-card__tags li {
  min-height: 1.7rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  padding: 0 0.62rem;
  font-size: 0.73rem;
  background: rgba(255, 122, 0, 0.1);
  color: #ffb36b;
  border: 1px solid rgba(255, 122, 0, 0.32);
}

.events-card__cta {
  margin-top: 0.9rem;
  display: inline-flex;
  min-height: 2.25rem;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  padding: 0 0.9rem;
  background: linear-gradient(90deg, var(--accent), var(--accent-soft));
  color: #08090f;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.72rem;
  font-weight: 700;
}

.events-card__cta--disabled {
  background: #202738;
  color: #9098ad;
}

.events-loading,
.events-empty,
.events-error {
  margin: 1rem 0 0;
  color: #c1c7d8;
}

.events-error {
  color: #ff8c8c;
}

@media (min-width: 780px) {
  .events-controls__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1040px) {
  .events-controls__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .events-results__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
