/* Mobile audit, 2026-09-07: allow grid tracks and long Polish words to shrink.
   Keep the established desktop typography and the owner's wording. */
@media (max-width: 780px) {
  /* Locking body scroll when the menu opens must not move the sticky header
     above the viewport on a long page; keep its close button available. */
  .topbar:has(button[aria-expanded="true"]) {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
  }
  main :where(section, article, div) { min-width: 0; }
  main :is(h1, h2, h3, p, li, summary, .button) {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  main :is(h1, h2, h3) { hyphens: auto; }
  .subintro, .retail-applications-head { grid-template-columns: minmax(0, 1fr); }
  .owner-copy[data-owner-route] .owner-copy__head { grid-template-columns: minmax(0, 1fr); }
  .subhero-copy h1, .subhero-copy h1 em { max-width: 100%; }
  .breadcrumbs { flex-wrap: wrap; white-space: normal; overflow: visible; }
  .breadcrumbs > * { min-width: 0; overflow-wrap: anywhere; }
  .eyebrow { white-space: normal; }
}
@media (max-width: 360px) {
  .topbar .brand img { max-width: calc(100vw - 160px); height: auto; }
  .contact-page-hero-copy h2 { font-size: 38px !important; }
  .hero-copy .b2b-title { font-size: 40px !important; }
}

/* Visible FAQ, also present in the initial HTML for readers without JS. */
.zwaka-faq {
  padding: clamp(64px, 7vw, 100px) max(20px, calc((100% - 1320px) / 2));
  background: #f4f2e9;
  color: #444;
}
.zwaka-faq__head { max-width: 760px; margin-bottom: 36px; }
.zwaka-faq__kicker { color: #045926; font: 700 11px/1.6 Archivo, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.zwaka-faq h2 { margin: 14px 0; font: 480 clamp(34px, 4vw, 58px)/1.05 "Clash Display", Archivo, sans-serif;  }
.zwaka-faq details { border-top: 1px solid #bdc7bd; }
.zwaka-faq details:last-child { border-bottom: 1px solid #bdc7bd; }
.zwaka-faq summary { display: flex; align-items: center; gap: 20px; padding: 24px 0; cursor: pointer; list-style: none; font: 600 17px/1.5 Archivo, sans-serif; }
.zwaka-faq summary::-webkit-details-marker { display: none; }
.zwaka-faq summary::after { content: "+"; margin-left: auto; color: #045926; flex: 0 0 auto; font-size: 25px; }
.zwaka-faq details[open] summary::after { content: "−"; }
.zwaka-faq details > p { max-width: 900px; margin: 0 0 26px; font: 400 16px/1.8 Archivo, sans-serif; }
.zwaka-faq summary:focus-visible { outline: 2px solid #045926; outline-offset: 5px; }

/* Jednolita powierzchnia przełączników hero, również podczas zmiany slajdu. */
.hero-slider-nav button { backdrop-filter: none; -webkit-backdrop-filter: none; }
.hero-slider-nav button:not(.active) { background: #e8e9e4; }
.hero-slider-nav button span { backdrop-filter: none; -webkit-backdrop-filter: none; background: transparent; }

/* Lżejsze CTA i mniejszy panel pozostawiają więcej miejsca na zdjęcie. */
.home-page .hero-copy {
  min-height: 0;
  width: min(660px, 62vw);
  margin: 48px 0 110px clamp(24px, 4vw, 64px);
  padding: 28px;
}
.home-page .hero-copy::before { inset: 0; }
.home-page .hero-copy::after { top: 0; bottom: 0; left: 0; width: 4px; }
.home-page .hero-copy .hero-actions {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}
.home-page .hero-copy .hero-actions .button {
  width: auto;
  min-height: 44px;
  padding: 10px 15px;
  font-size: 13px;
  line-height: 1.35;
  box-shadow: none;
}
.home-page .hero-secondary-actions {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}
.home-page .hero-secondary-actions .button {
  width: auto;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid rgba(4,89,38,.42); background: rgba(255,255,255,.85);
  color: var(--green);
  font-size: 13px;
  line-height: 1.4;
  box-shadow: none;
}
.home-page .hero-secondary-actions .button:hover { background: var(--green); color: #fff; }
.home-page .hero-secondary-actions .button:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
@media (max-width: 780px) {
  .home-page .hero { min-height: 0; }
  .home-page .hero-copy { width: auto; margin: 20px 12px 180px; padding: 22px 18px 14px; }
  .home-page .hero-copy .eyebrow { margin-bottom: 16px; }
  .home-page .hero-copy > p:not(.eyebrow) { margin-top: 16px; }
  .home-page .hero-copy .hero-actions { gap: 8px; margin-top: 16px; }
  .home-page .hero-copy .hero-actions .button { flex: 1 1 140px; padding: 9px 12px; text-align: center; }
}
@media (max-width: 780px) {
  .home-page .hero-copy h1.b2b-title { font-size: clamp(28px, 8vw, 40px) !important; }
}

@media (max-width: 780px) {
  .home-page .hero-copy .hero-actions,
  .home-page .hero-copy .hero-secondary-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
  }
  .home-page .hero-copy :is(.hero-actions, .hero-secondary-actions) .button {
    width: 100%;
    min-height: 52px;
    padding: 9px 8px;
    font-size: 13px;
    line-height: 1.35;
    text-align: center;
  }
  .home-page .hero-map-button span { margin-left: 4px; flex-shrink: 0; }
}
/* Cztery odcienie firmowej zieleni, zgodne z akcentem po lewej stronie hero. */
.home-page .hero-copy .hero-actions .button.warm {
  background: #7dc144; color: #073d20; border-color: #7dc144;
}
.home-page .hero-copy .hero-actions .button.glass-button {
  background: #3e802b; color: #fff; border-color: #3e802b;
}
.home-page .hero-copy .hero-secondary-actions .hero-contact-button {
  background: #267c32; color: #fff; border-color: #267c32;
}
.home-page .hero-copy .hero-secondary-actions .hero-map-button {
  background: #045926; color: #fff; border-color: #045926;
}
.home-page .hero-copy :is(.hero-actions, .hero-secondary-actions) .button:hover {
  background: #073d20; color: #fff; border-color: #073d20;
}

/* Mobilny kadr galerii: fotografię dopasuj do odsłoniętego pola pod panelem. */
@media (max-width: 780px) {
  .home-page .hero-copy { margin-bottom: 230px; }
  .home-page .hero-slides { top: auto; bottom: 0; height: 270px; }
  .home-page .hero-slides .hero-photo {
    inset: 0; width: 100%; height: 100%;
    object-position: center center !important;
    animation: none;
    filter: saturate(1.03) brightness(1.04);
  }
}
/* Wspólna fala zmiany slajdu obejmuje też zielone CTA. */
.home-page .hero-change-wipe {
  z-index: 2;
  background: none;
  mix-blend-mode: soft-light;
  pointer-events: none;
}
.home-page .hero-change-wipe::before {
  background: linear-gradient(90deg, transparent, rgba(125,193,68,.34), rgba(255,255,255,.6), transparent);
}
.home-page .hero-change-wipe::after {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent);
}
