/* =============================================================================
   index.html — tablet portrait / small tablet (768px–1024px width only).
   Loaded after mobile-site-wide.css so row donation bar can override ≤880px.
   Desktop >1024px and mobile ≤767px: no rules outside this media query.
   ============================================================================= */

@media (min-width: 768px) and (max-width: 1024px) {
  /* --- Construction / donation bar: compact row (overrides mobile-site-wide ≤880) --- */
  #bpm-donation-bar {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    padding: 7px clamp(14px, 2.4vw, 24px) !important;
    gap: 12px 18px !important;
    min-height: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  #bpm-donation-bar .bpm-donation-message {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  #bpm-donation-bar .bpm-donation-cta {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(300px, 38vw) !important;
    align-self: center !important;
    padding: 8px 16px !important;
    gap: 10px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
  }

  #bpm-donation-bar .bpm-donation-heart {
    font-size: 22px !important;
  }

  #bpm-donation-bar .bpm-donation-main {
    font-size: 13px !important;
    letter-spacing: 0.05em !important;
  }

  #bpm-donation-bar .bpm-donation-tagline {
    margin-top: 2px !important;
    font-size: 12px !important;
  }

  /* --- Navbar: edge padding + vertical alignment with hamburger --- */
  .navbar {
    padding-left: clamp(14px, 2vw, 28px) !important;
    padding-right: clamp(14px, 2vw, 28px) !important;
    align-items: center !important;
  }

  .logo {
    align-items: center !important;
  }

  .nav-actions {
    align-items: center !important;
  }

  .nav-mobile-toggle {
    margin-inline: 2px !important;
  }

  /* --- Hero landing: shorter fold, less empty vertical rhythm --- */
  section.bpm-fn-landing.page-section.page-section--hero {
    min-height: 0 !important;
    padding: 8px 0 12px !important;
    /* scroll anchoring + 100vh na tablecie potrafią „zjechać” widok poniżej navbara */
    overflow-anchor: none !important;
  }

  section.bpm-fn-landing .hero-showcase,
  section.bpm-fn-landing .photo-strip,
  section.bpm-fn-landing .photo-strip-track {
    overflow-anchor: none !important;
  }

  section.bpm-fn-landing.page-section.page-section--hero::before {
    inset: 8px !important;
    border-radius: 20px !important;
  }

  .bpm-fn-top {
    row-gap: 8px !important;
    column-gap: 14px !important;
  }

  .bpm-fn-intro {
    padding: 10px clamp(14px, 3vw, 22px) 0 !important;
  }

  .bpm-fn-heading {
    max-width: min(40rem, 94vw) !important;
  }

  .bpm-fn-lede {
    max-width: min(34rem, 92vw) !important;
  }

  .bpm-fn-intro-actions {
    margin-top: 10px !important;
  }

  section.bpm-fn-landing .bpm-donation-cta--vision {
    width: min(380px, 94%) !important;
    max-width: 420px !important;
    min-height: 56px !important;
    padding: 10px 22px !important;
    gap: 16px !important;
  }

  /* Drugi pas: responsive.css (≤820px) kiedyś ukrywał każdy .hero-showcase :nth-child(2) — landing musi mieć oba. */
  section.bpm-fn-landing .hero-showcase .photo-strip--down,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--down,
  .bpm-fn-landing .hero-showcase .photo-strip--down,
  .bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--down {
    display: block !important;
  }

  /* Photo collage (tablet): dwa poziome pasy jeden pod drugim — L→P i P→L (oś X, reverse w app.js). */
  section.bpm-fn-landing .hero-showcase,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase,
  .bpm-fn-landing .hero-showcase,
  .bpm-fn-landing .bpm-fn-top > .hero-showcase {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: stretch !important;
    align-content: start !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: min(375px, 45vh) !important;
    max-height: min(525px, 60vh) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 clamp(10px, 2vw, 22px) !important;
    gap: 12px !important;
    box-sizing: border-box !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--up,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--up,
  .bpm-fn-landing .hero-showcase .photo-strip--up,
  section.bpm-fn-landing .hero-showcase .photo-strip--down,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--down,
  .bpm-fn-landing .hero-showcase .photo-strip--down {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: clamp(140px, 16.25vw, 170px) !important;
    min-height: 140px !important;
    max-height: 170px !important;
    touch-action: pan-x !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--up .photo-strip-track,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--up .photo-strip-track,
  .bpm-fn-landing .hero-showcase .photo-strip--up .photo-strip-track,
  section.bpm-fn-landing .hero-showcase .photo-strip--down .photo-strip-track,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--down .photo-strip-track,
  .bpm-fn-landing .hero-showcase .photo-strip--down .photo-strip-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: max-content !important;
    min-width: min-content !important;
    height: 100% !important;
    padding: 6px 8px !important;
    gap: 10px !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--up .photo-item,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--up .photo-item,
  .bpm-fn-landing .hero-showcase .photo-strip--up .photo-item,
  section.bpm-fn-landing .hero-showcase .photo-strip--down .photo-item,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--down .photo-item,
  .bpm-fn-landing .hero-showcase .photo-strip--down .photo-item {
    flex: 0 0 clamp(188px, 32.5vw, 300px) !important;
    width: clamp(188px, 32.5vw, 300px) !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    align-self: center !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-item img,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-item img,
  .bpm-fn-landing .hero-showcase .photo-item img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  /* Ecosystem / map card: light tuck only */
  section.bpm-fn-landing .bpm-fn-map-card,
  section.bpm-fn-landing .bpm-fn-top > .bpm-fn-map-card {
    margin-top: 2px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  section.bpm-fn-landing .bpm-fn-map-card .bpm-fn-map-main {
    row-gap: 8px !important;
  }

  /* Pathway cards: stay 3-up on tablet, tighter copy + anchored arrow */
  .bpm-fn-pathways,
  section.bpm-fn-landing .bpm-fn-pathways {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: calc(100% - clamp(28px, 5vw, 44px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  section.bpm-fn-landing .bpm-fn-card {
    min-height: 0 !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    padding: 12px 40px 12px 12px !important;
    column-gap: 10px !important;
    align-items: center !important;
  }

  section.bpm-fn-landing .bpm-fn-card-body {
    min-width: 0 !important;
  }

  section.bpm-fn-landing .bpm-fn-card-body p {
    max-width: min(22ch, 100%) !important;
  }

  section.bpm-fn-landing .bpm-fn-arrow {
    right: 10px !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    font-size: 1.15rem !important;
  }

  section.bpm-fn-landing .bpm-fn-icon {
    width: 40px !important;
    height: 40px !important;
    font-size: 1rem !important;
  }

  /* Sense of the Day — wyśrodkowanie bloku tekstu + kroków + CTA na tablecie */
  section.sense-day-section .sense-day-feature-content {
    align-items: center !important;
    text-align: center !important;
  }

  section.sense-day-section .sense-day-feature-content .sense-day-feature-kicker {
    text-align: center !important;
  }

  section.sense-day-section .sense-day-feature-content h3,
  section.sense-day-section .sense-day-feature-content > p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  section.sense-day-section .sense-day-actions-grid {
    text-align: center !important;
    justify-items: center !important;
  }

  section.sense-day-section .sense-day-actions-grid > div {
    text-align: center !important;
    padding-left: clamp(10px, 3vw, 20px) !important;
    padding-right: clamp(10px, 3vw, 20px) !important;
  }

  section.sense-day-section .sense-day-actions-grid span,
  section.sense-day-section .sense-day-actions-grid .sense-day-step-icon,
  section.sense-day-section .sense-day-actions-grid strong {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  section.sense-day-section .sense-day-actions-grid p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  section.sense-day-section .sense-day-feature-cta {
    justify-content: center !important;
  }

  /* Sponsor „Visible Position” — wyśrodkowanie jak na mobile, na tablecie */
  .bpm-sponsor-inner.page-inner .bpm-sponsor-head {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .bpm-sponsor-inner.page-inner .bpm-sponsor-card summary {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .bpm-sponsor-inner.page-inner .bpm-sponsor-copy {
    text-align: center !important;
  }

  .bpm-sponsor-inner.page-inner .bpm-sponsor-tags {
    justify-content: center !important;
  }

  .bpm-sponsor-inner.page-inner .bpm-sponsor-panel {
    text-align: center !important;
  }

  .bpm-sponsor-inner.page-inner .bpm-sponsor-panel a {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* 1024×768 i podobne (tablet landscape, niski viewport): jeden poziomy pas zdjęć */
@media (min-width: 768px) and (max-width: 1024px) and (max-height: 820px) {
  section.bpm-fn-landing.page-section.page-section--hero {
    overflow-x: clip !important;
  }

  section.bpm-fn-landing .bpm-fn-top {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    grid-template-columns: 50vw 50vw !important;
    grid-template-areas:
      "intro photos"
      "map photos" !important;
    column-gap: 0 !important;
    row-gap: 8px !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  section.bpm-fn-landing .bpm-fn-intro {
    grid-area: intro !important;
    padding: 10px clamp(14px, 3vw, 34px) 0 clamp(14px, 3vw, 34px) !important;
    box-sizing: border-box !important;
  }

  section.bpm-fn-landing .bpm-fn-top > .bpm-fn-map-card,
  section.bpm-fn-landing .bpm-fn-map-card,
  #tap-map-card-final {
    grid-area: map !important;
    grid-column: 1 / -1 !important;
    width: min(560px, calc(100vw - clamp(28px, 5vw, 68px))) !important;
    max-width: min(560px, calc(100vw - clamp(28px, 5vw, 68px))) !important;
    margin: 8px auto 0 !important;
    box-sizing: border-box !important;
    justify-self: center !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--down,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--down,
  .bpm-fn-landing .hero-showcase .photo-strip--down,
  .bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--down,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip:nth-child(2) {
    display: none !important;
  }

  section.bpm-fn-landing .hero-showcase,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase,
  .bpm-fn-landing .hero-showcase,
  .bpm-fn-landing .bpm-fn-top > .hero-showcase {
    grid-area: photos !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-self: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-right: 0 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    height: clamp(254px, 33.15vh, 312px) !important;
    min-height: 0 !important;
    max-height: clamp(254px, 33.15vh, 312px) !important;
    gap: 0 !important;
    z-index: auto !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--up,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--up,
  .bpm-fn-landing .hero-showcase .photo-strip--up,
  section.bpm-fn-landing .hero-showcase .photo-strip:not(.photo-strip--down),
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip:not(.photo-strip--down) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: clamp(254px, 33.15vh, 312px) !important;
    min-height: 254px !important;
    max-height: 312px !important;
    overflow: hidden !important;
    touch-action: pan-x !important;
    border-radius: 12px 0 0 12px !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--up .photo-strip-track,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--up .photo-strip-track,
  .bpm-fn-landing .hero-showcase .photo-strip--up .photo-strip-track,
  section.bpm-fn-landing .hero-showcase .photo-strip:not(.photo-strip--down) .photo-strip-track,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip:not(.photo-strip--down) .photo-strip-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 20px !important;
    padding: 12px 16px !important;
    width: max-content !important;
    min-width: min-content !important;
    height: 100% !important;
    animation-name: bpm-fn-index-strip-move-right !important;
    animation-duration: 26s !important;
    animation-timing-function: linear !important;
    animation-iteration-count: infinite !important;
    animation-play-state: running !important;
    will-change: transform !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--up .photo-item,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--up .photo-item,
  .bpm-fn-landing .hero-showcase .photo-strip--up .photo-item,
  section.bpm-fn-landing .hero-showcase .photo-strip:not(.photo-strip--down) .photo-item,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip:not(.photo-strip--down) .photo-item {
    flex: 0 0 clamp(390px, 54.6vw, 546px) !important;
    width: clamp(390px, 54.6vw, 546px) !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    align-self: center !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--up .photo-item img,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--up .photo-item img,
  .bpm-fn-landing .hero-showcase .photo-strip--up .photo-item img,
  section.bpm-fn-landing .hero-showcase .photo-strip:not(.photo-strip--down) .photo-item img,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip:not(.photo-strip--down) .photo-item img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  /* Living Museum — wyśrodkowanie panelu „Selected Path” */
  section#living-museum.hm-story-section .hm-story-gallery > .hm-story-panel {
    align-items: center !important;
    text-align: center !important;
  }

  section#living-museum.hm-story-section .hm-story-gallery .hm-story-panel-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 42rem !important;
    margin-inline: auto !important;
  }

  section#living-museum.hm-story-section .hm-story-gallery .hm-story-panel-content h3,
  section#living-museum.hm-story-section .hm-story-gallery .hm-story-panel-content p {
    text-align: center !important;
    margin-inline: auto !important;
    max-width: 36rem !important;
  }

  section#living-museum.hm-story-section .hm-story-gallery .hm-story-panel-content a.hm-intro-cta-solid.adv-btn.adv-btn--solid {
    align-self: center !important;
    margin-inline: auto !important;
  }

  /* Sense of the Day — zdjęcia offense/defense obok siebie */
  section.sense-day-section .sense-day-feature-photos {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
    gap: 6px !important;
    min-height: clamp(180px, 24vh, 260px) !important;
    padding: 6px 6px 0 !important;
  }

  section.sense-day-section .sense-day-feature-photo {
    min-height: clamp(140px, 22vh, 200px) !important;
    height: auto !important;
  }

  /* Sense of the Day — actions grid: treść w granicach komórek */
  section.sense-day-section .sense-day-feature-inner {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  section.sense-day-section .sense-day-feature-media {
    order: -1 !important;
  }

  section.sense-day-section .sense-day-feature-content {
    align-items: stretch !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  section.sense-day-section .sense-day-actions-grid {
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  section.sense-day-section .sense-day-actions-grid > div {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    padding-left: clamp(6px, 1.4vw, 12px) !important;
    padding-right: clamp(6px, 1.4vw, 12px) !important;
  }

  section.sense-day-section .sense-day-actions-grid strong {
    font-size: clamp(0.92rem, 2.2vw, 1.12rem) !important;
    line-height: 1.15 !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
  }

  section.sense-day-section .sense-day-actions-grid p {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    font-size: clamp(0.64rem, 1.6vw, 0.74rem) !important;
    line-height: 1.45 !important;
  }

  section.sense-day-section .sense-day-step-icon {
    width: clamp(28px, 3.6vw, 32px) !important;
    height: clamp(28px, 3.6vw, 32px) !important;
  }
}

/* 768×1024 portrait — jeden pas zdjęć, rozmiar ×2 względem tablet portrait */
@media (min-width: 768px) and (max-width: 1024px) and (min-height: 900px) and (orientation: portrait) {
  section.bpm-fn-landing .hero-showcase .photo-strip--down,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--down,
  .bpm-fn-landing .hero-showcase .photo-strip--down,
  .bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--down,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip:nth-child(2) {
    display: none !important;
  }

  section.bpm-fn-landing .hero-showcase,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase,
  .bpm-fn-landing .hero-showcase,
  .bpm-fn-landing .bpm-fn-top > .hero-showcase {
    grid-template-rows: auto !important;
    min-height: clamp(280px, 32.5vw, 340px) !important;
    max-height: clamp(280px, 32.5vw, 340px) !important;
    height: clamp(280px, 32.5vw, 340px) !important;
    gap: 0 !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--up,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--up,
  .bpm-fn-landing .hero-showcase .photo-strip--up,
  section.bpm-fn-landing .hero-showcase .photo-strip:not(.photo-strip--down),
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip:not(.photo-strip--down) {
    height: 100% !important;
    min-height: clamp(280px, 32.5vw, 340px) !important;
    max-height: clamp(280px, 32.5vw, 340px) !important;
    overflow: hidden !important;
    border-radius: 12px !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--up .photo-strip-track,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--up .photo-strip-track,
  .bpm-fn-landing .hero-showcase .photo-strip--up .photo-strip-track,
  section.bpm-fn-landing .hero-showcase .photo-strip:not(.photo-strip--down) .photo-strip-track,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip:not(.photo-strip--down) .photo-strip-track {
    gap: 20px !important;
    padding: 12px 16px !important;
    animation-name: bpm-fn-index-strip-move-right !important;
    animation-duration: 26s !important;
    animation-timing-function: linear !important;
    animation-iteration-count: infinite !important;
    animation-play-state: running !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--up .photo-item,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--up .photo-item,
  .bpm-fn-landing .hero-showcase .photo-strip--up .photo-item,
  section.bpm-fn-landing .hero-showcase .photo-strip:not(.photo-strip--down) .photo-item,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip:not(.photo-strip--down) .photo-item {
    flex: 0 0 clamp(376px, 65vw, 600px) !important;
    width: clamp(376px, 65vw, 600px) !important;
    max-height: none !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-strip--up .photo-item img,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip--up .photo-item img,
  .bpm-fn-landing .hero-showcase .photo-strip--up .photo-item img,
  section.bpm-fn-landing .hero-showcase .photo-strip:not(.photo-strip--down) .photo-item img,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-strip:not(.photo-strip--down) .photo-item img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  /* 1. Hero intro actions — wyśrodkowanie */
  section.bpm-fn-landing .bpm-fn-intro-actions,
  .bpm-fn-intro-actions {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
  }

  section.bpm-fn-landing .bpm-donation-cta--vision {
    margin-inline: auto !important;
  }

  /* 2. Pathway cards — jedna kolumna, treść w boxach bez overflow */
  section.bpm-fn-landing .bpm-fn-pathways,
  .bpm-fn-pathways {
    grid-template-columns: 1fr !important;
    width: calc(100% - clamp(24px, 5vw, 40px)) !important;
    gap: 12px !important;
  }

  section.bpm-fn-landing .bpm-fn-card {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 14px 52px 14px 14px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  section.bpm-fn-landing .bpm-fn-card-media {
    display: none !important;
  }

  section.bpm-fn-landing .bpm-fn-card-body {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  section.bpm-fn-landing .bpm-fn-card-body h3,
  section.bpm-fn-landing .bpm-fn-card-body p {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  section.bpm-fn-landing .bpm-fn-card-body h3 {
    font-size: clamp(0.92rem, 2.6vw, 1.05rem) !important;
    line-height: 1.25 !important;
  }

  section.bpm-fn-landing .bpm-fn-card-body p {
    font-size: clamp(0.78rem, 2.1vw, 0.88rem) !important;
    line-height: 1.45 !important;
  }

  /* 3. Living Museum — panel content wyśrodkowany */
  section#living-museum.hm-story-section .hm-story-gallery > .hm-story-panel {
    align-items: center !important;
    text-align: center !important;
  }

  section#living-museum.hm-story-section .hm-story-gallery .hm-story-panel-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 36rem !important;
    margin-inline: auto !important;
  }

  section#living-museum.hm-story-section .hm-story-gallery .hm-story-panel-content h3,
  section#living-museum.hm-story-section .hm-story-gallery .hm-story-panel-content p {
    text-align: center !important;
    margin-inline: auto !important;
    max-width: 100% !important;
  }

  section#living-museum.hm-story-section .hm-story-gallery .hm-story-panel-content a.hm-intro-cta-solid.adv-btn.adv-btn--solid {
    align-self: center !important;
    margin-inline: auto !important;
  }

  /* Living Museum — pełne zdjęcia main + side (bez cropu) */
  section#living-museum.hm-story-section .hm-story-image-main,
  section#living-museum.hm-story-section .hm-story-image-side {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  section#living-museum.hm-story-section .hm-story-image-main img,
  section#living-museum.hm-story-section .hm-story-image-side img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  /* 4. Court choice — 5. karta wyśrodkowana */
  section.court-choice-section .court-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  section.court-choice-section .court-choice-card:nth-child(5) {
    grid-column: 1 / -1 !important;
    width: min(100%, calc(50% - 7px)) !important;
    max-width: 360px !important;
    justify-self: center !important;
    margin-inline: auto !important;
  }

  /* 5. Score here — wyśrodkowana zawartość */
  .score-here-section--strong .score-here-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 20px 18px !important;
  }

  .score-here-section--strong .score-here-icon {
    align-self: center !important;
  }

  .score-here-section--strong .score-here-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
  }

  .score-here-section--strong .score-here-title,
  .score-here-section--strong .score-here-text,
  .score-here-section--strong .score-here-note {
    max-width: none !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  .score-here-section--strong .score-here-copy .page-h2-rule {
    margin-inline: auto !important;
  }

  .score-here-section--strong .score-here-action {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .score-here-section--strong .score-here-visual {
    margin-inline: auto !important;
  }

  /* 6. Footer newsletter — przycisk SUBMIT z lewej */
  .site-footer-form {
    align-items: flex-start !important;
  }

  .site-footer-submit {
    align-self: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* Hero showcase — pełne zdjęcia bez cropu (tablet, końcowe nadpisanie) */
@media (min-width: 768px) and (max-width: 1024px) {
  section.bpm-fn-landing .hero-showcase .photo-item,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-item,
  .bpm-fn-landing .hero-showcase .photo-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  section.bpm-fn-landing .hero-showcase .photo-item img,
  section.bpm-fn-landing .bpm-fn-top > .hero-showcase .photo-item img,
  .bpm-fn-landing .hero-showcase .photo-item img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}
