/*
 * K&M Invest — O inwestycji, zaakceptowany układ z Figmy K-M-fin (1:226).
 * Nakładka wyłącznie na page-id-47. Istniejące style innych podstron nietknięte.
 */
.page-id-47 .km-invest-approved {
  overflow: hidden;
}
.page-id-47 .km-invest-approved .km-copy h2 {
  letter-spacing: -.96px;
}
.page-id-47 .km-invest-buildings {
  background:#fff;
}
.page-id-47 .km-invest-location__visual {
  position:absolute;
  left:0;
  top:80px;
  z-index:2;
  width:49.21875%;
  height:539px;
  overflow:hidden;
}
.page-id-47 .km-invest-location__visual .km-invest-location__image {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.page-id-47 .km-invest-location__pin {
  position:absolute;
  z-index:3;
  left:69%;
  top:43%;
  width:103px;
  height:124px;
  transform:translate(-50%,-50%);
  object-fit:contain;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.12));
}
.page-id-47 .km-invest-location__badge {
  background:transparent;
  display:block;
  overflow:visible;
}
.page-id-47 .km-invest-location__badge img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:50%;
}
.page-id-47 .km-invest-distance-map {
  width:100%;
  background:#e8faec;
  line-height:0;
  overflow:hidden;
}
.page-id-47 .km-invest-distance-map img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1920 / 858;
  object-fit:fill;
  max-width:none;
}
.page-id-47 .km-invest-rhythm {
  position:relative;
  background-size:cover;
  background-position:center 58%;
  color:#fff;
  isolation:isolate;
}
.page-id-47 .km-invest-rhythm::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(16,40,52,.55),rgba(16,40,52,.25)),rgba(0,0,0,.12);
  z-index:-1;
}
.page-id-47 .km-invest-rhythm h2 {
  margin:0 0 22px;
  font-size:48px;
  line-height:1.16;
  font-weight:400;
  letter-spacing:-.96px;
}
.page-id-47 .km-invest-rhythm p {
  margin:0 0 18px;
  font-size:18px;
  line-height:28px;
}
.page-id-47 .km-invest-tastes {
  background:#fff;
}
.page-id-47 .km-invest-tastes__image {
  display:block;
  object-fit:cover;
}
.page-id-47 .km-invest-nearby {
  background:#f8f5f1;
  text-align:center;
}
.page-id-47 .km-invest-nearby h2 {
  margin:0 0 20px;
  font-size:48px;
  font-weight:400;
  line-height:1.16;
  letter-spacing:-.96px;
}
.page-id-47 .km-invest-nearby__lead {
  max-width:727px;
  margin:0 auto;
  font-size:18px;
  line-height:28px;
}
.page-id-47 .km-invest-nearby__grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:70px;
  row-gap:74px;
  margin-top:70px;
  text-align:center;
}
.page-id-47 .km-invest-nearby__item {
  min-width:0;
  padding:0 16px;
}
.page-id-47 .km-invest-nearby__item h3 {
  font-size:20px;
  font-weight:700;
  line-height:28px;
  margin:0 0 14px;
}
.page-id-47 .km-invest-nearby__item p {
  margin:0;
  font-size:18px;
  line-height:28px;
}
@media(min-width:1601px) {
  .page-id-47 .km-invest-location {height:720px;}
  .page-id-47 .km-invest-location__inner {height:720px;}
  .page-id-47 .km-invest-location__visual {width:945px;}
  .page-id-47 .km-invest-location__badge {
    left:34.375%;
    top:-69px;
    width:245px;
    height:245px;
  }
  .page-id-47 .km-invest-location__panel {
    right:0;
    width:59.375%;
    height:718px;
    top:0;
  }
  .page-id-47 .km-invest-location__copy {
    left:264px;
    top:60px;
    right:125px;
  }
  .page-id-47 .km-invest-floors {
    height:692px;
  }
  .page-id-47 .km-invest-floors__inner {height:692px;}
  .page-id-47 .km-invest-floors__panel {
    width:69.3229%;
    height:692px;
  }
  .page-id-47 .km-invest-floors__copy {
    left:456px;
    top:98px;
    right:150px;
  }
  .page-id-47 .km-invest-floors__image {
    left:150px;
    top:88px;
  }
  .page-id-47 .km-invest-outdoor {
    height:715px;
  }
  .page-id-47 .km-invest-outdoor__inner {height:715px;}
  .page-id-47 .km-invest-outdoor__copy {
    left:0;
    top:100px;
  }
  .page-id-47 .km-invest-outdoor__image {
    right:0;
    top:83px;
  }
  .page-id-47 .km-invest-everyday {
    height:650px;
  }
  .page-id-47 .km-invest-everyday__inner {
    height:650px;
  }
  .page-id-47 .km-invest-everyday__image {
    left:0;
    right:auto;
    top:60px;
    width:792px;
    height:522px;
  }
  .page-id-47 .km-invest-everyday__copy {
    left:894px;
    right:0;
    width:726px;
    top:95px;
  }
  .page-id-47 .km-invest-amenities {
    min-height:1138px;
  }
  .page-id-47 .km-invest-rhythm {
    height:656px;
  }
  .page-id-47 .km-invest-rhythm__inner {
    position:relative;
    height:100%;
  }
  .page-id-47 .km-invest-rhythm__copy {
    position:absolute;
    top:78px;
    left:275px;
    width:930px;
    max-width:calc(100% - 550px);
  }
  .page-id-47 .km-invest-rhythm__copy h2 {text-align:left;}
  .page-id-47 .km-invest-rhythm__copy p {font-size:17px;line-height:27px;}
  .page-id-47 .km-invest-tastes {height:678px;}
  .page-id-47 .km-invest-tastes__inner {
    height:100%;
    position:relative;
  }
  .page-id-47 .km-invest-tastes__copy {
    position:absolute;
    left:0;
    top:88px;
    width:725px;
  }
  .page-id-47 .km-invest-tastes__image {
    position:absolute;
    right:0;
    top:80px;
    width:792px;
    height:522px;
  }
  .page-id-47 .km-invest-nearby {
    padding:80px 0 100px;
    min-height:870px;
  }
  .page-id-47 .km-invest-standard {
    height:752px;
  }
  .page-id-47 .km-invest-standard__inner {height:752px;}
  .page-id-47 .km-invest-standard__copy {top:68px;}
  .page-id-47 .km-invest-standard__image {
    top:0;
    height:752px;
  }
}
@media(min-width:821px) and (max-width:1600px) {
  .page-id-47 .km-invest-location__inner {
    width:min(100% - 48px,1280px);
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    min-height:500px;
  }
  .page-id-47 .km-invest-location__visual,
  .page-id-47 .km-invest-location__panel,
  .page-id-47 .km-invest-location__copy,
  .page-id-47 .km-invest-location__badge {
    position:relative;
    left:auto;right:auto;top:auto;bottom:auto;
  }
  .page-id-47 .km-invest-location__visual {
    width:100%;
    height:100%;
    min-height:500px;
  }
  .page-id-47 .km-invest-location__panel {
    width:auto;height:auto;min-height:500px;
    padding:64px 46px;
  }
  .page-id-47 .km-invest-location__badge {
    position:absolute;
    top:-25px;left:46%;
    width:125px;height:125px;
    z-index:4;
    display:block;
  }
  .page-id-47 .km-invest-location__copy {padding:0;margin:0;}
  .page-id-47 .km-invest-everyday__inner {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;align-items:center;
  }
  .page-id-47 .km-invest-everyday__image,
  .page-id-47 .km-invest-everyday__copy {position:relative;inset:auto;width:100%;height:auto;}
  .page-id-47 .km-invest-everyday__image {aspect-ratio:792/522;object-fit:cover;}
  .page-id-47 .km-invest-rhythm {
    padding:90px 0;
    min-height:550px;
  }
  .page-id-47 .km-invest-rhythm__copy {max-width:900px;margin:auto;}
  .page-id-47 .km-invest-tastes {
    padding:70px 0;
  }
  .page-id-47 .km-invest-tastes__inner {
    display:grid;grid-template-columns:1fr 1fr;
    align-items:center;gap:45px;
  }
  .page-id-47 .km-invest-tastes__image {
    width:100%;aspect-ratio:792/522;
  }
  .page-id-47 .km-invest-nearby {padding:90px 0;}
  .page-id-47 .km-invest-nearby__grid {gap:48px 26px;}
  .page-id-47 .km-invest-nearby__item p {font-size:16px;line-height:26px;}
}
@media(max-width:820px) {
  .page-id-47 .km-invest-location {padding:0;}
  .page-id-47 .km-invest-location__inner {
    display:flex;
    flex-direction:column;
    width:100%;
    height:auto;
  }
  .page-id-47 .km-invest-location__visual {
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    height:330px;
  }
  .page-id-47 .km-invest-location__pin {
    width:62px;height:75px;
  }
  .page-id-47 .km-invest-location__panel {
    width:100%;
    min-height:0;
    padding:52px 24px 60px;
  }
  .page-id-47 .km-invest-location__copy {position:relative;inset:auto;width:auto;}
  .page-id-47 .km-invest-location__badge {
    display:block;
    position:absolute;
    left:20px;
    top:265px;
    width:110px;height:110px;
    z-index:5;
  }
  .page-id-47 .km-invest-floors__copy {position:relative;inset:auto;width:auto;}
  .page-id-47 .km-invest-everyday__inner {
    display:flex;
    flex-direction:column;
    gap:32px;
  }
  .page-id-47 .km-invest-everyday__image {
    position:relative;
    left:auto;right:auto;top:auto;
    width:100%;
    height:auto;
    aspect-ratio:792/522;
    object-fit:cover;
  }
  .page-id-47 .km-invest-everyday__copy {
    position:relative;
    left:auto;right:auto;top:auto;
    width:100%;
  }
  .page-id-47 .km-invest-distance-map img {
    width:100%;
    aspect-ratio:1920/858;
  }
  .page-id-47 .km-invest-rhythm {
    min-height:520px;
    padding:75px 0;
  }
  .page-id-47 .km-invest-rhythm__inner {
    height:auto;
    width:calc(100% - 36px);
  }
  .page-id-47 .km-invest-rhythm h2 {
    font-size:34px;
  }
  .page-id-47 .km-invest-rhythm p {
    font-size:15px;line-height:24px;
  }
  .page-id-47 .km-invest-tastes {
    padding:65px 0;
  }
  .page-id-47 .km-invest-tastes__inner {
    display:flex;
    flex-direction:column;
    gap:32px;
  }
  .page-id-47 .km-invest-tastes__copy {order:1;}
  .page-id-47 .km-invest-tastes__image {
    order:2;width:100%;height:auto;
    aspect-ratio:792/522;
  }
  .page-id-47 .km-invest-nearby {
    padding:65px 0 85px;
  }
  .page-id-47 .km-invest-nearby h2 {font-size:34px;}
  .page-id-47 .km-invest-nearby__lead {
    font-size:15px;line-height:25px;
  }
  .page-id-47 .km-invest-nearby__grid {
    grid-template-columns:1fr;
    row-gap:36px;
    margin-top:50px;
  }
  .page-id-47 .km-invest-nearby__item h3 {font-size:19px;}
  .page-id-47 .km-invest-nearby__item p {font-size:15px;line-height:25px;}
}

/* K&M — O inwestycji / wyłącznie mobile (do 767 px).
   Wyrównanie odstępów bez zmian w sekcjach desktopowych. */
@media (max-width: 767px) {
  /* Koniec "5 kondygnacji" -> "Twoja przestrzeń". */
  body.page-id-47.km-site-page .km-invest-floors {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 15px 12px !important;
    margin: 0 !important;
  }
  body.page-id-47.km-site-page .km-invest-floors__inner {
    height: auto !important;
    min-height: 0 !important;
  }
  body.page-id-47.km-site-page .km-invest-outdoor {
    height: auto !important;
    min-height: 0 !important;
    padding: 34px 0 44px !important;
    margin: 0 !important;
  }
  body.page-id-47.km-site-page .km-invest-outdoor__inner {
    height: auto !important;
    min-height: 0 !important;
  }

  /* Codzienność: opis PRZED fotografią, tylko na mobile. */
  body.page-id-47.km-site-page .km-invest-everyday {
    height: auto !important;
    min-height: 0 !important;
    padding: 36px 0 28px !important;
    margin: 0 !important;
  }
  body.page-id-47.km-site-page .km-invest-everyday__inner {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 24px !important;
  }
  body.page-id-47.km-site-page .km-invest-everyday__copy {
    position: relative !important;
    inset: auto !important;
    order: 1 !important;
    width: 100% !important;
    margin: 0 !important;
  }
  body.page-id-47.km-site-page .km-invest-everyday__image {
    position: relative !important;
    inset: auto !important;
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 792 / 522;
    object-fit: cover !important;
    margin: 0 !important;
  }

  /* Krótsza przerwa i pełne jasnobeżowe tło "Wszystko czego potrzebujesz". */
  body.page-id-47.km-site-page .km-invest-amenities {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 44px 0 58px !important;
    background: #f8f5f1 !important;
    background-image: none !important;
  }
  body.page-id-47.km-site-page .km-invest-amenities > .km-shell {
    height: auto !important;
    min-height: 0 !important;
  }
}

/* FIX — beżowy znak należy do sekcji Lokalizacja, nie do hero.
   Na małym ekranie poprzednia reguła ustawiała top:265px/left:20px,
   ale jej przodek nie miał position:relative, więc logo nakładało się
   na górny baner. Pozostawiamy obraz i białe logo hero bez zmian. */
@media (max-width: 767px) {
  body.page-id-47.km-site-page .km-invest-location__inner {
    position: relative !important;
  }
}

/* 20.10.2026 — O inwestycji: krótka, równa przerwa po wyborze budynków.
   Tylko mobile; nie dotykamy przycisków ani dolnego, przyklejonego paska. */
@media (max-width: 767px) {
  body.page-id-47.km-site-page .km-building-picker {
    padding-bottom: 14px !important;
    margin-bottom: 0 !important;
  }

  body.page-id-47.km-site-page .km-invest-intro {
    padding-top: 24px !important;
    margin-top: 0 !important;
  }
}
