/* Animacje slidera na stronie głównej: płynne wejście slajdu, powolny najazd tła, kaskada tekstu */
@media (prefers-reduced-motion: no-preference) {
  .home-hero.is-homepage .home-hero__slide.is-active {
    animation: hh-slide-in .7s ease both;
  }
  .home-hero.is-homepage .home-hero__slide.is-active .home-hero__media {
    animation: hh-kenburns 9s ease-out both;
    transform-origin: 60% 50%;
  }
  .home-hero.is-homepage .home-hero__slide.is-active .hero-slide__title,
  .home-hero.is-homepage .home-hero__slide.is-active .hero-slide__lead,
  .home-hero.is-homepage .home-hero__slide.is-active .hero-slide__actions {
    animation: hh-rise .8s cubic-bezier(.2, .7, .2, 1) both;
  }
  .home-hero.is-homepage .home-hero__slide.is-active .hero-slide__title { animation-delay: .15s; }
  .home-hero.is-homepage .home-hero__slide.is-active .hero-slide__lead { animation-delay: .32s; }
  .home-hero.is-homepage .home-hero__slide.is-active .hero-slide__actions { animation-delay: .48s; }

  .home-hero.is-homepage .home-hero__controls .owl-prev,
  .home-hero.is-homepage .home-hero__controls .owl-next {
    transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  }
  .home-hero.is-homepage .home-hero__controls .owl-prev:hover,
  .home-hero.is-homepage .home-hero__controls .owl-next:hover { transform: scale(1.08); }

  @keyframes hh-slide-in { from { opacity: 0; } to { opacity: 1; } }
  @keyframes hh-kenburns { from { transform: scale(1.0); } to { transform: scale(1.07); } }
  @keyframes hh-rise { from { opacity: 0; transform: translate3d(0, 26px, 0); } to { opacity: 1; transform: none; } }
}

/* ===== Wspólna szerokość całej strony: nagłówek, hero i wszystkie sekcje = ta sama szeroka powłoka ===== */
/* jedna zmienna odstępu od krawędzi ekranu: desktop 30px, tablet 20px, telefon 16px */
:root { --edge: 30px; }
@media (max-width: 1279.98px) { :root { --edge: 20px; } }
@media (max-width: 767.98px) { :root { --edge: 16px; } }

#header, #hero, .header, .topbar, .site-footer { --site-gutter: var(--edge); }
:root { --page-shell: min(calc(100% - 2 * var(--edge)), 118.75rem); }

.pageWrapper .container,
.pageWrapper .container-xl,
.pageWrapper .container-xxl,
.pageWrapper .container-width-xl,
.pageWrapper .container-width-xxl,
footer .container,
footer .container-xl {
  width: var(--page-shell);
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
  box-sizing: border-box;
}


.home-hero.is-homepage .home-hero__layout .slider-description-container,
.home-hero.is-homepage .slider-description-container.container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* ===== Sterowanie sliderem: strzałki po bokach (środek wysokości), licznik + postęp na dole pośrodku ===== */
.home-hero.is-homepage .home-hero__controls-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
  pointer-events: none;
  z-index: 11;
}
.home-hero.is-homepage .home-hero__controls-wrap .home-hero__controls { display: contents; }

.home-hero.is-homepage .home-hero__controls .owl-prev,
.home-hero.is-homepage .home-hero__controls .owl-next {
  position: absolute;
  top: 50%;
  width: 48px;
  height: 48px;
  min-width: 0;
  margin: -24px 0 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  color: #17311e;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .28), 0 1px 3px rgba(0, 0, 0, .2);
  pointer-events: auto;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.home-hero.is-homepage .home-hero__controls .owl-prev { left: var(--edge); right: auto; }
.home-hero.is-homepage .home-hero__controls .owl-next { right: var(--edge); left: auto; background: #63a322; color: #fff; }

.home-hero.is-homepage .home-hero__controls .owl-prev:hover,
.home-hero.is-homepage .home-hero__controls .owl-prev:focus-visible { background: #fff; color: #0b391e; transform: scale(1.08); box-shadow: 0 12px 28px rgba(0, 0, 0, .34); }
.home-hero.is-homepage .home-hero__controls .owl-next:hover,
.home-hero.is-homepage .home-hero__controls .owl-next:focus-visible { background: #76b72e; color: #fff; transform: scale(1.08); box-shadow: 0 12px 28px rgba(0, 0, 0, .34); }
.home-hero.is-homepage .home-hero__controls .owl-prev:focus-visible,
.home-hero.is-homepage .home-hero__controls .owl-next:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.home-hero.is-homepage .home-hero__controls .owl-prev:active,
.home-hero.is-homepage .home-hero__controls .owl-next:active { transform: scale(.96); }

.home-hero.is-homepage .home-hero__counter {
  position: absolute;
  left: 50%;
  bottom: 1.5rem;
  transform: translateX(-50%);
  margin: 0;
  pointer-events: none;
  overflow: hidden;
}
.home-hero.is-homepage .home-hero__counter::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  height: 3px;
  width: calc(var(--hero-progress, .25) * 100%);
  background: #a1c201;
  border-radius: 3px;
  transition: width .5s ease;
}

@media (max-width: 767.98px) {
  .home-hero.is-homepage .home-hero__controls .owl-prev,
  .home-hero.is-homepage .home-hero__controls .owl-next { width: 40px; height: 40px; margin-top: -20px; }
  

}


/* ===== Wskaźnik postępu: 4 kreski na dole, pośrodku; aktywna zielona z wypełnieniem (napędzanym przez jeden zegar w JS) ===== */
.home-hero.is-homepage .home-hero__counter { display: none; }

.home-hero__progress {
  position: absolute;
  left: 50%;
  bottom: var(--edge);
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: auto;
  z-index: 12;
}
.home-hero__bar {
  position: relative;
  flex: none;
  width: 36px;
  height: 4px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .38);
  overflow: hidden;
  cursor: pointer;
  transition: width .35s cubic-bezier(.22, 1, .36, 1), background .2s ease;
}
/* większy obszar dotyku bez zmiany wyglądu */
.home-hero__bar::before { content: ''; position: absolute; inset: -12px -4px; }
.home-hero__bar:hover { background: rgba(255, 255, 255, .6); }
.home-hero__bar:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.home-hero__bar.is-active { width: 56px; }
.home-hero__bar-fill {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: #76b72e;
  transform: scaleX(0);
  transform-origin: left center;
}
@media (max-width: 767.98px) {
  .home-hero__bar { width: 26px; }
  .home-hero__bar.is-active { width: 42px; }
}
@media (prefers-reduced-motion: reduce) { .home-hero__bar { transition: none; } }

/* odstęp tekstu/CTA od dołu slidera = odstęp od boków (--edge) */
.home-hero.is-homepage .slider-actions.home-hero__content-wrap {
  box-sizing: border-box;
  align-items: flex-end;
  padding-block: 0 calc(var(--edge) + 44px); /* tekst slajdu wyżej niż wskaźnik postępu */
  inset: 0;
}
.home-hero.is-homepage .home-hero__content,
.home-hero.is-homepage .home-hero__layout { margin-bottom: 0; padding-bottom: 0; min-height: 0; }

/* ===== Telefon: hero kończy się nad stałym dolnym paskiem (Dojazd / Kup bilet), strzałki nad tekstem ===== */
@media (max-width: 767.98px) {
  #hero.home-hero.is-homepage { --hero-height: max(28rem, calc(100svh - var(--site-header-h, 0px) - var(--mobile-bar-h, 64px))); }
  .home-hero.is-homepage .home-hero__controls .owl-prev,
  .home-hero.is-homepage .home-hero__controls .owl-next { top: 26%; }
  /* miejsce na wskaźnik postępu pod przyciskiem CTA */
  .home-hero.is-homepage .slider-actions.home-hero__content-wrap { padding-block: 0 calc(var(--edge) + 40px); }
}

/* tablet + telefon: stały dolny pasek ma 64 px – hero kończy się nad nim */
@media (max-width: 1279.98px) {
  #hero.home-hero.is-homepage { --hero-height: max(28rem, calc(100svh - var(--site-header-h, 0px) - var(--mobile-bar-h, 64px))); }
}

/* płynne zejście poprzedniego slajdu (crossfade z nowym) */
.home-hero.is-homepage .home-hero__slide.is-leaving { pointer-events: none; z-index: 0; animation: hh-slide-out .38s ease both; }
.home-hero.is-homepage .home-hero__slide.is-leaving .hero-slide__content { opacity: 0; transform: translate3d(0, -14px, 0); transition: opacity .3s ease, transform .38s ease; }
@keyframes hh-slide-out { from { opacity: 1; } to { opacity: 0; } }
