/**
 * Hero — cała sekcja mieści się „above the fold” (100dvh / 100svh) bez wewnętrznego scrollu.
 * Obejmuje typowe 13" (niski viewport) dzięki mniejszym odstępom i clamp czcionek.
 */

#hero.pc-hero-viewport {
  box-sizing: border-box;
  min-height: 100dvh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

#hero.pc-hero-viewport > .pc-hero-viewport__inner {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  /* Header ~3.5–4.5rem: treść startuje poniżej, bez pustego paska przewyższającego ekran */
  padding-top: max(0.4rem, calc(3.25rem + env(safe-area-inset-top, 0px)));
  padding-bottom: clamp(0.4rem, 1.2dvh, 1.25rem);
  width: 100%;
  max-width: 100%;
}

#hero.pc-hero-viewport .pc-hero-headline {
  margin-bottom: 0.75rem;
}

#hero.pc-hero-viewport .pc-hero-headline .pc-hero-line,
#hero.pc-hero-viewport h1 .pc-hero-line {
  display: block;
  font-size: clamp(1.55rem, 4.2vw + 0.4rem, 4.5rem) !important;
  line-height: 1.06;
}

#hero.pc-hero-viewport .pc-hero-sub {
  font-size: 0.95rem !important;
  line-height: 1.45;
}

@media (min-width: 640px) {
  #hero.pc-hero-viewport .pc-hero-sub {
    font-size: 1.05rem !important;
  }
}

@media (min-width: 768px) {
  #hero.pc-hero-viewport .pc-hero-headline {
    margin-bottom: 1.25rem;
  }
  #hero.pc-hero-viewport .pc-hero-line {
    font-size: clamp(1.85rem, 4.8vw + 0.5rem, 5.5rem) !important;
  }
  #hero.pc-hero-viewport .pc-hero-sub {
    font-size: 1.1rem !important;
  }
}

#hero.pc-hero-viewport .pc-hero-bottom {
  margin-top: clamp(0.75rem, 2.5dvh, 1.5rem) !important;
  padding-top: clamp(0.4rem, 1.2dvh, 0.9rem) !important;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
}

#hero.pc-hero-viewport .pc-hero-cta a {
  padding: 0.7rem 1.35rem;
  font-size: 0.8125rem;
}

#hero.pc-hero-viewport .pc-hero-cta a[href^='#'] {
  box-shadow: 0 8px 28px rgba(255, 255, 255, 0.1);
}
#hero.pc-hero-viewport .pc-hero-cta a[href^='kontakt'] {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

/* Krótsze ekrany (MacBook, małe wysokości) — ciaśniej, wciąż czytelnie */
@media (max-height: 820px) {
  #hero.pc-hero-viewport .pc-hero-eyebrow {
    margin-bottom: 0.4rem;
  }
  #hero.pc-hero-viewport .pc-hero-headline {
    margin-bottom: 0.6rem;
  }
  #hero.pc-hero-viewport .pc-hero-line {
    font-size: clamp(1.35rem, 3.6vw + 0.3rem, 3.75rem) !important;
  }
  #hero.pc-hero-viewport .pc-hero-sub {
    font-size: 0.88rem !important;
  }
  @media (min-width: 768px) {
    #hero.pc-hero-viewport .pc-hero-sub {
      font-size: 0.95rem !important;
    }
  }
  #hero.pc-hero-viewport .pc-hero-bottom {
    margin-top: 0.5rem !important;
    padding-top: 0.4rem !important;
  }
}

/* Bardzo wąski mobile — nie wymuszamy min-height: 100dvh twardo jeśli czytnik UI obniży viewport; min height już 100dvh, treść zawija się wraz z padding */
@media (max-width: 639px) {
  #hero.pc-hero-viewport {
    min-height: min(100dvh, 100svh);
  }
  #hero.pc-hero-viewport .pc-hero-cta {
    width: 100%;
  }
}

#hero.pc-hero-viewport .min-w-\[11ch\] {
  min-width: min(11ch, 100%);
}
