/* Układ strony głównej z oryginalną zielenią #39AA36 i żółcią #FEE101. */
.apf-home .hero-slider { --hero-h: 680px; }
.apf-home .slide-1 .container { justify-content: center; }
.apf-home .slide-1 .cont { width: min(590px, 100%); max-width: 590px; margin-inline: auto; text-align: center; }
.apf-home .slide-1 .header { width: auto; max-width: 590px; font-size: 42px; font-weight: 800; text-align: center; }
.apf-home .coppy { width: auto; max-width: 590px; }
.apf-home .slide-1 { background-position: center; }
.apf-home .slide-1 .location-input { width: min(450px, 100%) !important; margin: 16px auto 0 !important; }
.apf-home .hero-slider .btn { z-index: 20; }

.apf-section-heading {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  color: #39aa36;
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 800;
  line-height: 1.1;
  text-transform: none;
}
.apf-section-rule { display: flex; margin: 8px 0 32px; height: 4px; }
.apf-section-rule span:first-child { width: 150px; background: #39aa36; }
.apf-section-rule span:last-child { width: 500px; background: #fee101; }

.apf-tiles-band { display:block; background:#fff; }
.apf-tile-section { position: relative; padding-top: 72px; padding-bottom: 58px; background:#fff; }
.apf-tile-section::before {
  content: none;
}
.apf-tile-section .apf-section-heading { color: #39aa36; }
.apf-tile-section .featured-tiles .row {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px;
  margin: 0;
}
.apf-tile-section .featured-tiles .row::before,
.apf-tile-section .featured-tiles .row::after { display:none; }
.apf-tile-section .featured-tiles .row > div { width: auto; float: none; padding: 0; }
.apf-tile-section .tile.kafel { display: block; width: 100%; min-height: 290px; margin: 0; background-size: cover; background-position: center; }
.apf-tile-caption { display: block; background: #fff; color: #39aa36; font-weight: 700; padding: 12px; font-size: 17px; }
.apf-tile-section .featured-tiles { padding-bottom: 0 !important; }

.apf-advantages-section { background: #fff; padding: 70px 0 55px; }
.apf-advantages-section h1 { color: #39aa36; font-size: clamp(28px,3vw,42px); font-weight: 800; margin: 0 !important; border:0 !important; padding:0 !important; }
.apf-advantages-section h1 span { color: #000; }
.apf-advantages-section .featured-text { margin-top: 0; }
.apf-advantages-section .featured-text .row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.apf-advantages-section .featured-text .row::before,
.apf-advantages-section .featured-text .row::after { display:none; }
.apf-advantages-section .featured-text .row > div { width:auto; float:none; padding:28px 22px; text-align:center; box-shadow:0 6px 12px rgba(0,0,0,.1); }
.apf-advantages-section .featured-text .title { display:flex; flex-direction:column; align-items:center; gap:14px; }
.apf-advantages-section .featured-text .title { color: #39aa36; }
.apf-advantages-section .more-button .btn { background: #39aa36; border-color: #39aa36; }

.apf-news-section { padding-top: 65px; padding-bottom: 80px !important; }
.apf-news-section .featured-news { margin-top: 0; }
.apf-news-section .news-item { display: block; }
.apf-news-section .news-item img { width: 100%; height: 240px; object-fit: cover; }
.apf-news-section .news-item .info { background:#39aa36; }
.apf-news-section .more-button .btn { background: #39aa36; border-color: #39aa36; }

.apf-projects-section { background: #fff; padding: 72px 0 80px; }
.apf-projects-section .apf-section-heading { color: #39aa36; }
.apf-projects-viewport { position:relative; }
.apf-projects-arrow {
  position:absolute; top:41%; z-index:2; transform:translateY(-50%);
  border:0; border-radius:3px; padding:5px 15px; background:#fff; color:#000;
  box-shadow:0 2px 8px rgba(0,0,0,.2); font-size:28px; cursor:pointer;
}
.apf-projects-arrow--prev { left:-15px; }
.apf-projects-arrow--next { right:-15px; }
.apf-projects-arrow:focus-visible { outline:3px solid #fee101; outline-offset:2px; }
.apf-projects-section .featured-projects {
  display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-behavior: smooth; scrollbar-width: thin; padding-bottom: 22px !important;
}
.apf-projects-section .featured-projects > .row { display: contents; }
.apf-projects-section .featured-projects > .row::before,
.apf-projects-section .featured-projects > .row::after { display:none; }
.apf-projects-section .featured-projects .col-md-4 {
  flex: 0 0 550px; float: none; width: 550px; padding: 0; scroll-snap-align: start;
}
.apf-projects-section .project-item {
  display: flex; align-items: center; gap: 26px; box-sizing: border-box;
  width: 100%; min-height: 225px; margin: 0; padding: 28px 34px;
  background: #fff; border-radius: 20px; box-shadow: 0 4px 10px rgba(0,0,0,.15);
}
.apf-projects-section .project-item > a { flex: 0 0 105px; }
.apf-projects-section .project-item > a img { width: 105px; height: 105px; object-fit: contain; }
.apf-projects-section .project-description { color: #000; font-size: 15px; line-height: 1.5; }
.apf-projects-section .project-description a { display: block; color: #39aa36; font-size: 21px; font-weight: 700; margin-bottom: 8px; }

@media (max-width: 991px) {
  .apf-tile-section .featured-tiles .row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .apf-advantages-section .featured-text .row { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
  .apf-home .hero-slider { --hero-h: 600px; }
  .apf-home .hero-slider .slide { height: var(--hero-h); }
  .apf-home .slide-1 .cont { max-width: 370px; }
  .apf-home .slide-1 .container { justify-content: center; }
  .apf-home .slide-1 .header { font-size: 32px; }
  .apf-tile-section { padding-top: 52px; padding-bottom: 42px; }
  .apf-tile-section .featured-tiles .row { gap: 15px; }
  .apf-tile-section .tile.kafel { min-height: 220px; }
  .apf-tile-caption { font-size: 14px; min-height: 56px; }
  .apf-advantages-section { padding: 55px 0 40px; }
  .apf-projects-section .featured-projects .col-md-4 { flex-basis: 300px; width: 300px; }
  .apf-projects-section .project-item { flex-direction: column; text-align: center; min-height: 390px; padding: 25px; gap: 12px; }
  .apf-projects-section .project-item > a { flex: none; }
  .apf-projects-section .project-description a { font-size: 18px; }
  .apf-projects-arrow { display:none; }
}
