/* Events page specific styles */

.page-events {
  background: #000;
  color: #fff;
}

.events-hero {
  position: relative;
  min-height: 72vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.events-hero .hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.events-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.events-hero .hero__content {
  position: relative;
  z-index: 2;
}

.events-hero__title {
  font-family: "Tektur", sans-serif;
  font-size: clamp(3rem, 8vw, 6rem);
  letter-spacing: 0.08em;
  color: #fff;
}

.section-dark {
  background: #000;
  color: #fff;
}

.section-title {
  font-family: "Tektur", sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  letter-spacing: 0.04em;
  margin-bottom: 1.5rem;
  color: #fff;
}

.event-card {
  background: #111;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0;
  overflow: hidden;
}

.event-card .card-img-top {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  background: #0b0b0b;
}

.event-card .card-body {
  background: #111;
  color: #fff;
  padding: 1rem;
}

.event-card .card-title {
  color: #fff;
  font-size: 1.1rem;
  line-height: 1.3;
}

.event-card .card-text {
  color: rgba(255, 255, 255, 0.72) !important;
}

.event-card .btn-danger {
  background: #c1121f;
  border-color: #c1121f;
}

.event-card .btn-danger:hover,
.event-card .btn-danger:focus {
  background: #a40f1a;
  border-color: #a40f1a;
}


.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.in-view {
  opacity: 1;
  transform: translateY(0);
}

.navbar.hidden {
  transform: translateY(-100%);
  transition: transform 0.3s ease;
}

.navbar {
  transition: transform 0.3s ease;
}

/* MOBILE ONLY: horizontal swipe carousels */
@media (max-width: 767.98px) {
  .events-hero {
    min-height: 58vh;
  }

  .signup-banner {
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    max-width: none;
    padding: 1rem 1rem 1rem 1rem;
  }

  .signup-banner__cta {
    flex-shrink: 0;
  }

  #upcoming-events,
  #past-events {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 1rem;
    padding-bottom: 0.5rem;
    margin-left: 0;
    margin-right: 0;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }

  #upcoming-events::-webkit-scrollbar,
  #past-events::-webkit-scrollbar {
    display: none;
  }

  #upcoming-events,
  #past-events {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  #upcoming-events > [class*="col-"],
  #past-events > [class*="col-"] {
    flex: 0 0 85%;
    max-width: 85%;
    padding-left: 0;
    padding-right: 0;
    scroll-snap-align: start;
  }

  #upcoming-events .event-card,
  #past-events .event-card {
    height: 100%;
  }
}