/* ========================================
   Event Slider
   ======================================== */

.section-event-slider {
  background-color: var(--color-bg-dark);
  padding-top: var(--section-pt);
  text-align: center;
  position: relative;
}
.events-content {
padding-top: 60px;
}

/* Crossi nei 4 vertici via content: url(svg) — SVG reale, niente mask/gradient. 2 pseudo sulla section (top) + 2 pseudo su .event-slider (bottom). Il child .event-slider è ancorato alla section via position: relative della section; i crossi bottom sono absolute rispetto alla section. */
.section-event-slider::before,
.section-event-slider::after {
  position: absolute;
  top: -11.5px;
  pointer-events: none;
  z-index: 2;
}




/* Crossi bottom — su .event-slider, posizionati absolute verso il bordo inferiore della section (che è l'ancestor position: relative). */
.event-slider {
  position: static;
}
.section-event-slider .event-slider::before,
.section-event-slider .event-slider::after {
  position: absolute;
  bottom: -17.5px;
  pointer-events: none;
  z-index: 2;
}


.event-label {
  display: block;
  font-family: var(--font-primary);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-subtitle);
  line-height: var(--lh-body);
  color: var(--color-gray-text);
  margin-bottom: 60px;
}

/* Slider — fade + slide-from-right transition via CSS grid stacking */
.event-slider {
  display: grid;
  overflow: hidden;
  isolation: isolate;
}

.event-slide {
  grid-area: 1 / 1;
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  pointer-events: none;
}

.event-slide.is-active {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.event-text {
  font-family: var(--font-primary);
  font-weight: var(--fw-light);
  font-size: var(--fs-body-large);
  line-height: var(--lh-body);
  color: var(--color-white);
  max-width: 100%;
  margin: 0 auto;
}

/* Dots */
.event-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 23px;
  margin-top: 75px;
}

.event-dot {
  display: block;
  width: 15px;
  height: 15px;
  background: transparent;
  border: 2px solid var(--color-gray-dark);
  cursor: pointer;
  padding: 0;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.event-dot.is-active {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}

.event-dot:hover {
  border-color: var(--color-gray-text);
}

/* ----------------------------------------
   Responsive
   ---------------------------------------- */

@media (max-width: 1024px) {
  .event-label {
    margin-bottom: 60px;
  }

  .event-text {
    font-size: 26px;
    line-height: 38px;
  }

  .event-dots {
    margin-top: 50px;
  }
  .section-event-slider .event-slider::before {
    content: var(--cross-dark);
    left: calc(var(--container-gutter) - 11.5px);
  }
  .section-event-slider .event-slider::after {
    content: var(--cross-dark);
    right: calc(var(--container-gutter) - 11.5px);
  }
}

@media (max-width: 768px) {
  .events-content.bg-hide-grid::before {
      left: 27px;
      right: 20px;
      width: 80%;
  }
  
  .event-label {
    margin-bottom: 50px;
    font-size: 18px;
  }

  .event-text {
    font-size: 20px;
    line-height: 32px;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  
  .event-dots {
      gap: 14px;
      margin-top: 66px;
  }
  .event-dot {
    width: 10px;
    height: 10px;
  }
}
