/* 20260871 */
.home-stage {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
  /* svh = stabilny pierwszy ekran (bez skoku przy chowaniu paska URL) */
  --home-stage-mobile-screen: 100svh;
}
.home-stage__search {
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
  /* padding-top home-stage już ma header — tu tylko reszta viewportu */
  min-height: calc(var(--home-stage-mobile-screen) - var(--header-height, 56px)) !important;
  max-height: none !important;
}
.home-stage__search .hero-desc { display: block !important; }
.home-stage__search .suggestions { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; }
.home-stage__featured { flex: none !important; padding: 28px 16px 0 !important; }
.home-stage.is-ai-open {
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}
.home-stage.is-ai-open .home-stage__featured { display: none !important; }
/* Lock: używaj --home-stage-height z JS (visualViewport), nie samego 100svh */
@media (min-width: 1025px) and (min-device-width: 1025px) {
  html.is-desktop:not(.is-phone) .home-stage:not(.is-height-unlocked) {
    height: var(--home-stage-height, calc(100svh / var(--page-zoom, 1))) !important;
    min-height: var(--home-stage-height, calc(100svh / var(--page-zoom, 1))) !important;
    max-height: var(--home-stage-height, calc(100svh / var(--page-zoom, 1))) !important;
    overflow: hidden !important;
    padding-bottom: 24px !important;
  }
  html.is-desktop:not(.is-phone) .home-stage:not(.is-height-unlocked) .home-stage__search {
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }
  html.is-desktop:not(.is-phone) .home-stage__search .hero-desc { display: block !important; }
  html.is-desktop:not(.is-phone) .home-stage__search .suggestions { display: flex !important; }
  html.is-desktop:not(.is-phone) .home-stage__featured {
    flex: 0 0 auto !important;
    padding: 0 40px !important;
  }
}

.view-all svg,
.view-all__icon { display: none !important; }

html.is-phone .section-header { align-items: flex-start !important; gap: 8px !important; margin-bottom: 14px !important; }
html.is-phone .section-header h2 { font-size: 20px !important; line-height: 1.25 !important; }
html.is-phone .view-all {
  width: 36px !important; height: 36px !important; padding: 0 !important; border-radius: 12px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-size: 0 !important; line-height: 0 !important;
  background-color: var(--accent-blue-soft) !important;
}
html.is-phone .view-all::after {
  content: "" !important; display: block !important; width: 18px !important; height: 18px !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
@media (min-width: 1025px) {
  .view-all {
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: normal !important;
    border-radius: 0 !important;
    background: none !important;
    border: none !important;
  }
  .view-all::after { content: none !important; display: none !important; }
  .view-all svg, .view-all__icon { display: none !important; }
}

/* Hero: 1 linia — start duży; JS (nav-mode) ustawia max. font-size inline */
html.is-phone .home-stage__search h1,
html.is-touch:not(.is-desktop) .home-stage__search h1 {
  font-size: min(42px, 8.2vw);
  line-height: 1.15;
  letter-spacing: -0.03em;
  white-space: nowrap !important;
  max-width: 100% !important;
  overflow: hidden !important;
  margin-bottom: 10px !important;
}

/* iOS: overflow-x na body psuje position:fixed (FAB-y skaczą przy scrollu) */
html.is-phone,
html.is-touch {
  overflow-x: hidden !important;
  max-width: 100% !important;
}
html.is-phone body,
html.is-touch body {
  overflow-x: visible !important;
  position: static !important;
}
html.is-phone .home-stage__search .hero-desc,
html.is-touch:not(.is-desktop) .home-stage__search .hero-desc {
  font-size: clamp(15px, 3.8vw, 17px) !important;
  line-height: 1.45 !important;
  margin-bottom: 22px !important;
}
