/**
 * Events Section Styles
 * BEM block: .events-section
 * Dual-class strategy: new BEM names alongside legacy names
 */

/* ========================================
   EVENTS WRAPPER
   ======================================== */

.events {
  width: 100%;
  height: 100%;
  padding-top: 80px;
  padding-bottom: 143px;
}

/* ========================================
   EVENTS HEADER
   ======================================== */

.events__header {
  display: flex;
  justify-content: space-between;
  padding: 0 72px;
}

.events__header-left {
  display: flex;
  gap: 29px;
}

.events__header-right {
  display: flex;
  gap: 20px;
}

.events__marker {
  width: 29px;
  height: 53px;
}

.events__title {
  max-width: 539px;
  font-family: var(--subfont);
  font-weight: 700;
  font-size: 64px;
  line-height: 115%;
  text-transform: uppercase;
  color: #ffffff;
}

/* ========================================
   SLIDER ARROWS
   ======================================== */

.slider-arrow {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background-color: #2cff80;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  cursor: pointer;
  opacity: 1;
  border: none;
  transition: opacity 120ms ease;
}

.slider-arrow--disabled {
  opacity: 18%;
  pointer-events: none;
  cursor: default;
}

.slider-arrow__icon {
  width: 34px;
  height: 34px;
}

/* ========================================
   EVENTS LIST
   ======================================== */

.events__list {
  width: 100%;
  margin-top: 44px;
  gap: 32px;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.events__list .event:only-child {
  flex: 0 0 100%;
  width: 100%;
}

.events__list::-webkit-scrollbar {
  display: none;
}

/* ========================================
   EVENT CARD
   ======================================== */

.event {
  width: 100%;
  height: fit-content;
  position: relative;
  flex: 0 0 54%;
  scroll-snap-align: start;
  cursor: pointer;
}

.event:first-child {
  padding-left: 72px;
}

.event:last-child {
  padding-right: 72px;
}

.event__border {
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  transition: border-radius 200ms ease-out 200ms;
}

.event__mask {
  background:
    linear-gradient(0deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.03)),
    linear-gradient(
      67.2deg,
      rgba(0, 0, 0, 0) 37.6%,
      rgba(44, 255, 206, 0.26) 90.29%,
      rgba(44, 255, 128, 0.26) 116.11%
    ),
    url(../../img/guardians__bg2.png) center / cover no-repeat;
  box-shadow: 0 4px 6px 0 #0000006e;
  backdrop-filter: blur(87px);
  -webkit-backdrop-filter: blur(87px);
  border-radius: 16px;
  transition: border-radius 200ms ease-out 200ms;
}

.event__logo-wrap {
  padding: 9px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(255, 205, 41, 1);
  box-shadow: 0 14px 38px 0 rgba(38, 28, 23, 0.05);
  border-top-right-radius: 16px;
  border-bottom-left-radius: 6px;
  position: absolute;
  top: 0;
  right: 0;
  user-select: none;
}

.event__body {
  padding: 42px;
}

.event__logo {
  width: 48px;
  height: 48px;
}

.event__cup {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(21px);
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
}

.event__cup-icon {
  width: 34px;
  height: 34px;
}

.event__time {
  font-family: var(--subfont);
  font-weight: 600;
  font-size: 26px;
  line-height: 116%;
  text-transform: uppercase;
  color: #2cff80;
  margin-top: 114px;
  margin-bottom: 17px;
}

.event__name {
  font-family: var(--subfont);
  font-weight: 600;
  font-size: 42px;
  line-height: 100%;
  text-transform: uppercase;
  max-width: 517px;
  color: #ffffff;
  margin-bottom: 48px;
}

/* ========================================
   EVENT STATS
   ======================================== */

.event__stats {
  width: fit-content;
  display: flex;
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 16px 32px;
  border-radius: 64px;
  gap: 32px;
}

.event__stats-list {
  display: flex;
  gap: 48px;
  align-items: center;
}

.event__stat {
  display: flex;
  flex-direction: column;
}

.event__stat-value {
  display: flex;
  gap: 2.68px;
}

.event__stat-icon {
  width: 24px;
  height: 24px;
  user-select: none;
}

.event__stat-number {
  font-family: var(--subfont);
  font-weight: 600;
  font-size: 20px;
  line-height: 150%;
  color: #ffffff;
}

.event__stat-label {
  font-family: var(--userfont);
  font-weight: 500;
  font-size: 16px;
  line-height: 125%;
  color: #ffffff;
  opacity: 65%;
}

/* ========================================
   TOOLTIP
   ======================================== */

.tooltip__trigger {
  width: 24px;
  height: 24px;
  background: url(../../img/question-mark-white.svg) center / cover no-repeat;
}

.tooltip {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.tooltip__content {
  visibility: hidden;
  position: absolute;
  bottom: 100%;
  left: 100%;
  transform: translateX(-100%) translateX(-12px);
  width: 371px;
  padding: 3px 4px;
  border-top-left-radius: 3px;
  border-bottom-right-radius: 3px;
  background-color: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(15px);
  border: 0.5px solid rgba(255, 255, 255, 0.1);
}

.tooltip__line {
  font-family: var(--userfont);
  font-weight: 500;
  font-size: 16px;
  line-height: 125%;
  color: #ffffff;
}

.tooltip__line--highlight {
  color: #2cff80;
}

.tooltip:hover .tooltip__content,
.tooltip.active .tooltip__content {
  visibility: visible;
  opacity: 1;
}

.tooltip:hover .tooltip__trigger,
.tooltip.active .tooltip__trigger {
  background: url(../../img/question-mark.svg) center / cover no-repeat;
}

/* Hide mobile tooltip text by default */
.tooltip__fee--mobile {
  display: none;
}

/* ========================================
   EVENT REGISTER CTA
   ======================================== */

.event__register {
  width: 100%;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 26px;
  padding: 42px;
  cursor: pointer;
  position: relative;
  height: 80px;
  opacity: 0;
  transition: opacity 300ms ease-out;
}

.event__register-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 1px;
  bottom: 0;
  background-color: #2cff80;
  height: 0;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  transition: height 300ms ease-out;
}

.event:hover .event__register-bg {
  height: 80px;
}

.event:hover .event__register {
  opacity: 1;
}

.event:hover .event__border,
.event:hover .event__mask {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  transition: none;
}

.event__register-icon {
  width: 34px;
  height: 34px;
  user-select: none;
  z-index: 1;
}

.event__register-label {
  font-family: var(--subfont);
  font-weight: 600;
  font-size: 26px;
  text-transform: uppercase;
  color: #000000;
  line-height: 116%;
  z-index: 1;
}

/* ========================================
   MOBILE  (max-width: 768px)
   ======================================== */


@media (min-width: 768px) and (max-width: 1194px) {
  .events__header-right {
    display: none;
  }
}


@media (max-width: 768px) {
  .events {
    padding-top: 40px;
    padding-bottom: 46.31px;
  }

  .events__header {
    padding-right: 0;
    padding-left: 32px;
  }

  .events__header-right {
    display: none;
  }

  .events__marker {
    width: 20px;
    height: 44px;
  }

  .events__title {
    max-width: 282px;
    font-size: 24px;
  }

  .events__list {
    margin-top: 32px;
    gap: 12px;
  }

  .event:first-child {
    padding-left: 32px;
  }

  .event:last-child {
    padding-right: 32px;
  }

  .event {
    flex: 0 0 40%;
  }

  .event__body {
    padding: 16px 16px 24px 16px;
  }

  .event__border {
    border-radius: 8px;
  }

  .event__mask {
    border-radius: 8px;
    box-shadow: 0px 1.34px 2.01px 0px #0000006e;
  }

  .event__logo-wrap {
    padding: 4.36px;
    box-shadow: 0px 6.91px 18.51px 0px #261c170d;
    border-top-right-radius: 8px;
    border-bottom-left-radius: 5.82px;
  }

  .event__logo {
    width: 23.27px;
    height: 23.27px;
  }

  .event__cup {
    width: 32px;
    height: 32px;
    backdrop-filter: blur(8px);
  }

  .event__cup-icon {
    width: 13px;
    height: 13px;
  }

  .event__time {
    font-size: 16px;
    margin-top: 24px;
    margin-bottom: 5.69px;
  }

  .event__name {
    font-size: 18px;
    line-height: 125%;
    max-width: 266px;
    margin-bottom: 16px;
  }

  .event__stats {
    gap: 0 !important;
    border: 0.33px solid rgba(255, 255, 255, 0.15);
    padding: 10px 10px 16px 16px;
    border-radius: 12px;
    width: 279px;
  }

  .event__stats-list {
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 4px;
  }

  .event__stat-number {
    font-size: 12px;
    line-height: 116%;
  }

  .event__stat-icon {
    width: 12px;
    height: 12px;
  }

  .event__stat-label {
    font-size: 12px;
    line-height: 125%;
  }

  .tooltip__fee--desktop {
    display: none;
  }

  .tooltip__fee--mobile {
    display: block;
  }

  .tooltip__content {
    width: 227px;
    padding: 3px 4px;
    backdrop-filter: blur(50px);
    border: 0.5px solid rgba(255, 255, 255, 0.1);
  }

  .event__register-bg {
    height: 48px;
  }

  .event__register {
    opacity: 1;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    gap: 0;
    height: 48px;
    justify-content: space-between;
    padding: 0 16px;
  }

  .event__register-label {
    font-size: 16px;
    line-height: 115%;
  }

  .event__register-icon {
    width: 24px;
    height: 24px;
  }

  .event__border,
  .event__mask {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
}
