/* Animacja tła w hero */
.hero-bg {
  animation: zoomPan 20s ease-in-out infinite alternate;
}

@keyframes zoomPan {
  from {
    transform: scale(1) translateY(0px);
  }
  to {
    transform: scale(1.1) translateY(-20px);
  }
}

/* Karty usług */
.service-card {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.service-card:hover {
  transform: translateY(-8px) scale(1.05);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}
button, .btn {
  opacity: 1 !important;
  pointer-events: auto !important;
}
/* Przyciski – czerwone */
.gallery-btn {
  display: inline-block;
  background: #dc2626;
  color: #fff;
  padding: 0.6rem 1.5rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.gallery-btn:hover {
  background: #b91c1c;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}
.gallery-btn::after {
  content: "»";
  position: absolute;
  right: 1rem;
  opacity: 0;
  transition: all 0.3s ease;
}
.gallery-btn:hover::after {
  opacity: 1;
  right: 0.8rem;
}

/* Przyciski – białe (dla czerwonego kafelka) */
.gallery-btn-white {
  display: inline-block;
  background: #fff;
  color: #dc2626;
  padding: 0.6rem 1.5rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.gallery-btn-white:hover {
  background: #f5f5f5;
  color: #b91c1c;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(255, 255, 255, 0.4);
}
.gallery-btn-white::after {
  content: "»";
  position: absolute;
  right: 1rem;
  opacity: 0;
  transition: all 0.3s ease;
}
.gallery-btn-white:hover::after {
  opacity: 1;
  right: 0.8rem;
}

/* FAQ akordeon */
.faq-question {
  cursor: pointer;
}
.faq-answer {
  display: none;
}
.faq-item.active .faq-answer {
  display: block;
}
.faq-item.active .faq-icon {
  transform: rotate(45deg);
  transition: transform 0.3s ease;
}

/* Slider opinii */
.testimonial-slider {
  display: flex;
  overflow: hidden;
  position: relative;
}
.testimonial {
  min-width: 100%;
  transition: transform 0.6s ease-in-out;
}

/* Efekt parallax CTA */
.parallax-bg {
  transform: scale(1.1);
  animation: parallaxZoom 30s ease-in-out infinite alternate;
}
@keyframes parallaxZoom {
  from {
    transform: scale(1.1) translateY(0px);
  }
  to {
    transform: scale(1.2) translateY(-20px);
  }
}

/* Stopka – cienka linia u góry */
footer {
  border-top: 2px solid rgba(255, 255, 255, 0.1);
}
/* Animacja linii falistej */
#how-it-works .dashed-line {
  stroke-dasharray: 6;
  animation: dashmove 12s linear infinite;
}

@keyframes dashmove {
  to {
    stroke-dashoffset: -1000;
  }
}
.section-title {
  position: relative;
  display: table;        /* szerokość dopasowana do tekstu */
  margin: -2rem auto;     /* równy margines: góra/dół 2rem, lewo/prawo auto */
  font-weight: 700;
  text-align: center;
}

.section-title::after {
  content: "";
  position: absolute;
  bottom: -8px;          /* odstęp od tekstu */
  left: 0;
  right: 0;
  margin: auto;          /* wyśrodkowanie linii */
  width: 100%;           /* szerokość = tekst */
  height: 6px;
  background-color: rgb(220 38 38); /* czerwony akcent */
  border-radius: 2px;
  z-index: -1;
}
.section-title-dwa {
  position: relative;
  display: table;        /* szerokość dopasowana do tekstu */
  margin: -2rem auto;     /* równy margines: góra/dół 2rem, lewo/prawo auto */
  font-weight: 700;
  text-align: center;
}

.section-title-dwa::after {
  content: "";
  position: absolute;
  bottom: -8px;          /* odstęp od tekstu */
  left: 0;
  right: 0;
  margin: auto;          /* wyśrodkowanie linii */
  width: 100%;           /* szerokość = tekst */
  height: 6px;
  background-color: rgb(255, 255, 255); /* czerwony akcent */
  border-radius: 2px;
  z-index: -1;
}
/** Rotating Text Barrel **/

#barrel {
  background: transparent; /* zamiast czarnego tła */
  height: auto;
  width: 100%;
  position: relative;
  text-align: center;
  margin-bottom: 2rem;
}

#barrelBox {
  display: inline-block;
}

.flipSign h3 {
  font-size: 2rem; /* większa czcionka dla nagłówka */
  font-weight: 800;
  color: #ffffff;
  margin: 0 0.5rem 0 0;
}

.barrelText {
  display: inline-block;
  overflow: hidden;
  height: 4.5rem; /* desktop */
  vertical-align: bottom;
}

.barrelText h1 {
  display: inline-block;
  color: #ffffff;
  font-size: 4rem;        /* desktop */
  font-weight: 800;
  line-height: 4.5rem;    /* desktop */
  position: relative;
  white-space: nowrap;
  animation: move 16s infinite;
}

/* Animacja dla dużej czcionki */
@keyframes move {
  0%   { top: 0; }
  20%  { top: -4.5rem; }
  40%  { top: -9rem; }
  60%  { top: -13.5rem; }
  80%  { top: -18rem; }
  100% { top: -22.5rem; }
}

/* 📱 MOBILE (ekrany < 768px) */
@media (max-width: 768px) {
  .barrelText {
    height: 3.5rem;         /* wyższe okienko na tekst */
    padding-top: 0.4rem;    /* odstęp od góry */
    padding-bottom: 0.4rem; /* odstęp od dołu */
  }

  .barrelText h1 {
    font-size: 2.7rem;     
    line-height: 3.5rem;   /* dopasowana linia */
  }

  @keyframes move {
    0%   { top: 0; }
    20%  { top: -3.5rem; }
    40%  { top: -7rem; }
    60%  { top: -10.5rem; }
    80%  { top: -14rem; }
    100% { top: -17.5rem; }
  }
}
