/* Licyto24 – Hero Slider (lightweight, scroll-snap) */
.hero-slider { position: relative; overflow: hidden; }
.hero-slider__viewport { position: relative; }
.hero-slider__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.hero-slider__track::-webkit-scrollbar { display: none; }

.hero-slide {
  position: relative;
  min-width: 100%;
  scroll-snap-align: start;
  height: 50vh;
  aspect-ratio: auto;
  display: grid;
}
.hero-slide__media { position: relative; inset: 0; overflow: hidden; }
.hero-slide__img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.hero-slide__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,var(--overlay, .4));
}

.hero-slide__content {
  position: absolute; inset: 0;
  display: grid; place-content: center;
  padding: clamp(16px, 5vw, 64px);
  text-align: left;
  color: #fff;
}
.hero-slide.is-center .hero-slide__content { text-align: center; }
.hero-slide.is-right  .hero-slide__content { text-align: right; }

.hero-slide__subtitle { margin: 0 0 .25em; font-weight: 300; opacity: .9; text-transform: uppercase; }
.hero-slide__title    { margin: 0 0 .4em; font-size: clamp(28px, 5vw, 56px); line-height: 1.1; }
.hero-slide__text     { max-width: 68ch; opacity: .95; }
.hero-slide__actions  { margin-top: 1rem; }
.btn.btn--primary {
  display: inline-block; padding: .75em 1.25em; border-radius: .5rem;
  background: #09815b; color: #fff; text-decoration: none; font-weight: 600;
}

.hero-slider__prev, .hero-slider__next {
  position: absolute; top: 50%; transform: translateY(-50%);
  border: 0; background: rgba(0,0,0,.35); color: #fff; width: 40px; height: 40px;
  border-radius: 999px; cursor: pointer;
}
.hero-slider__prev { left: .5rem; }
.hero-slider__next { right: .5rem; }

.hero-slider__dots {
  position: absolute; left: 50%; transform: translateX(-50%);
  bottom: .75rem; display: flex; gap: .5rem;
}
.hero-slider__dots button {
  width: 8px; height: 8px; border-radius: 999px; border: 0;
  background: rgba(255,255,255,.5); cursor: pointer;
}
.hero-slider__dots button.is-active { background: #fff; }

@media (max-width: 768px) {
  .hero-slide { height: 300px; aspect-ratio: auto; }
}

.hero-slider__prev, .hero-slider__next { z-index: 10; }
.hero-slider__dots { z-index: 10; }

