/* Mobile layout for the existing KK sections; desktop rules stay in current-*.css. */
body.kk-reference-page .kkvartal-page [data-slider].is-scroll-track {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  width: 100%;
  margin-inline: 0;
}
body.kk-reference-page [data-slider].is-scroll-track::-webkit-scrollbar { display: none; }
body.kk-reference-page .kkvartal-page [data-slider].is-scroll-track > * {
  flex: 0 0 calc(100% / var(--kk-cards-visible, 2));
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}
body.kk-reference-page [data-slider].is-scroll-track:focus-visible { outline: 2px solid #161616; outline-offset: -2px; }

@media (max-width: 767px) {
  /* Keep section headings above card captions and dialog titles in the hierarchy. */
  body.kk-reference-page .kkvartal-page .custom-title {
    font-size: clamp(24px, 7.5vw, 28px);
    line-height: 1.2;
    text-wrap: balance;
  }
  body.kk-reference-page .project-promotion .project-promotion__title {
    font-size: 24px;
    line-height: 1.2;
    text-wrap: balance;
  }
  body.kk-reference-page .project-promotion-modal .project-promotion-modal__copy h2 {
    font-size: 22px;
    line-height: 1.25;
    text-wrap: balance;
  }
  body.kk-reference-page .neighbour-block .nb__title_description {
    font-size: 22px;
    line-height: 1.25;
  }
  body.kk-reference-page .energy-block .eb__title_descr,
  body.kk-reference-page .neighbour-block .nb__title_descr,
  body.kk-reference-page .timeline-block .kk-diary-copy h3 {
    font-size: 20px;
    line-height: 1.25;
    text-wrap: balance;
  }
  body.kk-reference-page .kk-local-dialog h2 {
    font-size: 22px;
    line-height: 1.25;
    margin: 0 0 24px;
    text-wrap: balance;
  }
  /* Full-width media and dividers; one shared 20px gutter for copy. */
  body.kk-reference-page .kkvartal-page .description-block.container,
  body.kk-reference-page .kkvartal-page .future-block.container,
  body.kk-reference-page .kkvartal-page .energy-block.container,
  body.kk-reference-page .kkvartal-page .architecture-block.container,
  body.kk-reference-page .kkvartal-page .neighbour-block.container,
  body.kk-reference-page .kkvartal-page .pool-block.container,
  body.kk-reference-page .kkvartal-page .location-block.container,
  body.kk-reference-page .kkvartal-page .developer-block.container,
  body.kk-reference-page .kkvartal-page .condition-block.container {
    max-width: none;
    padding-inline: 0;
  }
  body.kk-reference-page .kkvartal-page .kk__container { padding-inline: 0; }
  body.kk-reference-page .description-block > .kk__container,
  body.kk-reference-page .future-block > .kk__container,
  body.kk-reference-page .condition-block > .kk__container,
  body.kk-reference-page .energy-block > .kk__container,
  body.kk-reference-page .architecture-block > .kk__container,
  body.kk-reference-page .neighbour-block > .kk__container,
  body.kk-reference-page .pool-block > .kk__container,
  body.kk-reference-page .developer-block > .kk__container,
  body.kk-reference-page .location-block .lb__title_position > .kk__container { padding-inline: 20px; }
  body.kk-reference-page .kkvartal-page .container > .row,
  body.kk-reference-page .location-block .lb__title_position > .row {
    --bs-gutter-x: 0;
    margin-inline: 0;
  }
  body.kk-reference-page .description-block > .row.kk__container > * { padding-inline: 0; }
  body.kk-reference-page .project-overview .project-overview__facts,
  body.kk-reference-page .project-overview .project-overview__description {
    padding: 24px 20px;
    font-size: 16px;
  }
  body.kk-reference-page .future-block .fb__block > .col-md-8 .fb__box > .row,
  body.kk-reference-page .architecture-block .ab__row_two { margin-inline: 0; }
  body.kk-reference-page .future-block .fb__block > .col-md-8 .fb__box > .row > *,
  body.kk-reference-page .architecture-block .ab__row > .col-md-4 { padding-inline: 0; }
  body.kk-reference-page .future-block .fb__box_two { padding: 24px 20px; }
  body.kk-reference-page .future-block .fb__slider.is-scroll-track,
  body.kk-reference-page .neighbour-block .nb__cards.is-scroll-track {
    border: 0;
    border-block: 1px solid var(--line-grey);
  }
  body.kk-reference-page .future-block .fb__slider.is-scroll-track > .col,
  body.kk-reference-page .neighbour-block .nb__cards.is-scroll-track > .col-md-3 {
    border: 0;
    border-right: 1px solid var(--line-grey);
  }
  body.kk-reference-page .future-block .fb__slider.is-scroll-track .fb__box,
  body.kk-reference-page .neighbour-block .nb__cards.is-scroll-track .nb__box {
    width: 100%;
    height: 100%;
    padding: 24px 20px;
    overflow-wrap: break-word;
  }
  body.kk-reference-page .future-block .fb__slider.is-scroll-track .fb__svg_descr,
  body.kk-reference-page .neighbour-block .nb__cards.is-scroll-track .nb__title_card {
    font-size: 16px;
    line-height: 1.25;
  }
  body.kk-reference-page .future-block .fb__slider.is-scroll-track .fb__svg_descr_light,
  body.kk-reference-page .neighbour-block .nb__cards.is-scroll-track .nb__descr_card {
    font-size: 14px;
    line-height: 1.35;
  }
  body.kk-reference-page .neighbour-block .nb__cards-wrap { width: 100%; }
  body.kk-reference-page .future-block .other-pagination,
  body.kk-reference-page .neighbour-block .nb__cards-pagination { padding: 16px 20px; margin: 0; }
  body.kk-reference-page .slider__dots { display: flex; }
  body.kk-reference-page .energy-block .img-responsive,
  body.kk-reference-page .neighbour-block .img-responsive { display: block; height: auto; aspect-ratio: 5 / 3; }
  body.kk-reference-page .architecture-block .img-responsive,
  body.kk-reference-page .pool-block .img-responsive { display: block; height: auto; aspect-ratio: 4 / 5; }
  body.kk-reference-page .energy-block .eb__box,
  body.kk-reference-page .neighbour-block .nb__box_slider,
  body.kk-reference-page .pool-block .pb__box,
  body.kk-reference-page .developer-block .db__box,
  body.kk-reference-page .architecture-block .ad__description,
  body.kk-reference-page .architecture-block .ab__box { padding: 24px 20px; }
  body.kk-reference-page .energy-block .eb__descr,
  body.kk-reference-page .neighbour-block .nb__descr,
  body.kk-reference-page .pool-block .pb__descr { height: auto; min-height: 0; }
  body.kk-reference-page .energy-block .eb__slider,
  body.kk-reference-page .neighbour-block .nb__slider { margin-top: 24px; }
  body.kk-reference-page .condition-block .cb__descr_position { height: auto; padding: 24px 20px; }
  body.kk-reference-page .condition-block .cb__info_position { margin-bottom: 16px; }
  body.kk-reference-page .condition-block .col-md-4 { border-inline: 0; border-top: 0; }
  body.kk-reference-page .timeline-block .kk-diary-media { margin-inline: -20px; width: calc(100% + 40px); }
  body.kk-reference-page .change-life-block > .container.kk__container { padding: 44px 20px; }
  body.kk-reference-page .change-life-block .cb__form_input_position > label { width: 100%; }
  body.kk-reference-page .footer .footer-block.container { padding: 0; }
  body.kk-reference-page .footer .ft__row { margin-inline: 0; --bs-gutter-x: 0; }
}
