/*
Theme Name: Slomiany Dom
Theme URI: https://slomianydom.eu/
Description: Motyw witryny Słomiany Dom (custom). Tokeny CSS w css/sd-design-tokens.css.
Author: Słomiany Dom
Version: 1.10.17
Text Domain: slomianydom
*/

/* Nawigacja mobilna tylko w motywie: `footer.php` + `#mobile-menu-panel` + `js/sd-premium-front.js`.
   Wtyczka WP Mobile Menu ma być wyłączona w WP — bez dodatkowego CSS maskującego `.mobmenu-*`. */

@font-face {
  font-family: Geomanist;
  src: url(css/fonts/Geomanist-Light.otf);
  font-weight:300;
  font-display: swap
}

@font-face {
  font-family: Geomanist;
  src: url(css/fonts/Geomanist-Regular.otf);
  font-weight:400;
  font-display: swap
}

@font-face {
  font-family: Geomanist;
  src: url(css/fonts/Geomanist-Book.otf);
  font-weight:500;
  font-display: swap
}


@font-face {
  font-family: Geomanist;
  src: url(css/fonts/Geomanist-Bold.otf);
  font-weight:700;
  font-display: swap
}

@font-face {
  font-family: Geomanist;
  src: url(css/fonts/Geomanist-Black.otf);
  font-weight:900;
  font-display: swap
}
/* =============================================================
   BASELINE — dokument i media (przegląd MCP localhost:10240)
   - iOS: stabilna skala tekstu bez wymuszania zoomu pól.
   - Anchor scroll: smooth tylko przy prefers-reduced-motion: no-preference (a11y).
   - Obrazy/wideo: nie wychodzą poza kolumnę (overflow-x na body).
   ============================================================= */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

img,
video,
canvas {
  max-width: 100%;
  height: auto;
}

.top-cta-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1050;
  background: linear-gradient(90deg, var(--sd-color-green-dark), var(--sd-color-green-light));
  font-family: 'Geomanist', sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding: 0.5rem 0;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}

.top-cta-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
}

.top-cta-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 0.5rem;
  row-gap: 0.15rem;
  line-height: 1.35;
  flex: 1;
  text-align: center;
}

.top-cta-label {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.top-cta-text {
  font-weight: 500;
}

.top-cta-link {
  border: 1px solid #ffffff;
  border-radius: 0;
  color: #ffffff;
  background: transparent;
  letter-spacing: 0.04em;
  font-weight: 600;
  padding: 0.3rem 1.4rem;
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.top-cta-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.top-cta-close {
  border: 0;
  background: none;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  padding: 0 .5rem;
  cursor: pointer;
}

.top-cta-close:hover,
.top-cta-close:focus {
  opacity: 0.8;
}
.mob-menu-cta-link {
  border: 1px solid #ffffff;
  border-radius: var(--sd-radius-btn);
  color: #ffffff;
  background: transparent;
  letter-spacing: 0.08em;
  font-weight: 600;
  padding: 0.35rem 1rem;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.mob-menu-cta-link:hover,
.mob-menu-cta-link:focus {
  background: rgba(255, 255, 255, 0.2);
  border-color: #ffffff;
  color: #ffffff;
  text-decoration: none;
}

.top-cta-link:hover,
.top-cta-link:focus {
  background: rgba(255, 255, 255, 0.2);
  border-color: #ffffff;
  color: #ffffff;
  text-decoration: none;
}

body > div.top-cta-bar.text-white > div > a {
  border: 1px solid #ffffff !important;
  color: #ffffff !important;
}

body.has-no-top-cta {
  /* Bez paska CTA — tylko fixed nav; ta sama rezerwa co przy `padding-top` + CTA, żeby pierwszy blok (breadcrumbs) nie wchodził pod navbar */
  padding-top: 6rem !important;
}

body.mobile-menu-open {
  overflow: hidden;
}

/* Układ nav: desktop ≥992px; na węższych ekranach lista linków w `#navbarNav` jest zwijana
   (FIX niżej) — pełne menu mobilne: dolny pasek + `#mobile-menu-panel`. */

.top-cta-mobile {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1050;
  background: linear-gradient(90deg, var(--sd-color-green-dark), var(--sd-color-green-light));
  font-family: 'Geomanist', sans-serif;
  font-size: 0.85rem;
  line-height: 1.3;
  font-weight: 500;
  padding: 0.45rem 0;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}

.top-cta-mobile-text {
  flex: 1;
  margin-right: 0.75rem;
}

.top-cta-mobile-btn {
  border: 1px solid #fff;
  border-radius: 0;
  color: #fff;
  padding: 0.35rem 0.9rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.75rem;
}

.top-cta-mobile-btn:hover,
.top-cta-mobile-btn:focus {
  color: #fff;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.2);
}

.top-cta-bar.hidden {
  display: none !important;
}

.mobile-bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: var(--sd-color-white);
  border-top: 1px solid rgba(0,0,0,0.08);
  z-index: 1100;
  /* iOS / gesty: treść nad home indicator + bezpieczne marginesy poziome */
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-top: 0;
  padding-left: max(6px, env(safe-area-inset-left, 0px));
  padding-right: max(6px, env(safe-area-inset-right, 0px));
  min-height: 64px;
  height: calc(64px + env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
  flex-wrap: nowrap;
  justify-content: space-around;
  align-items: stretch;
}

.mobile-bottom-item {
  flex: 1 1 0;
  min-width: 0;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: var(--sd-color-ink);
  gap: 4px;
  min-height: 48px;
  box-sizing: border-box;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
}

.mobile-bottom-item--chrome {
  min-width: 3.5rem;
}

.mobile-bottom-item button {
  background: none;
  border: 0;
}

.mobile-bottom-item:focus,
.mobile-bottom-item:hover {
  color: var(--sd-color-green-dark);
  text-decoration: none;
}

.mobile-bottom-icon {
  width: 22px;
  height: 22px;
  color: inherit;
}

.mobile-bottom-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.mobile-bottom-label {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
  line-height: 1.15;
}

.mobile-menu-panel {
  position: fixed;
  inset: auto 0 calc(64px + env(safe-area-inset-bottom, 0px)) 0;
  background: var(--sd-color-white);
  border-top-left-radius: var(--sd-radius);
  border-top-right-radius: var(--sd-radius);
  transform: translateY(calc(100% + 72px));
  transition: transform 0.3s ease;
  z-index: 1101;
  box-shadow: 0 -20px 50px rgba(0,0,0,0.2);
}

.mobile-menu-panel.is-open {
  transform: translateY(0);
}

#mobile-menu-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(2px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
  z-index: 1100;
}

#mobile-menu-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

.mobile-menu-panel__inner {
  padding: 1.5rem;
  max-height: 70vh;
  overflow-y: auto;
}

.mobile-menu-close {
  position: absolute;
  top: 12px;
  right: 16px;
  border: 0;
  background: none;
  font-size: 2rem;
  line-height: 1;
  color: var(--sd-color-ink);
}

.mobile-menu-panel__cta {
  background: var(--sd-color-surface-soft);
  border-radius: var(--sd-radius-sm);
  padding: 1rem;
  margin-bottom: 1.5rem;
}

.mobile-menu-nav .mobile-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-menu-list li {
  border-bottom: 1px solid var(--sd-color-border);
}

.mobile-menu-list li a {
  display: block;
  padding: 0.85rem 0;
  color: var(--sd-color-ink);
  font-weight: 500;
}

.mobile-menu-list li a:hover {
  color: var(--sd-color-green-dark);
  text-decoration: none;
}

/* Podpozycje `me-menu` w panelu mobilnym (ta sama lokalizacja co desktop) */
#mobile-menu-panel .mobile-menu-list .sub-menu {
  list-style: none;
  padding: 0 0 0.35rem 0.75rem;
  margin: 0 0 0 0.2rem;
  border-left: 2px solid rgba(42, 120, 41, 0.22);
}

#mobile-menu-panel .mobile-menu-list .sub-menu li {
  border-bottom: none;
  border-top: 1px solid var(--sd-color-border);
}

#mobile-menu-panel .mobile-menu-list .sub-menu li:first-child {
  border-top: none;
}

#mobile-menu-panel .mobile-menu-list .sub-menu li a {
  padding: 0.65rem 0;
  font-weight: 500;
}

#mobile-menu-panel .mobile-menu-list .menu-item-has-children > a {
  font-weight: 600;
}

@media (max-width: 992px) {
  :root {
    --sd-top-cta-height: 78px;
  }

  .top-cta-inner {
    flex-direction: column;
    gap: 0.5rem;
  }

  .top-cta-copy {
    flex-direction: column;
  }

  .top-cta-link {
    width: 100%;
    max-width: 320px;
  }
}

@media (max-width: 600px) {
  :root {
    --sd-top-cta-height: 56px;
  }
}

@media (max-width: 767px) {
  .top-cta-bar {
    display: none !important;
  }

}

@media (min-width: 768px) {
  .top-cta-mobile {
    display: none !important;
  }
}

@media (min-width: 992px) {
  .top-cta-inner {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 1rem 1.5rem;
  }

  .top-cta-copy {
    justify-content: flex-start;
    text-align: left;
  }

  .top-cta-actions {
    justify-content: flex-end;
    margin-left: 1.5rem;
    flex-shrink: 0;
  }
}
.wow {
  visibility: hidden;
}


body {
  font-family: var(--sd-font-base);
  font-size: 16px;
  line-height: 26px;
  color: var(--sd-color-ink);
  position: relative;
  letter-spacing: 0.3px;
  /* 6rem ≈ wysokość rzędu nav (logo + padding) — wcześniejsze 75px bywało za małe przy --sd-top-cta-height 78px (tablet), przez co breadcrumbs wpadały pod fixed navbar */
  padding-top: calc(var(--sd-top-cta-height) + 6rem);
  overflow-x: clip;
}

@media (max-width: 767px) {
  body {
    /* Musi być PO bazowym `body`, inaczej globalny padding-top nadpisuje mobilny (martwy kod od dawna). */
    padding-top: calc(var(--sd-top-cta-height-mobile) + 6rem);
    padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px));
  }
}

/* Zalogowany WP: `#wpadminbar` + fixed CTA/nav — pierwszy in-flow blok (breadcrumbs) inaczej wchodzi pod stack */
body.admin-bar {
  padding-top: calc(var(--sd-top-cta-height) + 6rem + 32px);
}

@media (max-width: 782px) {
  body.admin-bar {
    padding-top: calc(var(--sd-top-cta-height) + 6rem + 46px);
  }
}

@media (max-width: 767px) {
  body.admin-bar {
    padding-top: calc(var(--sd-top-cta-height-mobile) + 6rem + 46px);
  }
}

body.admin-bar.has-no-top-cta {
  padding-top: calc(6rem + 32px) !important;
}

@media (max-width: 782px) {
  body.admin-bar.has-no-top-cta {
    padding-top: calc(6rem + 46px) !important;
  }
}

/* Kotwice / skip link: offset pod sticky header + CTA (przybliżenie do padding-top body) */
#main-content {
  scroll-margin-top: calc(var(--sd-top-cta-height) + 5.5rem);
  display: block;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  #main-content {
    scroll-margin-top: calc(var(--sd-top-cta-height-mobile) + 6rem);
  }
}

/* Sekcje w `<main>`: jedna zmienna pionowa skalowana w 5 krokach (xs→xl), bez sztucznego skoku przy 768px */
#main-content > section {
  --sd-section-y-use: var(--sd-section-y-xs);
}

@media (min-width: 576px) {
  #main-content > section {
    --sd-section-y-use: var(--sd-section-y-sm);
  }
}

@media (min-width: 768px) {
  #main-content > section {
    --sd-section-y-use: var(--sd-section-y-md);
  }
}

@media (min-width: 992px) {
  #main-content > section {
    --sd-section-y-use: var(--sd-section-y-lg);
  }
}

@media (min-width: 1200px) {
  #main-content > section {
    --sd-section-y-use: var(--sd-section-y-xl);
  }
}

/* Pełna szerokość okna (mobile-first): pasy sekcji + hero home `#hp-main`.
   Treść w `.container` / gridzie Bootstrap zostaje w kanonie `--sd-maxw`. */
#main-content > section,
#main-content > #hp-main {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  box-sizing: border-box;
}

/*
 * Jedna „kolumna” wizualna z logo: `max-width` + `--bs-gutter-x` jak treść w `#main-content`.
 * Obejmuje: pasek CTA nad nav, `#content-start` (logo), breadcrumbs (Rank Math poza `<main>`), sekcje.
 */
#main-content > section > .container,
.breadcrumbs-wrap.container,
#content-start.sd-site-header .container.sd-header-inner,
.top-cta-bar > .container,
.top-cta-mobile > .container {
  width: 100%;
  max-width: min(100%, var(--sd-maxw));
  margin-inline: auto;
  --bs-gutter-x: var(--sd-section-container-gutter-x);
  box-sizing: border-box;
}

/* Pełna szerokość sekcji (bez sztywnego 1240px) — np. mapa, paski marketingowe */
#main-content > section > .container-fluid {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  --bs-gutter-x: var(--sd-section-container-gutter-x);
  box-sizing: border-box;
}

a {
  text-decoration: none;
  color: var(--sd-color-green);
  transition: 0.3s;
}

a:hover {
text-decoration:none;
color:#67AF77
}

.pt-60 {
	padding-top:5px
}

.pt-30 {
  padding-top: 30px;
}

.box-hidden {
visibility:hidden;
height:0px !important
}

.box-visible {
visibility:visible;
height:auto !important
}

.legenda {
margin-bottom:35px;
}

.legenda-item {
display:inline-block;
margin-right:25px;
font-weight:bold
}

.legenda-item span {
display:inline-block;
width:15px;
height:15px;
border-radius:15px;
margin-right:6px
}

.leaflet-marker-icon {
transition: all .2s ease;
transform-origin: 50% 100%;
will-change: transform;
}

.leaflet-marker-icon:hover {
transform: scale(1.12);
}

/* Domyślny brand (np. inne layouty); nagłówek główny — węższy padding pod `#content-start` */
.navbar-brand {
  padding-top: 10px;
  padding-bottom: 10px;
}

#content-start.navbar .navbar-brand {
  padding-block: 0.15rem;
  padding-inline: 0;
  margin-right: 0.5rem;
  flex-shrink: 0;
}

.leaflet-tile-pane {
filter:grayscale(100%)
}

body .leaflet-container a {
  color: var(--sd-color-green);
  font-weight: bold;
}

.bg-light {
    background-color: #fff !important;
    border-bottom:1px solid #ededed
}

/* Główna nawigacja (ul ma klasę .navbar-nav z wp_nav_menu) — #content-start wygrywa z Bootstrapem bez !important */
#content-start .navbar-nav > li > a {
  padding: 0.5rem 0.65rem;
  color: var(--sd-color-ink);
  font-size: var(--sd-text-sm);
  font-weight: 500;
  letter-spacing: 0.03em;
  border-bottom: 2px solid transparent;
  border-radius: var(--sd-radius-sm);
  transition:
    color var(--sd-ease),
    background-color var(--sd-ease),
    border-color var(--sd-ease);
}

#content-start .navbar-nav > li > a:hover,
#content-start .navbar-nav > li > a:focus-visible {
  color: var(--sd-color-green-dark);
  background-color: rgba(42, 120, 41, 0.07);
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  #content-start .navbar-nav > li > a {
    transition: none;
  }
}

.realizacje-gal-cover {
	margin-bottom:25px
}

.aktualnosci-box-wrapper {
	margin-bottom:35px
}

.aktualnosci-box-wrapper > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #f7f7f5;
  border-radius: 0;
  padding: 12px;
  overflow: hidden;
}

.aktualnosci-box-wrapper > a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background-color: transparent;
  transition: transform 0.25s ease;
}

.aktualnosci-box-wrapper > a:hover img,
.aktualnosci-box-wrapper > a:focus img {
  transform: scale(1.02);
}

.aktualnosci-lista-title {
	margin-top:20px
}

.aktualnosci-lista-title-text {
	font-size: 16px;
	line-height: 26px;
	font-weight: 400;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
}

.aktualnosci-lista-title-text a {
	color: #171F24;
	transition: color .3s;
	text-decoration: none;
}

.aktualnosci-lista-title-text a:hover {
	color: var(--sd-color-green-dark);
}

#menu-item-169.current_page_item a,
#menu-item-170.current_page_item a {
  color: #171f24;
}

#menu-item-169.current_page_item a:hover,
#menu-item-170.current_page_item a:hover {
  color: #2f7c29;
}

#menu-item-170 {
  display: none;
}


#realizacje-mapa {
  padding: 0;
  border-radius: var(--sd-radius);
  overflow: hidden;
  box-shadow: var(--sd-shadow-soft);
}

.overlay-img {
position:relative;
display:block
}

.overlay-img .overlay {
transition:.3s;
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
}

.overlay-img .overlay:hover {
background-color:#18242D5C;
position:absolute;
width:100%;
height:100%
}

/* Wyrównanie `.me-nav` względem `#navbarNav`: `css/sd-layout-header.css` (≥992px) */

#hp-main {
height:fit-content;
position:relative
}

/* Wymaga klasy `sd-cf7` na <form> (filtr w functions.php) — specyficzność zamiast !important */
form.wpcf7-form.sd-cf7 .wpcf7-form-control.wpcf7-acceptance {
	border: 0;
	font-size: 13px;
	line-height: 17px;
}

.r-parametry {
margin-top:45px;
border-top:1px solid #F1F3F4;
border-bottom:1px solid #F1F3F4;
padding:25px 10px;
padding-bottom:0px
}

.parametr-box {
padding-bottom:25px
}

.parametr-value {
color:#18242D;
font-size:35px;
line-height:40px;
font-weight:bold;
margin-bottom:20px
}

.parametr-desc {
color:#7E6F4F;
font-size:16px;
line-height:28px;
font-weight:500
}

.rzut-box {
padding-bottom:25px
}

.rzut-title {
color:#816E4B;
font-size:20px;
line-height:27px;
margin-bottom:28px;
font-weight:500
}

.lokalizacja-title {
color:#816E4B;
font-size:20px;
line-height:27px;
margin-bottom:28px;
font-weight:500;
display:inline-block;
margin-right:25px
}

.lokalizacja-font {
display:inline-block;
color:#667A89;
font-size:20px;
line-height:28px;
font-weight:700
}

.lokalizacja-map {
width:100%;
margin-top:30px
}

.slider-item {
height:100vh;
position:relative
}

.slider-item.sd-hero-modern{
background:
radial-gradient(1200px 520px at 12% 18%, rgba(118,199,54,.24) 0%, rgba(118,199,54,0) 60%),
radial-gradient(900px 420px at 88% 76%, rgba(102,122,137,.22) 0%, rgba(102,122,137,0) 58%),
linear-gradient(135deg, #1a2b35 0%, #243745 40%, #2f4a5c 100%);
}

.slider-item.sd-hero-photo{
background-image:url("img/tagra-header-slomianydom.png");
background-image:image-set(
url("img/tagra-header-slomianydom.avif") type("image/avif"),
url("img/tagra-header-slomianydom.webp") type("image/webp"),
url("img/tagra-header-slomianydom.png") type("image/png")
);
background-repeat:no-repeat;
background-position:center var(--sd-hero-photo-pos-desktop, 72%);
background-size:cover;
}

@media (max-width: 1200px){
  .slider-item.sd-hero-photo{
    background-position:center var(--sd-hero-photo-pos-tablet, 74%);
  }
}

@media (max-width: 778px){
  .slider-item.sd-hero-photo{
    background-position:center var(--sd-hero-photo-pos-mobile, 78%);
  }
}

.slider-item.sd-hero-modern::before,
.slider-item.sd-hero-photo::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(180deg, rgba(8,18,24,.32) 0%, rgba(8,18,24,.62) 100%);
}

.slider-info {
position:absolute;
width:100%;
top:50%;
margin-top:-60px;
z-index:1
}

.slider-info-one {
text-align:center;
color:#F5ECD7;
font-weight:bold;
font-size: var(--sd-hero-slider-line1-fs);
line-height: var(--sd-hero-slider-line1-lh);
margin:0
}

.slider-info-two {
text-align:center;
color:#F5ECD7;
font-size: var(--sd-hero-slider-line2-fs);
line-height: var(--sd-hero-slider-line2-lh);
letter-spacing:.5px
}

.slider-item.sd-hero-modern .slider-info-one,
.slider-item.sd-hero-photo .slider-info-one{
font-size:calc(var(--sd-hero-modern-h1-clamp) * var(--sd-hero-h1-scale, 1));
line-height:1.04;
max-width:calc(var(--sd-hero-h1-maxch, 15) * 1ch);
margin:0 auto;
padding:0 1rem;
text-wrap:balance;
overflow-wrap:anywhere;
hyphens:auto;
text-shadow:0 3px 24px rgba(0,0,0,.36);
}

.slider-item.sd-hero-modern .slider-info-two,
.slider-item.sd-hero-photo .slider-info-two{
font-size:var(--sd-hero-modern-sub-clamp);
line-height:1.45;
max-width:34ch;
margin:.55rem auto 0;
padding:0 1rem;
text-shadow:0 2px 16px rgba(0,0,0,.32);
}

.slider-item.sd-hero-photo .slider-info{
top:50%;
left:50%;
right:auto;
margin-top:0;
transform:translate(-50%, -50%);
width:min(100%, 1320px);
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
}

@media (max-width: 1200px){
  .slider-item.sd-hero-photo .slider-info-one{
    font-size:var(--sd-hero-photo-h1-clamp-lg);
    max-width:calc(var(--sd-hero-h1-maxch, 15) * 0.93 * 1ch);
  }
}

/* Hero zdjęcie: poniżej lg — kotwica od dołu + oddech nad fixed bottom bar (nie nad CTA jak strzałki slick) */
@media (max-width: 991.98px) {
  .slider-item.sd-hero-photo .slider-info {
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    top: auto;
    margin-top: 0;
    bottom: var(--sd-home-hero-stack-above-mobile-bar, calc(64px + 1.5rem + env(safe-area-inset-bottom, 0px)));
    justify-content: flex-end;
    padding-inline: clamp(0.75rem, 3vw, 1rem);
    box-sizing: border-box;
  }
  .slider-item.sd-hero-photo .slider-info-one {
    font-size: var(--sd-hero-photo-h1-clamp-sm);
    max-width: calc(var(--sd-hero-h1-maxch, 15) * 0.83 * 1ch);
    line-height: 1.08;
    hyphens: none;
    -webkit-hyphens: none;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
  .slider-item.sd-hero-photo .slider-info-two {
    font-size: var(--sd-hero-photo-sub-clamp-sm);
    max-width: 26ch;
  }
}

.slider-info-four {
text-align:center;
color:#F5ECD7;
font-size: var(--sd-hero-slider-line2-fs);
line-height: var(--sd-hero-slider-line2-lh);
letter-spacing:.5px
}

section {
  padding-top: var(--sd-space-section);
  padding-bottom: var(--sd-space-section);
}

/* Sekcja „Naturalne materiały”: lewa kolumna — kolorystyka jak .offer-hero (podstrony Oferta) */
#hp-naturalne {
	background: linear-gradient(118deg, #eef5ee 0%, #ffffff 44%, #fbfcfb 56%, #f1f5f1 100%);
	border-bottom: 1px solid rgba(23, 31, 36, 0.07);
	overflow-x: clip;
}

/*
 * Sekcja premium — mniejsze paddingi niż globalne `section` + skalowanie treści (vmin),
 * żeby na typowym laptopie całość częściej mieściła się w jednym kadrze po scrollu do sekcji.
 */
#hp-naturalne.sd-home-natural-premium {
	padding-top: clamp(1.35rem, 3.8vmin, 3.25rem);
	padding-bottom: clamp(1.35rem, 3.8vmin, 3.25rem);
}

.hp-naturalne-subtitle {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 25px;
}

#hp-naturalne .hp-naturalne-left .hp-naturalne-title h2 {
	color: var(--sd-heading-h2-color);
	font-weight: var(--sd-heading-h2-weight);
	margin-bottom: var(--sd-space-sm);
}

#hp-naturalne .hp-naturalne-left .hp-naturalne-subtitle {
	display: block;
	max-width: 64ch;
	font-size: var(--sd-text-lg);
	font-weight: 400;
	letter-spacing: normal;
	text-transform: none;
	color: var(--sd-hero-lead-ink);
	line-height: 1.55;
	margin-bottom: var(--sd-space-md);
}

/* Logo VestaEco (wp-image-1791) — w treści ACF zamiast zepsutego <img> */
#hp-naturalne .hp-naturalne-left-text img.wp-image-1791 {
	display: block;
	max-height: 80px;
	width: auto;
	height: auto;
	margin-top: 0.75rem;
	margin-bottom: 0.75rem;
}

#hp-naturalne .hp-naturalne-left .hp-naturalne-left-text {
	padding-top: 1.25rem;
	color: var(--sd-hero-lead-ink);
	font-size: var(--sd-text-lg);
	line-height: 1.6;
}

#hp-naturalne .hp-naturalne-left .hp-naturalne-left-text p {
	color: inherit;
}

#hp-naturalne .hp-naturalne-left .hp-naturalne-left-text p.hp-naturalne-more-link,
#hp-naturalne .hp-naturalne-left > p.hp-naturalne-more-link {
	margin-top: clamp(1.75rem, 4.5vw, 2.75rem);
}

#hp-naturalne .hp-naturalne-left .hp-naturalne-left-text a.ar-r-green,
#hp-naturalne .hp-naturalne-left > p.hp-naturalne-more-link a.ar-r-green {
	color: var(--sd-color-green);
	font-weight: 600;
}

#hp-naturalne .hp-naturalne-left .hp-naturalne-left-text a.ar-r-green:hover,
#hp-naturalne .hp-naturalne-left .hp-naturalne-left-text a.ar-r-green:focus-visible,
#hp-naturalne .hp-naturalne-left > p.hp-naturalne-more-link a.ar-r-green:hover,
#hp-naturalne .hp-naturalne-left > p.hp-naturalne-more-link a.ar-r-green:focus-visible {
	color: var(--sd-color-green-hover);
}

/* Kotwica dla lightboxa / kart w prawej kolumnie */
#hp-naturalne .hp-naturalne-right {
	position: relative;
}

/* Akapit VestaEco — pod wierszem 30/70 (normalny flow w `.container`), bez 100vw (unika nakładania na kolumny) */
#hp-naturalne .hp-naturalne-vesta-band {
	position: relative;
	width: 100%;
	max-width: 100%;
	left: auto;
	right: auto;
	transform: none;
	margin-top: clamp(1.25rem, 3.2vw, 2.25rem);
	margin-bottom: 0;
	box-sizing: border-box;
	padding-top: clamp(1rem, 2.4vw, 1.65rem);
	padding-bottom: clamp(1rem, 2.4vw, 1.65rem);
	padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
	padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
	background: linear-gradient(100deg, rgba(234, 243, 234, 0.97) 0%, rgba(255, 255, 255, 0.99) 48%, rgba(241, 246, 241, 0.98) 100%);
	border-top: 1px solid rgba(23, 31, 36, 0.07);
	border-bottom: 1px solid rgba(23, 31, 36, 0.07);
}
#hp-naturalne .hp-naturalne-vesta-band__inner {
	width: 100%;
	max-width: min(72rem, 100%);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
#hp-naturalne .hp-naturalne-vesta-band__inner--logo-text {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(1rem, 2.8vw, 2rem);
}
#hp-naturalne .hp-naturalne-vesta-band__logo {
	flex: 0 0 auto;
	align-self: flex-start;
}
#hp-naturalne .hp-naturalne-vesta-band__logo img {
	display: block;
	max-height: clamp(72px, 14vw, 96px);
	width: auto;
	height: auto;
}
#hp-naturalne .hp-naturalne-vesta-band__text {
	flex: 1 1 min(0, 100%);
	min-width: min(100%, 16rem);
}
#hp-naturalne .hp-naturalne-vesta-band .content {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	color: var(--sd-hero-lead-ink);
	font-size: clamp(0.95rem, 0.88rem + 0.45vw, 1.125rem);
	line-height: 1.58;
}
@media (min-width: 768px) {
	#hp-naturalne .hp-naturalne-vesta-band__inner {
		padding-left: clamp(0.5rem, 1.2vw, 1rem);
		padding-right: clamp(0.5rem, 1.2vw, 1rem);
	}
}
@media (max-width: 575.98px) {
	#hp-naturalne .hp-naturalne-vesta-band__inner--logo-text {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 767.98px) {
	#hp-naturalne {
		background: linear-gradient(180deg, #ecf3ec 0%, #ffffff 52%, #f5f7f5 100%);
	}
	#hp-naturalne .hp-naturalne-left {
		padding-right: clamp(0.5rem, 3vw, 1rem);
	}
	#hp-naturalne .hp-naturalne-right {
		padding-left: clamp(0.5rem, 3vw, 1rem);
	}
}

/* Dwie kolumny sekcji „Naturalne materiały” (30/70 od md) — MUSI być poza @media max-width:998px,
   inaczej na typowym desktopie (>998px) obowiązuje samo col-12 = bloki jeden pod drugim. */
#hp-naturalne > .container > .row {
	align-items: flex-start;
}
@media (min-width: 768px) {
	#hp-naturalne > .container > .row.hp-naturalne-main-row > .hp-naturalne-left {
		flex: 0 0 30%;
		max-width: 30%;
		width: 30%;
		padding-right: clamp(0.65rem, 1.6vw, 1.35rem);
	}
	#hp-naturalne > .container > .row.hp-naturalne-main-row > .hp-naturalne-right {
		flex: 0 0 70%;
		max-width: 70%;
		width: 70%;
		padding-left: clamp(1rem, 2.2vw, 2.25rem);
	}
}

/* Premium UI — lewa kolumna (eyebrow, rytm) */
#hp-naturalne.sd-home-natural-premium .hp-naturalne-left .hp-naturalne-title h2 {
	font-weight: 500;
	letter-spacing: 0.02em;
}
#hp-naturalne.sd-home-natural-premium .hp-naturalne-left .hp-naturalne-subtitle {
	font-size: var(--sd-text-sm);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sd-color-green);
	margin-bottom: var(--sd-space-lg);
	opacity: 0.92;
	line-height: 1.45;
}

.hp-naturalne-left-text {
	padding-top: 27px;
	color: #667a89;
}

.hp-naturalne-left-text img {
	margin-top: 35px;
	margin-bottom: 35px;
}

.hp-naturalne-left {
	padding-right: 110px;
}

.hp-naturalne-right {
	padding-left: 60px;
}

.sbig {
padding-top: var(--sd-space-section);
padding-bottom: var(--sd-space-section);
}

h2 {
font-size: var(--sd-heading-h2-fs-desktop);
font-weight: var(--sd-heading-h2-weight);
line-height: var(--sd-heading-h2-lh-desktop);
color: var(--sd-heading-h2-color);
}

strong {
font-weight:700
}

.white {
color:#fff
}

#budowa-domow {
position:relative;
}

#zielone-oferty {
background-color:#F1F3F4
}

#home-pomieszkaj a:hover {
  color: #171f24;
}

.kontakt-info a {
  color: var(--sd-color-green-dark);
  text-decoration: none;
  font-weight: 600;
  transition: color var(--sd-ease);
}

.kontakt-info a:hover,
.kontakt-info a:focus-visible {
  color: var(--sd-color-ink);
  text-decoration: none;
}

.oferty-box {
  margin-top: 80px;
  display: flex;
}

.oferta-box {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-bottom: 30px;
}

.offer-title {
font-size: 18px;
line-height: 28px;
color: #7E6F4F;
  margin-bottom: 20px;
}

.offer-desc {
  color: #000000;
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 20px;
}

.offer-link {
  margin-top: 0;
  display: flex;
  align-items: center;
  min-height: 48px;
}

.offer-link img {
  max-width: 20px;
}

.offer-link a {
  color: #2f7c29;
}

.offer-link a:hover {
  color: #000;
}

#zielone-oferty .section-heading {
  font-size: 2rem;
  padding-bottom: 30px;
}

.home-pomieszkaj-text {
color:#000000;
font-size:16px;
line-height:28px;
text-align:left;
padding-bottom:0px;
margin-top:30px
}

.home-pomieszkaj-row {
padding-bottom:0px
}

.home-pomieszkaj-title {
padding-top:35px;
padding-bottom:25px;
font-size:18x;
line-height:28px;
text-align:left;
color:#000
}

.home-pomieszkaj-img {
margin-bottom:15px
}

#home-pomieszkaj {
background-color:#f4f4f3;
padding-bottom:90px
}

#home-pomieszkaj .home-pomieszkaj-second {
  padding-top: 30px;
  padding-bottom: 70px;
}

#home-panele {
height:100vh;
background: url(img/panele/sciana-elewacja-drewniana-z-oznaczeniami.png) no-repeat center center;
background-size:cover;
position:relative;
padding:0px
}

#home-panele .container {
height:100vh;
position:relative
}

#home-panele .container .row{
position:absolute;
bottom:120px
}

.pb-0 {
	padding-bottom:0px
}

/* Nie usuwaj pierścienia fokusu na klawiaturze — wcześniejsze `box-shadow: none` blokowało
   zielony focus z sekcji FAQ (accordion). Mysz: :focus-visible i tak zwykle nie rysuje obramowania. */
body .accordion-button:focus:not(:focus-visible) {
  outline: none;
}

body .accordion-button:not(.collapsed) {
  color: #222;
  background-color: #fff;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0);
}

body .accordion-item {
  background-color: #fff;
  border: 1px solid #f6f6f5;
  border-radius: 10px;
  margin-bottom: 10px;
}

body .accordion-button {
  color: #2f7c29;
}

body .accordion-button.collapsed {
  color: #222;
}

.accordion-body {
  padding-top: 0px;
  font-weight: 500;
}

.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='%236cba1c' fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transform: rotate(-180deg);
}

/* Rytm sekcji `#aktualnosci-page-wrapper` — tokeny w bloku #main-content */

#aktualnosci-page-wrapper .container{
	padding-bottom: 0;
	border-bottom:1px solid #efefef
}


.faq-wrapper {
	padding-top:15px
}

.budowa-text {
font-weight:400;
font-size:18px;
line-height:28px
}

.ul-green-dots {
list-style: none; /* Remove default bullets */
}

.ul-green-dots li::before {
  content: "\2022";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
  color: #2f7c29; /* Change the color */
  font-weight: bold; /* If you want it to be bold */
  display: inline-block; /* Needed to add space between the bullet and the text */
  width: 1em; /* Also needed for space (tweak if needed) */
  margin-left: -1em; /* Also needed for space (tweak if needed) */
  margin-bottom:10px
}

.social-corner {
position:absolute;
bottom:35px;
right:25px;
z-index:9990;
width:50px;
text-align:center
}

.social-corner a{
display:block;
text-align:center;
margin-top:12px
}

.green-separator {
width:64px;
height:6px;
background-color:#2f7c29;
margin-top:25px;
margin-bottom:25px
}

.panel-feature {
float:left;
margin-right:45px
}

.feature-one {
color:#fff;
font-size: 22px;
line-height:28px;
font-weight:bold;
margin-bottom:12px
}

.feature-two {
font-weight:300;
color:#fff;
font-size:16px;
line-height:22px
}

.panele-button {
margin-top:35px
}

.button img {
margin-right:10px
}

.button {
display:inline-block;
background-color:#F5ECD7;
padding:16px 35px;
border-radius:5px;
color:#000;
font-size:14px;
line-height:28px;
font-weight:400;
transition:.3s
}

.button:hover {
background-color:#18242D;
color:#fff
}

#hp-dlaczego {
  background: url(img/dlaczegobg.svg) no-repeat center center;
  background-size: cover;
  background-color: #18242d;
  color: #fff;
}

#hp-dlaczego h2 {
margin-bottom:70px
}

.hp-wykres-text {
text-align:center;
font-weight:500;
font-size:22px;
line-height:43px;
margin-top:60px
}

#hp-news {
background-color:#18242D
}

#hp-news a {
color:#F5ECD7;
font-size:19px;
line-height:28px;
display:block;
margin-top:20px
}

#hp-news h1 {
margin-bottom:50px;
font-weight:400
}

#hp-wykres {
	background-color:#f4f4f3
}

.hp-realizacja-box {
	margin-bottom:25px
}

.modal-content {
  border-radius: 15px;
}

.modal-header {
  padding: 0px 50px;
  border-bottom: 0px;
  	padding-top:20px;
}

.modal-body {

  padding: 30px 50px;
  	padding-bottom:50px;
}

.modal-calc-contact-title {
	padding-top:40px;
	padding-bottom:35px;
	font-size:17px;
	font-weight:600;
}
	
.modal-header .btn-close {
  padding: 0px;
  margin: 0px;
  position: absolute;
  top: 20px;
  right: 20px;
}	

.modal-dialog h5 {
  font-size: 17px;
  font-weight: 400;
}

.modal-calc-contact-right {
	padding-left:35px
}

.modal-calc-price-lable {
	font-size:14px;
	line-height:18px;
	color:#586e7f;
	border-bottom:1px solid #efefef;
	padding-bottom:15px;
	margin-bottom:15px
}

.modal-calc-price {
	color:#2f7c29;
	font-weight:500
}

.modal-calc-contact-tel img, .modal-calc-contact-email  img{
	margin-right:10px
}

.hp-calc-submit .calc-box {
  margin-bottom: 0;
}

/* .ar-r-green — ujednolicona definicja na końcu pliku */

.ar-r-green img{
	margin-right:1px;
	transition:.3s
}

.ar-r-green:hover img {
	margin-right:10px
}

#hp-realizacje h1,
#hp-realizacje h2 {
margin-bottom:80px;
font-weight:400
}

#hp-newsy  {
background-color:#18242D
}

#hp-newsy  h1,
#hp-newsy  h2{
color:#F5ECD7;
margin-bottom:80px;
font-weight:400
}

#hp-gotowe  {
background-color:#18242D
}

#hp-gotowe  h1,
#hp-gotowe  h2{
color:#F5ECD7;
margin-bottom:80px;
font-weight:400
}

/* HP gotowe projekty – wymuszenie proporcji 447x241 dla miniatur */
#hp-gotowe .gotowe-slider .overlay-img {
position:relative;
display:block;
border-radius:0;
overflow:hidden
}

@supports (aspect-ratio:447 / 241){
#hp-gotowe .gotowe-slider .overlay-img {
aspect-ratio:447 / 241
}
#hp-gotowe .gotowe-slider .overlay-img::before {
content:none
}
}

@supports not (aspect-ratio:447 / 241){
#hp-gotowe .gotowe-slider .overlay-img::before {
content:"";
display:block;
padding-top:53.92%
}
}

#hp-gotowe .gotowe-slider .overlay-img img,
#hp-gotowe .gotowe-slider .overlay-img .overlay {
position:absolute;
inset:0;
width:100%;
height:100%
}

#hp-gotowe .gotowe-slider .overlay-img img {
object-fit:cover;
transition:transform .35s ease
}

#hp-gotowe .gotowe-slider .overlay-img:hover img,
#hp-gotowe .gotowe-slider .overlay-img:focus-visible img {
transform:scale(1.05)
}

#hp-kalkulator  h1,
#hp-kalkulator  h2{
margin-bottom:80px;
font-weight:400
}

.progress-zero {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 10px;
  overflow: hidden;

  background-color: #f2f2f2;
  background-image: linear-gradient(to right, #18242D, #18242D);
  background-repeat: no-repeat;
  background-size: 0 100%;
  margin-top:80px;
  transition: background-size .4s ease-in-out;
  margin-bottom:120px
}

.progress-two {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 10px;
  overflow: hidden;
  background-color: #434E56;
  background-image: linear-gradient(to right, #fff, #fff);
  background-repeat: no-repeat;
  background-size: 0 100%;
  margin-top:80px;
  transition: background-size .4s ease-in-out;
}

.progress-three {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 10px;
  overflow: hidden;
  background-color: #434E56;
  background-image: linear-gradient(to right, #fff, #fff);
  background-repeat: no-repeat;
  background-size: 0 100%;
  margin-top:50px;
  transition: background-size .4s ease-in-out;
}

.progress-four {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 10px;
  overflow: hidden;
  background-color: #434E56;
  background-image: linear-gradient(to right, #fff, #fff);
  background-repeat: no-repeat;
  background-size: 0 100%;
  margin-top:80px;
  transition: background-size .4s ease-in-out;
}

.progress-wrapper {
padding-left:100px;
padding-right:100px
}

.realizacje-slider .slick-slide {
padding-right:20px
}

.gotowe-slider .slick-slide {
padding-right:20px
}

.news-slider .slick-slide {
padding-right:20px
}

.photo-slider .slick-slide {
padding-right:20px
}

/*
 * Galeria Slick „gotowe projekty” (.sd-gp-photo-slider)
 * Wysokość kadru z szerokości slajdu: h = W × (AR_h / AR_w) — realizacja przez aspect-ratio przy width:100%.
 * Pełna szerokość zdjęcia w komórce: object-fit: contain (bez przycinania boków; ewent. pasy góra/dół przy innym AR pliku).
 * Slick: centerMode false — przy 3 slajdach wszystkie mają jednakową szerokość (centerMode zwężał skrajne).
 */
.sd-gp-photo-slider {
  --sd-gp-gallery-ar-w: 16;
  --sd-gp-gallery-ar-h: 10;
}

.sd-gp-photo-slider .slick-list.draggable,
.sd-gp-photo-slider .slick-list {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.sd-gp-photo-slider .slick-slide {
  padding-right: 20px !important;
  height: auto;
  min-height: 0;
  max-height: none;
  box-sizing: border-box;
}

.sd-gp-photo-slider .slick-slide > div {
  box-sizing: border-box;
  width: 100%;
  display: block;
}

.sd-gp-photo-slider .slick-slide .image {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  aspect-ratio: var(--sd-gp-gallery-ar-w) / var(--sd-gp-gallery-ar-h);
  height: auto;
  overflow: hidden;
  background: #2a3238;
}

.sd-gp-photo-slider .slick-slide .image > a {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  line-height: 0;
}

.sd-gp-photo-slider .slick-slide .image img,
.sd-gp-photo-slider .slick-slide .image img.img-fluid {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
}

@media (max-width: 767.98px) {
  .sd-gp-photo-slider {
    --sd-gp-gallery-ar-w: 4;
    --sd-gp-gallery-ar-h: 3;
  }
}

.p0 {
padding:0px !important;
margin:0px !important
}

.realizacje-link {
font-size:20px;
line-height:50px;
font-weight:700;
color:#667A89;
margin-right:50px;
border:0px;
background:none !important;
border-bottom:2px solid #fff;
padding:0px
}

.realizacje-link:hover {
color:#18242D;
border-bottom:2px solid #18242D
}

.rl-active {
color:#18242D;
border-bottom:2px solid #18242D
}

.realizacje-left {
background-color:#18242D;
padding:14px 15px;
border-radius:69px;
transition:.3s;
margin-right:8px;
line-height:24px;
display:inline-block;
}

.realizacje-right {
background-color:#18242D;
padding:14px 15px;
border-radius:69px;
transition:.3s;
line-height:24px;
display:inline-block;
}

.realizacje-left:hover, .realizacje-right:hover {
background-color:#7E6F4F
}

.newsy-left {
background-color:#667A89;
padding:14px 15px;
border-radius:69px;
transition:.3s;
margin-right:8px;
line-height:24px;
display:inline-block;
}

.newsy-right {
background-color:#667A89;
padding:14px 15px;
border-radius:69px;
transition:.3s;
line-height:24px;
display:inline-block;
}

.newsy-left:hover, .newsy-right:hover {
background-color:#2f7c29
}



.gotowe-left {
background-color:#667A89;
padding:14px 15px;
border-radius:69px;
transition:.3s;
margin-right:8px;
line-height:24px;
display:inline-block;
}

.gotowe-right {
background-color:#667A89;
padding:14px 15px;
border-radius:69px;
transition:.3s;
line-height:24px;
display:inline-block;
}

.gotowe-left:hover, .gotowe-right:hover {
background-color:#2f7c29
}

.over-box-gallery .gotowe-right {
margin-right:100px
}

.over-box-content h2 {
font-weight:600;
color:#18242D;
margin-bottom:30px;
margin-top:40px;
font-size:30px;
line-height:40px
}

.rel-year {
color:#7E6F4F;
font-size:16px;
line-height:32px;
margin-top:20px
}

.rel-name {
color:#18242D;
font-size:22px;
line-height:30px;
font-weight:700;
margin-top:10px
}

.rel-more {
margin-top:30px;
font-size:18px;
line-height:28px;
font-weight:500;
color:#18242D
}

.rel-more a {
color:#18242D
}

.rel-more a:hover {
color:#2f7c29
}

.rel-more img {
display:inline-block;
margin-right:7px
}

.got-name {
color:#fff;
font-size:22px;
line-height:30px;
font-weight:700;
margin-top:20px;
display:block
}

.got-more {
margin-top:30px;
font-size:18px;
line-height:28px;
font-weight:500;
color:#667A89
}

.got-more a {
color:#667A89
}

.got-more a:hover {
color:#2f7c29
}

.got-more img {
display:inline-block;
margin-right:7px
}

.calc-box {
color:#686B5B;
margin-bottom:10px
}

.calc-options {
background-color:#F1F3F4;
border-radius:5px;
display:inline-block;
margin-top:12px;
padding:5px;
font-size:16px;
line-height:28px
}

.calc-option {
padding:16px 25px;
color:#667A89;
display:inline-block;
text-align:center
}

.calc-active {
border-radius:5px;
background-color:#18242D;
color:#F5ECD7;
padding:16px 25px
}

.upload-button {
padding:22px 25px;
color:#667A89;
display:inline-block;
text-align:center;
background-color:#F5ECD7;
border-radius:5px;
}

.calc-oblicz {
padding:15px 70px;
border: none;
border-radius:5px;
color:#fff;
display:inline-block;
text-align:center;
background-color:#2f7c29;
font-size:16px;
transition: background-color 0.5s;
}

.calc-oblicz:hover {
background-color:#667A89;
color:#fff;
}

.calc-results {
border-radius:20px;
background-color:#F1F3F466;
border:1px solid #F1F3F4;
margin-top:30px
}

.form-top {
padding:60px;
}

.form-bottom {
background-color:#efefef;
padding:60px;
padding-top:10px;
border-radius:5px
}

.calc-cost {
margin-top:50px;
margin-bottom:50px
}

.calc-cost-box {
color:#000000;
font-weight:500;
font-size:17px
}

.calc-cost-name {
color:#667A89;
font-weight:400;
padding-bottom:17px;
border-bottom:1px solid #F1F3F4;
margin-bottom:17px
}

.modal-calc-contact-tel, .modal-calc-contact-email {
	margin-top:18px
}

.modal-calc-contact-submit {
	margin-top:25px
}

.modal-calc-contact-name {
	font-size:20px
}

h3 {
font-weight:400
}

/* Social w nagłówku: layout + rozmiar grafiki — `css/sd-layout-header.css` (≥992px) */
#content-start .navbar-nav > li > a.menu-social-link img {
  width: 20px;
  height: 20px;
  display: block;
}

.formularz {
margin-top:40px
}

.form {
margin-top:40px;
margin-bottom:30px
}

.form input {
background:none;
border:0px;
border-bottom:1px solid silver;
width:100%;
max-width:85%;
font-size:15px;
color:#000;
padding: 15px 0px;
margin-right:15px
}

/* Globalne pola: Bootstrap/CF7 nadpisują border/outline — zostaje minimalny !important */
body input:focus,
body input:active,
body input:hover,
body textarea:focus,
body textarea:active,
body textarea:hover {
  outline: 0 !important;
  border-bottom: 1px solid #2f7c29 !important;
}

.calc-box label {
	display:block;
	color:#726646
}

.calc-box-acceptance-col {
font-size:13px;
line-height:18px;
padding-top:10px;
padding-bottom:10px
}

.calc-box-acceptance-col input {
	width:auto !important;
	margin-right:10px
}

.hp-kontakt-text {
font-size:16px;
line-height:28px;
margin-top:25px;
margin-bottom:40px
}

.kontakt-more {
margin-top:40px;
font-size:16px;
line-height:28px
}



.wpcf7-form-control {
width: 100%;
border: 0px;
    border-bottom-color: currentcolor;
    border-bottom-style: none;
    border-bottom-width: 0px;
border-bottom: 1px solid #AEB1A4;
font-size: 15px;
line-height: 35px;
}

form input.wpcf7-submit {
border:0px;
background-color:#2f7c29;
transition:.3s;
text-align:center;
color:#fff;
display:inline-block;
padding:15px 70px;
font-size:16px;
line-height:16px;
width:auto;
border-radius:5px
}

form input.wpcf7-submit:hover {
background-color:18242D
}

.wpcf7-list-item-label {
	color:#222
}

/* ═══════════════════════════════════════════════════════════
   NOWA STOPKA — Premium Layout (2026-04-17, tło jasne 2026-04-18)
   ═══════════════════════════════════════════════════════════ */

/* ── Główna siatka — jasne tło: lekkość, czytelność, spójność z kartami/sekcjami ── */
#footer {
  background-color: var(--sd-color-surface-alt);
  color: var(--sd-color-footer-muted, var(--sd-color-ink-muted));
  font-size: var(--sd-text-sm);
  line-height: 1.6;
}

/* Focus / kotwice: treść nad fixed bottom bar (WCAG 2.4.11 / 2.4.13) */
@media (max-width: 991.98px) {
  html {
    scroll-padding-bottom: var(--sd-mobile-bottom-bar-height, calc(64px + env(safe-area-inset-bottom, 0px)));
  }
}

.sd-footer-main {
  padding-top: clamp(3rem, 6vw, 5rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--sd-color-border);
}

.sd-footer-main .row {
  --bs-gutter-y: var(--sd-space-md);
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .sd-footer-newsletter-col {
    margin-top: var(--sd-space-sm);
  }
}

/* ── Logo (oryginalne kolory SVG — bez inwersji na jasnym tle) ── */
.sd-footer-logo-link {
  display: inline-block;
  margin-bottom: 1.25rem;
}

.sd-footer-logo-link:focus-visible {
  outline: 2px solid var(--sd-color-green-dark);
  outline-offset: 4px;
  border-radius: 4px;
}

.sd-footer-logo {
  height: 36px;
  width: auto;
  filter: none;
  opacity: 1;
}

/* ── Tagline ─────────────────────────────────────────────── */
.sd-footer-tagline {
  color: var(--sd-color-footer-muted, var(--sd-color-ink-muted));
  font-size: var(--sd-text-sm);
  line-height: 1.65;
  max-width: 30ch;
  margin: 0 0 1.5rem;
}

/* ── Lista kontaktowa ────────────────────────────────────── */
.sd-footer-contact-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.sd-footer-contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: var(--sd-text-sm);
}

.sd-footer-icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  color: var(--sd-color-green-dark);
}

.sd-footer-contact-list a,
.sd-footer-contact-list span {
  color: var(--sd-color-text);
  text-decoration: none;
  transition: color var(--sd-ease);
}

.sd-footer-contact-list a:hover {
  color: var(--sd-color-green-hover);
}

.sd-footer-contact-list a:focus-visible {
  outline: 2px solid var(--sd-color-green-dark);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ── Ikony social — obramowanie jak na jasnym UI ─────────── */
.sd-footer-socials {
  display: flex;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.sd-footer-social {
  display: flex;
  align-items: center;
  justify-content: center;
  /* WCAG 2.5.8 Target Size: min. 24×24 (AA); na ≤991px — 44×44 (wygoda dotyku) */
  width: 2.5rem;
  height: 2.5rem;
  min-width: 24px;
  min-height: 24px;
  border: 1px solid var(--sd-color-border);
  border-radius: 50%;
  color: var(--sd-color-footer-muted, var(--sd-color-ink-muted));
  transition: color var(--sd-ease), border-color var(--sd-ease), background var(--sd-ease);
}

@media (max-width: 991.98px) {
  .sd-footer-social {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 44px;
    min-height: 44px;
  }
}

.sd-footer-social svg {
  width: 17px;
  height: 17px;
}

.sd-footer-social:hover {
  color: #fff;
  border-color: var(--sd-color-green-dark);
  background: var(--sd-color-green-dark);
}

.sd-footer-social:focus-visible {
  outline: 2px solid var(--sd-color-green-dark);
  outline-offset: 3px;
}

/* ── Nagłówki kolumn (h2 — jeden poziom w stopce; reset globalnych reguł `h2` z media queries) ── */
#footer h2.sd-footer-heading {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sd-color-green-dark);
  margin: 0 0 1.1rem;
  line-height: 1.35;
}

/* Nagłówek w karcie newslettera — skala względem `.sd-footer-newsletter-card__head` (ikona + kapitaliki) */
#footer h2.sd-footer-newsletter-card__title.sd-footer-heading {
  font-size: 1em;
  line-height: 1.25;
  margin-bottom: 0;
}

.sd-footer-nav-wrap {
  display: block;
}

/* ── Nawigacja ───────────────────────────────────────────── */
.sd-footer-nav {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.sd-footer-nav a {
  color: var(--sd-color-footer-muted, var(--sd-color-ink-muted));
  font-size: var(--sd-text-sm);
  text-decoration: none;
  transition: color var(--sd-ease), text-decoration-color var(--sd-ease);
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.sd-footer-nav a:hover {
  color: var(--sd-color-text);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.sd-footer-nav a:focus-visible {
  outline: 2px solid var(--sd-color-green-dark);
  outline-offset: 2px;
  border-radius: 2px;
}

.sd-footer-nav a::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 1px;
  background: var(--sd-color-green-dark);
  flex-shrink: 0;
  transition: width var(--sd-ease);
}

.sd-footer-nav a:hover::before {
  width: 18px;
}

/* ── Newsletter — karta + scalony pasek e-mail / CTA ─────── */
.sd-footer-newsletter-card {
  padding: clamp(1.2rem, 0.35rem + 2.2vw, 1.65rem);
  background: linear-gradient(160deg, var(--sd-color-surface) 0%, var(--sd-color-surface-soft) 100%);
  border: 1px solid var(--sd-color-border);
  border-radius: 0;
  box-shadow: var(--sd-shadow-soft);
  transition: box-shadow var(--sd-ease), border-color var(--sd-ease);
}

.sd-footer-newsletter-card:hover {
  box-shadow: var(--sd-shadow-hover);
  border-color: rgba(23, 31, 36, 0.18);
}

.sd-footer-newsletter-card__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
  /* Wspólna skala typu — ikona w `em` wizualnie centruje się z kapitalikiem */
  font-size: 0.7rem;
  line-height: 1.25;
}

.sd-footer-newsletter-card__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sd-color-green-dark);
  line-height: 0;
  font-size: 1em;
}

.sd-footer-newsletter-card__icon svg {
  display: block;
  width: 1.35em;
  height: 1.35em;
}

.sd-footer-newsletter-lead {
  color: var(--sd-color-footer-muted, var(--sd-color-ink-muted));
  font-size: var(--sd-text-sm);
  line-height: 1.65;
  margin: 0 0 1.1rem;
  max-width: min(42ch, 75ch);
}

.sd-footer-newsletter-card .sd-footer-newsletter-lead {
  margin-bottom: 1rem;
}

.sd-footer-newsletter-card .sd-footer-newsletter-form {
  position: relative;
}

/* CF7: e-mail (obrys) → zgody → przycisk pełnej szerokości (kanciaste rogi) */
.sd-footer-newsletter-card .sd-footer-newsletter-form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.sd-footer-newsletter-card .sd-newsletter-bar {
  border-radius: 0;
  /* overflow: visible — żeby inset focus / box-shadow nie był przycinany (2.4.11 / 2.4.13) */
  overflow: visible;
  border: 1px solid var(--sd-color-border);
  background: var(--sd-color-surface);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.sd-footer-newsletter-card .sd-newsletter-bar__field .wpcf7-form-control-wrap {
  display: flex;
  align-items: stretch;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  min-height: 48px;
}

.sd-footer-newsletter-card .sd-newsletter-bar input[type="email"],
.sd-footer-newsletter-card .sd-newsletter-bar input[type="text"],
.sd-footer-newsletter-card .sd-newsletter-bar .wpcf7-email,
.sd-footer-newsletter-card .sd-newsletter-bar .wpcf7-text {
  flex: 1 1 auto;
  align-self: stretch;
  min-height: 48px;
  height: 100%;
  box-sizing: border-box;
  background: transparent;
  border: none;
  border-radius: 0;
  color: var(--sd-color-text);
  font-size: var(--sd-text-sm);
  padding: 0.75rem 1rem;
  width: 100%;
  transition: background var(--sd-ease), box-shadow var(--sd-ease);
  line-height: 1.45;
  box-shadow: none;
}

.sd-footer-newsletter-card .sd-newsletter-bar .wpcf7-email:focus,
.sd-footer-newsletter-card .sd-newsletter-bar .wpcf7-text:focus {
  outline: none;
}

.sd-footer-newsletter-card .sd-newsletter-bar .wpcf7-email:focus-visible,
.sd-footer-newsletter-card .sd-newsletter-bar .wpcf7-text:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--sd-color-green-dark);
  background: rgba(42, 120, 41, 0.04);
}

.sd-footer-newsletter-card .sd-newsletter-bar input[type="email"]::placeholder,
.sd-footer-newsletter-card .sd-newsletter-bar .wpcf7-email::placeholder {
  color: var(--sd-color-ink-muted);
  opacity: 0.88;
}

.sd-footer-newsletter-card .sd-newsletter-actions {
  margin: 0;
  padding: 0;
}

.sd-footer-newsletter-card .sd-newsletter-actions p {
  margin: 0;
  padding: 0;
}

.sd-footer-newsletter-card .sd-newsletter-actions input[type="submit"],
.sd-footer-newsletter-card .sd-newsletter-actions .wpcf7-submit {
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 0.65rem 1.25rem;
  background: var(--sd-color-green-dark);
  border: none;
  border-radius: 0 !important;
  color: #fff;
  font-size: var(--sd-text-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--sd-ease), color var(--sd-ease);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.sd-footer-newsletter-card .sd-newsletter-actions input[type="submit"]:hover,
.sd-footer-newsletter-card .sd-newsletter-actions .wpcf7-submit:hover {
  background: var(--sd-color-green-hover);
}

.sd-footer-newsletter-card .sd-newsletter-actions input[type="submit"]:focus-visible,
.sd-footer-newsletter-card .sd-newsletter-actions .wpcf7-submit:focus-visible {
  outline: 2px solid var(--sd-color-green-dark);
  outline-offset: 2px;
  z-index: 1;
  position: relative;
}

/* Zgody — między polem a przyciskiem */
.sd-footer-newsletter-card .sd-newsletter-consents {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
}

.sd-footer-newsletter-card .sd-newsletter-consents__item {
  margin: 0;
  font-size: var(--sd-text-xs);
  line-height: 1.55;
  max-width: 65ch;
  color: var(--sd-color-footer-muted, var(--sd-color-ink-muted));
}

.sd-footer-newsletter-card .sd-newsletter-consents__item .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.sd-footer-newsletter-card .sd-newsletter-consents__item .wpcf7-list-item {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin: 0;
}

.sd-footer-newsletter-card .sd-newsletter-consents__item input[type="checkbox"] {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin: 0.12rem 0 0;
  accent-color: var(--sd-color-green-dark);
}

.sd-footer-newsletter-card .sd-newsletter-consents__item .wpcf7-list-item label,
.sd-footer-newsletter-card .sd-newsletter-consents__item label {
  cursor: pointer;
  margin: 0;
}

/* Honeypot (antyspam) */
.sd-footer-newsletter-card .sd-newsletter-hp-wrap {
  position: absolute !important;
  left: -999em !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

.sd-footer-newsletter-card .sd-footer-newsletter-form .wpcf7-form .wpcf7-response-output,
.sd-footer-newsletter-card .sd-footer-newsletter-form .wpcf7-form > .wpcf7-response-output {
  border-top: 1px solid var(--sd-color-border-light);
}

.sd-footer-newsletter-card .sd-footer-newsletter-form .wpcf7-response-output {
  color: var(--sd-color-ink-muted);
  border: none;
  border-radius: 0;
  padding: 0.5rem 0.85rem;
  margin: 0;
  font-size: 0.8rem;
  background: var(--sd-color-surface-soft);
}

.sd-footer-newsletter-card .sd-footer-newsletter-form .wpcf7-spinner {
  display: none;
}

/* ── Stopka dolna (ten sam jasny ton + delikatny kontrast) ─ */
.sd-footer-bottom {
  padding-top: 2rem;
  padding-bottom: 2.5rem;
  background-color: var(--sd-color-surface-soft);
  border-top: 1px solid var(--sd-color-border-light);
}

/* KPO section */
.sd-footer-kpo {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--sd-color-border);
}

.sd-footer-kpo-logo {
  max-height: 48px;
  width: auto;
  flex-shrink: 0;
  filter: none;
  opacity: 1;
}

.sd-footer-kpo-text {
  flex: 1 1 18rem;
  min-width: min(100%, 42rem);
  max-width: 65ch;
}

.sd-footer-kpo-text,
.sd-footer-kpo-text p {
  font-size: var(--sd-text-xs);
  line-height: 1.6;
  color: var(--sd-color-footer-muted, var(--sd-color-ink-muted));
  margin: 0;
}

.sd-footer-kpo-text a {
  color: var(--sd-color-green-dark);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.sd-footer-kpo-text a:hover {
  color: var(--sd-color-green-hover);
}

/* Legal bar */
.sd-footer-legal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}

.sd-footer-legal-links {
  width: 100%;
}

.sd-footer-legal-links__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
}

.sd-footer-legal-links a {
  font-size: 0.75rem;
  color: var(--sd-color-footer-muted, var(--sd-color-ink-muted));
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.sd-footer-legal-links a:hover {
  color: var(--sd-color-green-hover);
}

/* Strona Partnerzy */
.sd-partners-section .sd-partner-card__logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 4.5rem;
}
.sd-partners-section .sd-partner-card__logo-link {
  display: inline-flex;
  max-width: 100%;
  line-height: 0;
}
.sd-partners-section .sd-partner-card__logo-img {
  max-width: min(100%, 280px);
  max-height: 5.5rem;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: left center;
}
.sd-partners-section .sd-partner-card h2 a {
  color: inherit;
  text-decoration: none;
}
.sd-partners-section .sd-partner-card h2 a:hover {
  color: var(--sd-color-green-hover);
  text-decoration: underline;
}
.sd-partners-section .sd-partner-card__body p:last-child {
  margin-bottom: 0;
}

/* Artykuł długi — layout kremowy (jak deklaracja dostępności) */
.sd-article-eyebrow {
  display: block;
  font-size: var(--sd-text-sm);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sd-color-green-dark, #2a7829);
  line-height: 1;
}

/* Artykuł prefabrykacja — narracja wizualna (lead, rozdziały, cytat, CTA) */
.sd-article-longform .sd-article-block--intro {
  position: relative;
  margin-bottom: 2.75rem;
  padding: 1.85rem 1.6rem 2.1rem;
  border-radius: 18px;
  background: linear-gradient(
    145deg,
    rgba(255, 254, 250, 0.98) 0%,
    rgba(245, 236, 220, 0.45) 45%,
    rgba(251, 248, 240, 0.95) 100%
  );
  border: 1px solid rgba(232, 223, 208, 0.9);
  box-shadow: 0 10px 36px rgba(62, 54, 38, 0.07);
  overflow: hidden;
}
.sd-article-longform .sd-article-block--intro::before {
  content: "\201C";
  position: absolute;
  top: 0.2rem;
  left: 0.9rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 4.25rem;
  line-height: 1;
  color: rgba(47, 124, 41, 0.11);
  pointer-events: none;
}
.sd-article-longform .sd-article-block--intro .lead {
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  font-size: clamp(1.15rem, 2.3vw, 1.35rem);
  line-height: 1.72;
  max-width: 52rem;
  color: #2f2c28;
  font-weight: 500;
}
.sd-article-longform .sd-article-block--story {
  position: relative;
  padding-top: 0.15rem;
  margin-bottom: 2.5rem;
}
.sd-article-longform .sd-article-block--intro + .sd-article-block--story {
  margin-top: 0.25rem;
}
.sd-article-longform .sd-article-block--story + .sd-article-block--story {
  margin-top: 0;
  padding-top: 2.75rem;
  border-top: 1px solid #ece6d9;
}
.sd-article-longform .sd-article-block--story::before {
  content: "";
  display: block;
  width: 2.75rem;
  height: 4px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--sd-color-green-dark, #2a7829), #a08662);
  margin-bottom: 1.15rem;
  box-shadow: 0 2px 8px rgba(47, 124, 41, 0.2);
}

/* Treść artykułu: jak deklaracja — sekcja biała (.privacy-sections), pełna szerokość .container */

.sd-article-longform .sd-article-longform__inner {
  font-size: 1.0625rem;
  line-height: 1.68;
  color: #3d3a35;
}
.sd-article-longform .sd-article-block {
  margin-bottom: 2.25rem;
}
.sd-article-longform .sd-article-block h2 {
  font-size: clamp(1.28rem, 2.4vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
  margin-top: 0;
  color: #2c2926;
}
.sd-article-longform .sd-article-block ul,
.sd-article-longform .sd-article-block ol {
  padding-left: 1.25rem;
  margin-bottom: 1rem;
}
.sd-article-longform .sd-article-block li + li {
  margin-top: 0.5rem;
}

/* Fakty — układ edytorski (linie, bez ciężkich kart) */
.sd-article-longform .sd-article-facts {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 1.5rem 0 0;
  padding-top: 0;
  border-top: none;
}
.sd-article-longform .sd-article-fact {
  margin: 0;
  padding: 1.15rem 0 1.2rem;
  border: none;
  border-bottom: 1px solid #ece6d9;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.sd-article-longform .sd-article-fact:last-child {
  border-bottom: none;
  padding-bottom: 0.15rem;
}
.sd-article-longform .sd-article-fact__title {
  margin: 0 0 0.45rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6b5d47;
  line-height: 1.4;
}
.sd-article-longform .sd-article-fact__text {
  margin: 0;
  line-height: 1.7;
  color: #3d3a35;
  max-width: 58rem;
}
.sd-article-longform .sd-article-fact--stat {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 1.35rem;
  padding: 1.2rem 0 1.3rem;
}
.sd-article-longform .sd-article-fact__stat {
  flex: 0 0 auto;
  min-width: 4.75rem;
  padding: 0.4rem 0.75rem;
  font-size: 0.95rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
  text-align: center;
  color: var(--sd-color-green-dark, #2a7829);
  background: #f2ede4;
  border: 1px solid #d8cfc0;
  border-radius: 6px;
  box-shadow: none;
}
.sd-article-longform .sd-article-fact__body {
  flex: 1 1 12rem;
  min-width: 0;
}
.sd-article-longform .sd-article-fact--stat .sd-article-fact__title {
  text-transform: none;
  letter-spacing: 0.01em;
  font-size: 1.05rem;
  font-weight: 700;
  color: #2c2926;
}

/* Kroki numerowane */
.sd-article-longform .sd-article-steps {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 1.35rem 0 0;
}
.sd-article-longform .sd-article-step {
  display: flex;
  gap: 1.15rem;
  align-items: flex-start;
  margin: 0;
  padding: 1.15rem 1.2rem 1.2rem 1.15rem;
  border: 1px solid #e5dcc8;
  border-radius: 14px;
  background: #fffefc;
  box-shadow: 0 8px 32px rgba(47, 40, 30, 0.06);
}
.sd-article-longform .sd-article-step__num {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1;
  color: #fffefb;
  background: linear-gradient(145deg, #5a8f52, #3d6b36);
  border-radius: 50%;
  box-shadow:
    0 3px 12px rgba(61, 107, 54, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.sd-article-longform .sd-article-step__body {
  flex: 1;
  min-width: 0;
}
.sd-article-longform .sd-article-step__title {
  margin: 0 0 0.4rem;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.35;
  color: #2c2926;
}
.sd-article-longform .sd-article-step__text {
  margin: 0;
  line-height: 1.65;
  font-size: 1rem;
  color: #3d3a35;
}
@media (max-width: 575px) {
  .sd-article-longform .sd-article-block--intro {
    padding: 1.35rem 1.2rem 1.5rem;
  }
  .sd-article-longform .sd-article-block--intro::before {
    font-size: 3.25rem;
  }
  .sd-article-longform .sd-article-fact--stat {
    flex-direction: column;
    align-items: stretch;
  }
  .sd-article-longform .sd-article-fact__stat {
    align-self: flex-start;
  }
}
.sd-article-longform .sd-article-quote {
  margin: 2rem 0 0;
  padding: 1.35rem 1.5rem 1.45rem 1.5rem;
  border-left: 4px solid #7e6f4f;
  border-radius: 0 14px 14px 0;
  background: linear-gradient(95deg, #efe8dc 0%, #f5efe6 55%, #f2ede4 100%);
  font-style: italic;
  color: #3d3a35;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}
.sd-article-longform .sd-article-quote cite {
  display: block;
  margin-top: 0.85rem;
  font-style: normal;
  font-size: 0.95rem;
  color: #6b6258;
}
.sd-article-longform .sd-article-cta {
  margin-top: 2.75rem;
  padding: 1.85rem 1.65rem 1.75rem;
  padding-top: calc(1.1rem + 5px);
  border-radius: 18px;
  border: 1px solid #d4c9b8;
  background: linear-gradient(165deg, #fffefa 0%, #f2e9db 55%, #ebe2d4 100%);
  box-shadow:
    0 14px 44px rgba(62, 54, 38, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
  position: relative;
  overflow: hidden;
}
.sd-article-longform .sd-article-cta::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 5px;
  background: linear-gradient(90deg, #8b7355, var(--sd-color-green-dark, #2a7829), #8b7355);
  opacity: 0.92;
}
.sd-article-longform .sd-article-cta h2 {
  font-size: clamp(1.15rem, 2vw, 1.35rem);
}
.sd-article-longform .sd-article-cta__actions {
  margin-top: 1rem;
  margin-bottom: 0;
}

/* Artykuł prefabrykacja — układ zbliżony do /oferta/ (hero + section-cream + kafle) */
.sd-article-prefab-main--texture.photo-bg {
  --section-bg: url("img/panele/sciana-elewacja-drewniana-z-oznaczeniami.png");
}
.sd-article-prefab-main--texture.photo-bg::before {
  opacity: 0.14;
  filter: saturate(0.9);
}
.sd-article-prefab-main .sd-article-offer-shell {
  max-width: min(100%, 68rem);
  margin-inline: auto;
  padding: clamp(1.35rem, 3.5vw, 2.65rem) clamp(1.15rem, 3vw, 2.35rem);
  background: #fffef8;
  border: 1px solid #e1e5df;
  border-radius: 22px;
  box-shadow: 0 22px 48px rgba(47, 40, 30, 0.07);
}
.sd-article-longform--offer.sd-article-longform .sd-article-block--intro {
  background: #fff;
  border: 1px solid #e1e5df;
  box-shadow: 0 12px 32px rgba(47, 40, 30, 0.06);
}
.sd-article-longform--offer.sd-article-longform .sd-article-block--intro::before {
  color: rgba(47, 124, 41, 0.14);
}
.sd-article-prefab-main .sd-article-facts {
  margin-top: 1.85rem;
  gap: 1rem;
}
.sd-article-prefab-main .sd-article-fact {
  padding: 1.25rem 1.35rem 1.3rem;
  border: 1px solid #e1e5df;
  border-radius: 18px;
  background: #fff;
  border-bottom: 1px solid #e1e5df;
  box-shadow: 0 10px 28px rgba(47, 40, 30, 0.05);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.sd-article-prefab-main .sd-article-fact:hover {
  transform: translateY(-4px);
  border-color: #cfe3c7;
  box-shadow: 0 18px 34px rgba(42, 120, 41, 0.12);
}
.sd-article-prefab-main .sd-article-fact:last-child {
  padding-bottom: 1.3rem;
}
@media (prefers-reduced-motion: reduce) {
  .sd-article-prefab-main .sd-article-fact:hover {
    transform: none;
  }
}
.sd-article-longform--offer.sd-article-longform .sd-article-step__num {
  color: #f5ecd7;
  background: #7e6f4f;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 3px 12px rgba(62, 54, 38, 0.28);
}
.sd-article-longform--offer.sd-article-longform .sd-article-step {
  background: #fff;
  border-color: #e1e5df;
  box-shadow: 0 14px 34px rgba(47, 40, 30, 0.06);
}
.sd-article-longform--offer.sd-article-longform .sd-article-quote {
  background: linear-gradient(95deg, #fffefc 0%, #f5efe6 100%);
  border-left-color: var(--sd-color-green-dark, #2a7829);
}

.sd-footer-copy {
  font-size: 0.75rem;
  color: var(--sd-color-footer-muted, var(--sd-color-ink-muted));
  margin: 0;
}

.sd-footer-legal-sep {
  margin-left: 1.25rem;
  padding-left: 1.25rem;
  border-left: 1px solid var(--sd-color-border);
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 767px) {
  .sd-footer-tagline { max-width: 100%; }
  .sd-footer-newsletter-lead { max-width: 100%; }
  .sd-footer-brand-col { padding-bottom: 0.5rem; }
}

/* ── Zachowanie starych selektorów (backwards compat) ─────── */
.fcol1, .fcol2, .fcol3 { /* legacy — nie usuwamy żeby nie zepsuć innych miejsc */ }
#footer-second { display: none; } /* zintegrowany w sd-footer-bottom */

.kontakt-phone {
margin-bottom:15px
}

.over-box {
background-color:#fff;
float:right;
width:75%;
margin-left:25%;
min-height:100vh
}

.over-box-inner {
padding:100px;
padding-bottom:0px;
padding-top:80px
}

.over-box-content {
padding:70px 100px;
padding-right:20%
}

.over-box-content-wide {
padding:70px 100px;
}


.obc-first {
padding-top:40px
}

.over-box-gallery {
padding:80px 0px 80px 0px;
background-color:#18242D
}

.over-box-gallery h1{
color: #F5ECD7;
margin-bottom: 60px;
font-weight: 400;
margin-left:100px;
font-size:45px;
line-height:53px
}

.over-box-nav {
margin-bottom:80px
}

.news-left {
background-color:#7E6F4F;
padding:19px 20px;
border-radius:84px;
transition:.3s;
margin-right:13px;
line-height: 24px;
display: inline-block;
}

.news-right {
background-color:#7E6F4F;
padding:19px 20px;
border-radius:84px;
transition:.3s;
margin-right:13px;
line-height: 24px;
display: inline-block;
}



.news-left:hover, .news-right:hover {
background-color:#000
}

.disable-circle {
background-color: #F1F3F4 !important
}

.close {
background-color:#F1F3F4;
padding:19px 27px 21px 27px;
border-radius:44px;
transition:.3s;
float:right;
}

.close:hover {
background-color:#E2E2E2;
}

.over-box h1 {
text-transform:uppercase
}

.smob {
display:none
}



.mobile-arrows {
display:none
}

/* TEMP fix: horizontal nav menu */
@media (min-width: 768px){
  nav#content-start .me-nav > ul.menu{
    display:flex;
    flex-direction:row;
    gap:1.5rem;
    list-style:none;
    margin:0;
    padding:0;
  }
  nav#content-start .me-nav > ul.menu > li{display:inline-block;}
}


@media only screen and (max-width: 1680px) {

/* .sbig obsługuje clamp w var(--sd-space-section) */

#hp-dlaczego {
background: url(img/dlaczegobg.svg) no-repeat center center;
background-size:cover;
background-color:#18242d
}


}


@media only screen and (max-width: 1400px) {

.hp-naturalne-left {
	padding-right:70px
}

.hp-naturalne-right {
	padding-left:30px
}

.hp-naturalne-left-text img {
  margin-top: 25px;
  margin-bottom: 25px;
}

}

@media only screen and (max-width: 1200px) {

#footer {
  font-size: 15px;
  line-height: 25px;
}

.hp-naturalne-left {
	padding-right:40px
}

.hp-naturalne-right {
	padding-right:10px
}

.hp-naturalne-left-text img {
  margin-top: 20px;
  margin-bottom: 20px;
}

}

@media only screen and (max-width: 998px) {

h2 {
font-size: var(--sd-heading-h2-fs-mobile);
line-height: var(--sd-heading-h2-lh-mobile);
}

/* Wyższa specyficzność niż `css/slick-theme.css` (ładowany po style.css),
   inaczej `top: 50%` + `transform` z theme wygrywa i strzałki zostają na środku. */
.slick-slider .slick-prev,
.slick-slider .slick-next {
    height: 60px;
    width: 60px;
}

.slick-slider .slick-next {
    right: 25px;
}

.slick-slider .slick-prev {
    left: auto;
    right: 110px;
}

.slick-slider .slick-prev,
.slick-slider .slick-next {
    top: auto;
    bottom: 4%;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
}

#footer-second .container {
  padding-top: 30px;
  padding-bottom: 30px;
}

.social-corner {
display:none
}

.slider-info-one {
    font-size: var(--sd-hero-slider-line1-fs-mobile);
    line-height: var(--sd-hero-slider-line1-lh-mobile);
}

.slider-info-two {
    font-size: var(--sd-hero-slider-line2-fs-mobile);
    line-height: var(--sd-hero-slider-line2-lh-mobile);
    font-weight:500
}

/* .sbig — clamp w var(--sd-space-section) obsługuje mobile */

.budowa-slider {
margin-bottom:60px !important
}

/* Strona główna — przekrój w prawej kolumnie (premium): karta, metryka → tytuł → grafika → warstwy
   (układ 30/70 głównego wiersza: patrz blok #hp-naturalne wyżej — poza max-width:998px) */
#hp-naturalne .hp-naturalne-right .sd-home-natural-wall-band {
  margin-top: 0;
}
@media (max-width: 767.98px) {
  #hp-naturalne .hp-naturalne-right .sd-home-natural-wall-band {
    margin-top: clamp(1.25rem, 3vw, 2.25rem);
  }
}
#hp-naturalne .sd-home-natural-wall-card.sd-home-offer-layer.offer-layers {
  margin-top: 0;
  padding: clamp(1.35rem, 2.65vw, 2.1rem);
  background: linear-gradient(168deg, #ffffff 0%, #fafcfa 42%, #f3f7f2 100%);
  border: 1px solid rgba(23, 31, 36, 0.08);
  border-radius: var(--sd-radius);
  box-shadow: var(--sd-shadow-soft);
  transition: box-shadow var(--sd-ease);
}
@media (prefers-reduced-motion: no-preference) {
  #hp-naturalne .sd-home-natural-wall-card.sd-home-offer-layer.offer-layers:hover {
    box-shadow: var(--sd-shadow-hover);
  }
}
#hp-naturalne .sd-home-natural-slide__article {
  border-bottom: 0;
  padding: 0;
}
#hp-naturalne .sd-home-natural-slide__head {
  padding: 0 0 1rem;
}
#hp-naturalne .sd-home-natural-slide__head-inner {
  padding-bottom: 0.15rem;
}
#hp-naturalne .sd-home-natural-slide__head .layer-metric {
  margin-bottom: 0.45rem;
  font-size: 0.9375rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.1em;
  color: var(--sd-color-green);
  font-weight: 600;
}
#hp-naturalne .sd-home-natural-slide__head h3 {
  margin-bottom: 0.4rem;
  font-size: clamp(1.35rem, 2.85vw, 1.75rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.22;
  color: var(--sd-color-ink);
}
#hp-naturalne .sd-home-natural-slide__head .layer-subtitle {
  font-size: clamp(0.9375rem, 1.15vw, 1.0625rem);
  letter-spacing: 0.03em;
  color: var(--sd-color-ink-muted) !important;
  line-height: 1.5;
}
/* Wizualizacja + lista: w PHP `row` + `col-md-7` / `col-md-5` (grafika ~58%, lista ~42%) — nie nadpisujemy `display` na `.row` */
#hp-naturalne .sd-home-natural-slide__body.row {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  #hp-naturalne .sd-home-natural-slide__layers-wrap {
    max-height: min(360px, 46svh);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-left: 1px solid rgba(23, 31, 36, 0.09);
    scrollbar-gutter: stable;
    padding-left: 0.15rem;
  }
  #hp-naturalne #sd-home-wall .sd-home-natural-slide__layers-wrap .sd-home-natural-slide__layers.layer-content {
    min-width: 0;
    max-width: 100%;
  }
}
/* width:100% tylko w kolumnie (mobile); na desktopie psuje flex obok listy — patrz @media 768px wyżej */
#hp-naturalne .sd-home-natural-slide__visual-full {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
@media (max-width: 767.98px) {
  #hp-naturalne .sd-home-natural-slide__visual-full {
    width: 100%;
  }
}
#hp-naturalne .sd-home-natural-slide__visual-frame {
  border-radius: var(--sd-radius-sm);
  background: linear-gradient(180deg, #fcfdfb 0%, #f3f6f2 100%);
  box-shadow:
    inset 0 0 0 1px rgba(23, 31, 36, 0.07),
    0 10px 28px rgba(15, 35, 22, 0.08);
  padding: clamp(0.55rem, 1.4vw, 0.95rem);
  overflow: hidden;
  transition: box-shadow var(--sd-ease-slow);
}
@media (prefers-reduced-motion: no-preference) {
  #hp-naturalne .sd-home-natural-slide__visual-frame:hover {
    box-shadow:
      inset 0 0 0 1px rgba(47, 124, 41, 0.22),
      0 14px 36px rgba(15, 35, 22, 0.12);
  }
}
#hp-naturalne .sd-home-natural-slide__visual-full .layer-visual-btn {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  line-height: 0;
  border-radius: calc(var(--sd-radius-sm) - 4px);
}
#hp-naturalne .sd-home-natural-slide__visual-full .layer-visual-btn:focus-visible {
  outline: 3px solid var(--sd-color-green);
  outline-offset: 3px;
}
#hp-naturalne .sd-home-natural-slide__visual-full img {
  height: auto !important;
  width: 100%;
  max-width: 100%;
  object-fit: contain;
  vertical-align: middle;
  /* ~+25% względem poprzedniego min(440px, …) */
  max-height: min(550px, 58vh);
  transition: transform var(--sd-ease-slow);
}
@media (prefers-reduced-motion: no-preference) {
  #hp-naturalne .sd-home-natural-slide__visual-frame:hover img {
    transform: scale(1.012);
  }
}
@media (min-width: 768px) {
  #hp-naturalne .sd-home-natural-slide__visual-full img {
    max-height: min(700px, 64vh);
  }
}
@media (min-width: 1200px) {
  #hp-naturalne .sd-home-natural-slide__visual-full img {
    max-height: min(750px, 66vh);
  }
}
@media (max-width: 575.98px) {
  #hp-naturalne .sd-home-natural-slide__visual-full img {
    max-height: min(475px, 56vh);
  }
}
#hp-naturalne .sd-home-natural-slide__layers-wrap {
  margin-top: 0.35rem;
  padding-top: 1.35rem;
  padding-bottom: 0.15rem;
  border-top: 1px solid rgba(23, 31, 36, 0.07);
}
@media (min-width: 768px) {
  #hp-naturalne .sd-home-natural-slide__body .sd-home-natural-slide__layers-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
  }
}
#hp-naturalne .sd-home-natural-slide__layers.layer-content {
  width: 100%;
  max-width: 100%;
  padding-left: 0 !important;
  box-sizing: border-box;
}
#hp-naturalne .sd-home-natural-slide__layers .layer-list,
#hp-naturalne .sd-home-natural-slide__layers .layer-inline-list {
  margin-top: 0;
  margin-bottom: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding-left: 1.1rem;
  color: var(--sd-hero-lead-ink);
  font-size: clamp(0.9rem, 1.05vw, 1.0625rem);
  line-height: 1.52;
}
#hp-naturalne .sd-home-natural-slide__layers .layer-list li {
  margin-bottom: 0;
  padding: 0.45rem 0;
  border-bottom: 1px solid rgba(23, 31, 36, 0.06);
  line-height: 1.5;
}
#hp-naturalne .sd-home-natural-slide__layers .layer-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

/* Lista obok grafiki (≥768px): ciaśniejszy padding wierszy — font 0.8rem w bazie */
@media (min-width: 768px) {
  #hp-naturalne .sd-home-natural-slide__body .sd-home-natural-slide__layers .layer-list {
    padding-left: 0.85rem;
  }
  #hp-naturalne .sd-home-natural-slide__body .sd-home-natural-slide__layers .layer-list li {
    padding: 0.28rem 0;
    border-bottom-color: rgba(23, 31, 36, 0.05);
  }
}

/* Laptop: sekcja „Naturalne materiały” — niższy profil (grafika + typografia + karta), żeby zmieścić ~1 ekran */
@media (min-width: 992px) {
  #hp-naturalne.sd-home-natural-premium .hp-naturalne-left .hp-naturalne-left-text {
    font-size: clamp(0.94rem, 0.35rem + 0.85vw, 1.06rem);
    line-height: 1.48;
  }
  #hp-naturalne.sd-home-natural-premium .hp-naturalne-left-text img.wp-image-1791 {
    max-height: min(72px, 11vmin);
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  #hp-naturalne .sd-home-natural-wall-card.sd-home-offer-layer.offer-layers {
    padding: clamp(1rem, 1.85vmin, 1.65rem);
  }
  #hp-naturalne .sd-home-natural-slide__head {
    padding: 0 0 0.65rem;
  }
  #hp-naturalne .sd-home-natural-slide__visual-full img {
    max-height: min(500px, 34vmin, 52svh);
  }
}
@media (min-width: 992px) and (max-height: 900px) {
  #hp-naturalne.sd-home-natural-premium {
    padding-top: clamp(0.9rem, 2.2vmin, 2rem);
    padding-bottom: clamp(0.9rem, 2.2vmin, 2rem);
  }
  #hp-naturalne .sd-home-natural-slide__visual-full img {
    max-height: min(375px, 28vmin, 42svh);
  }
  #hp-naturalne .sd-home-natural-wall-card.sd-home-offer-layer.offer-layers {
    padding: clamp(0.75rem, 1.5vmin, 1.25rem);
  }
}

/* Slider przekrojów (Slick — ta sama konfiguracja co `.budowa-slider` w sd-premium-front.js) */
#hp-naturalne .sd-home-natural-slider.budowa-slider {
  margin-bottom: 0.5rem !important;
}
#hp-naturalne .sd-home-natural-slider .slick-dots {
  position: relative;
  bottom: auto;
  margin: 0.35rem 0 0;
}
#hp-naturalne .sd-home-natural-slider .slick-slide {
  outline: none;
}
/* Slick: slajd ma float:left — treść musi mieć pełną szerokość i min-width:0 pod flex dzieci */
#hp-naturalne .sd-home-natural-slider .slick-slide .sd-home-natural-slide {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
#hp-naturalne .sd-home-natural-slider .slick-slide .sd-home-natural-slide__article {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
#hp-naturalne .sd-home-natural-slider .slick-slide:focus-visible {
  outline: 3px solid #2f7c29;
  outline-offset: 4px;
}
#hp-naturalne .sd-home-natural-slider .slick-dots li {
  margin: 0 0.2rem;
}
#hp-naturalne .sd-home-natural-slider .slick-dots li button:before {
  font-size: 11px;
  opacity: 0.35;
  color: var(--sd-color-green);
}
#hp-naturalne .sd-home-natural-slider .slick-dots li.slick-active button:before {
  opacity: 1;
  color: var(--sd-color-green);
}
@media (prefers-reduced-motion: reduce) {
  #hp-naturalne .sd-home-natural-slide__visual-frame:hover img {
    transform: none;
  }
}

.budowa-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
}

#home-panele .container .row {
    position: absolute;
    bottom: 40px;
    width:100%
}

.feature-two {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 1px;
}

.feature-one {
    color: #fff;
    font-size: 15px;
    line-height: 22px;
    font-weight: bold;
    margin-bottom: 10px;
}

.panel-feature {
    float: left;
    margin-right: 20px;
    padding-bottom:22px
}

.panele-button {
    margin-top: 15px;
}

#hp-dlaczego h2 {
    margin-bottom: 35px;
}

#hp-dlaczego {
padding-top:90px;
padding-bottom:90px;
text-align:center !important
}

section {
    padding-top: 45px;
    padding-bottom: 45px;
    background-color: #fff;
}

.hp-wykres-text {
    font-size: 20px;
    line-height: 33px;
    margin-top: 50px;
}

#hp-news h1,
#hp-news h2 {
    margin-bottom: 15px;
    font-weight: 400;
}

#hp-newsy h1,
#hp-newsy h2 {
    margin-bottom: 35px;
    font-weight: 400;
}

#hp-gotowe h1,
#hp-gotowe h2 {
    margin-bottom: 35px;
    font-weight: 400;
}

#hp-news .col-md-4 {
padding-bottom:25px
}

#hp-realizacje h1,
#hp-realizacje h2 {
    margin-bottom: 20px;
    font-weight: 400;
}

#hp-realizacje .text-end {
text-align:left !important
}

.realizacje-link {
    font-size: 15px;
    line-height: 43px;
    font-weight: 700;
    color: #667A89;
    margin-right: 20px;
    border-bottom: 2px solid #fff;
}

.realizacje-slider {
margin-top:30px
}

.progress-zero {
display:none
}

.rel-name {
    color: #18242D;
    font-size: 17px;
    line-height: 25px;
    font-weight: 500;
    margin-top: 7px;
}

.rel-more a {
    color: #18242D;
    font-size: 16px;
}

.mobile-arrows {
    display: block;
    text-align: left;
    margin-top: 50px;
    padding-left: 25px;
}

.mapl {
padding-left:35px
}

.hmobile {
display:none !important
}

.got-name {
    font-size: 17px;
    line-height: 25px;
    font-weight: 500;
    text-transform:uppercase
}

.got-more a {
    font-size: 16px;
}

.progress-two {
display:none
}

#hp-kalkulator h1,
#hp-kalkulator h2 {
    margin-bottom: 40px;
}

.calc-active {
    padding: 10px 20px;
}

.calc-option {
    padding: 10px 15px;
}

.calc-options {
    font-size: 15px;
}

.calc-results {
    padding: 20px;
    margin-top: 25px;
}

.form-top {
padding:20px;
}

.form-bottom {
padding:20px;
}

.calc-cost {
    margin-top: 20px;
    margin-bottom: 20px;
}

.form {
    margin-top: 0px;
    margin-bottom: 30px;
}

.calc-oblicz {
    padding: 12px 20px;
    }

#hp-newsletter {
    padding-top: 40px;
    padding-bottom: 30px;
}

#hp-newsletter h2 {
    margin-bottom: 35px;
}

.wpcf7-submit {
    padding: 15px 40px;
}

#hp-newsletter .wpcf7-form-control-wrap {
    line-height: 42px;
}

#footer {
    padding-top: 40px;
    padding-bottom: 25px;
}

#footer .col-md-4 {
    padding-bottom: 25px;
    font-size: 17px;
    font-weight: 300;
}

.fcol2 {
display:none
}

.fcol3 img {
border-radius:5px
}

.copy {
    position: initial;
    bottom: 0px;
    left: 0px;
    font-size: 15px;
    margin-top: 30px;
}




.over-box {
    background-color: #fff;
    float: none;
    width: 100%;
    margin-left: 0%;
    min-height: 100vh;
}

.over-box-inner {
    padding: 20px;
    padding-bottom: 0px;
    padding-top: 50px;
}

.over-box-content {
    padding: 20px;
    padding-right: 20px;
}

.obc-first {
    padding-top: 30px;
}

.over-box-content h2 {
    font-weight: 600;
    color: #18242D;
    margin-bottom: 25px;
    margin-top: 30px;
    font-size: 20px;
    line-height: 28px;
}

.sd-gp-form-wrap{
    background: rgba(255,255,255,.92);
    border: 1px solid #e4e8ec;
    border-radius: 14px;
    padding: 24px;
    margin-top: 18px;
}

.sd-gp-form-wrap .wpcf7-form-control-wrap{
    display: block;
    margin-bottom: 14px;
}

.sd-gp-form-wrap .wpcf7-form-control{
    width: 100%;
}

.over-box-gallery {
    padding: 50px 0px 50px 0px;
}

.over-box-gallery h1 {
    margin-bottom: 40px;
    font-weight: 400;
    margin-left: 0px;
    font-size: 30px;
    line-height: 38px;
}

.progress-three {
display:none
}

.over-box-gallery .gotowe-right {
    margin-right: 0px;
}

.parametr-value {
    color: #18242D;
    font-size: 30px;
    line-height: 40px;
    font-weight: bold;
    margin-bottom: 10px;
}

.parametr-box {
    padding-bottom: 25px;
    width: 50% !important;
}

.parametr-desc {
    font-size: 15px;
    line-height: 25px;
    font-weight: 400;
}

.calc-cost-name {
    color: #667A89;
    font-weight: 400;
    padding-bottom: 7px;
    border-bottom: 1px solid #F1F3F4;
    margin-bottom: 7px;
}

.calc-cost-box {
    padding-bottom: 30px;
}

.oferty-box {
    margin-top: 30px;
}

.offer-title {
    margin-bottom: 25px;
}

.offer-desc {
    margin-bottom: 20px;
}

.over-box-content-wide {
    padding: 30px 20px;
}

/* Bootstrap .navbar-toggler — nieużywany (menu mobilne: dolny pasek + `#mobile-menu-panel`) */
.navbar-toggler {
  display: none !important;
}

#hp-realizacje {
padding-bottom:40px
}

.legenda-item {
margin-top:20px;
font-size: 14px;
font-weight: 500;
}

.legenda-item span {
width:12px;
height:12px;
border-radius:15px;
}

.row > * {
padding-left:20px;
padding-right:20px
}

#home-pomieszkaj {
background-color:#f4f4f3;
padding-bottom:50px
}

.home-pomieszkaj-second {
	padding-top:10px;
	padding-bottom:35px !important
}

}


@media only screen and (max-width: 778px) {

.smob {
display:initial
}

.hmob {
display:none
}

.over-box-nav {
    margin-bottom: 40px;
}

.pt-60 {
	padding-top:5px
}

/* (#hp-naturalne — tło lewej/prawej: patrz blok wyżej; nie nadpisuj tutaj) */

.hp-naturalne-left-text {
	padding-top: 0px;
	color: #667a89;
}

.hp-naturalne-right {
	padding-top: 30px;
}

#budowa-domow {
	padding-bottom:0px
}

.hp-naturalne-subtitle {
  font-size: 16px;
}

form input.wpcf7-submit {
  padding: 13px 25px;
}

.modal-header {
  padding: 0px 20px;
  border-bottom: 0px;
  padding-top: 0px;
}

.modal-body {
  padding: 20px 12px;
  padding-bottom: 30px;
}

#exampleModal .modal-calc-contact-right {
  padding-left: 0;
}

.modal-calc-contact-name {
  font-size: 17px;
}

.modal-calc-contact-submit {
  margin-top: 19px;
}

  .calc-oblicz {
    padding: 10px 20px;
	font-size:14px
  }

.modal-calc-contact-title {
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 16px;
  font-weight: 600;
}

.modal-calc-price-lable {
  padding-bottom: 5px;
  margin-bottom: 5px;
}

.modal-calc-price {
  margin-bottom: 13px;
}

.modal-calc-contact-tel img, .modal-calc-contact-email img {
  margin-right: 5px;
  max-width: 17px;
}

  #exampleModal .modal-calc-contact-tel,
  #exampleModal .modal-calc-contact-email {
    margin-top: 10px;
    font-size: 15px;
  }
  
  .modal-calc-contact-tel a {
	  color:#171F24
  }

body {

letter-spacing:0px
}

#exampleModal {
	padding-left:0px;
	padding-right:0px
}

.form input {
  width: 100%;
  max-width: 100%;
}

}

/* Kolor linków w breadcrumbs (Rank Math) */
.breadcrumbs-wrap a,
.rank-math-breadcrumb a {
  color:#2A7829 !important;
}
.rank-math-breadcrumb a:hover {
  color:#76C736 !important;
}

/* Breadcrumbs — typografia; pionowe marginesy w bloku „PREMIUM PAGE OVERRIDES” (niżej). */
.breadcrumbs-wrap {
  padding-top: 0;
  padding-bottom: 0;
  font-size: 14px;
  color: #667a89;
}
.breadcrumbs-wrap a {
  color: #2f7c29;
  text-decoration: none;
}

/* Interaktywny wykres CO2 (homepage) */
.sd-co2-section{
  background:#fff;
}
.sd-co2-toggle{
  display:inline-flex;
  background:#f1f5f9;
  border:1px solid #dbe2ea;
  border-radius:.6rem;
  padding:.2rem;
}
.sd-co2-toggle-btn{
  border:0;
  background:transparent;
  color:#475569;
  font-size:.95rem;
  font-weight:600;
  padding:.45rem .9rem;
  border-radius:.45rem;
}
.sd-co2-toggle-btn.is-active{
  background:#fff;
  color:#0f172a;
  box-shadow:0 1px 3px rgba(0,0,0,.12);
}
.sd-co2-chart-wrap{
  overflow-x:auto;
  background:#F6F7F2;
  border:1px solid #dbe2ea;
  border-radius:.85rem;
  padding:1rem;
}
.sd-co2-chart{
  position:relative;
  min-width:820px;
  height:640px;
}
.sd-co2-grid{
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(10% - 1px), rgba(148,163,184,.35) calc(10% - 1px), rgba(148,163,184,.35) 10%);
  pointer-events:none;
}
.sd-co2-zero-line{
  position:absolute;
  top:50%;
  left:0;
  right:0;
  border-top:1px dashed #64748b;
}
.sd-co2-limit{
  position:absolute;
  left:0;
  right:0;
  border-top:1px dashed;
}
.sd-co2-limit span{
  position:absolute;
  right:0;
  top:-1.8rem;
  font-weight:700;
  font-size:1rem;
  background:#F6F7F2;
  padding:0 .45rem;
}
.sd-co2-limit--top{
  border-color:rgba(160,99,59,.55);
}
.sd-co2-limit--top span{
  color:#A0633B;
}
.sd-co2-limit--bottom{
  border-color:rgba(83,107,43,.55);
}
.sd-co2-limit--bottom span{
  left:0;
  right:auto;
  top:.35rem;
  color:#536B2B;
}
.sd-co2-bars{
  position:absolute;
  inset:0;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:1rem;
  padding:0 2rem;
}
.sd-co2-bar{
  position:relative;
  flex:1 1 0;
  max-width:4.4rem;
}

.sd-co2-bar:focus {
  outline: none;
}

.sd-co2-bar:focus-visible {
  outline: 3px solid var(--sd-color-green) !important;
  outline-offset: 3px;
  z-index: 1;
}
.sd-co2-bar::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  transition:background-color .2s ease;
}
.sd-co2-bar:focus-visible::before,
.sd-co2-bar:hover::before{
  filter:brightness(.92);
}
.sd-co2-bar--emitted::before{
  bottom:50%;
  height:var(--sd-co2-size);
  background:#A0633B;
  border-radius:.25rem .25rem 0 0;
}
.sd-co2-bar--embedded::before{
  top:50%;
  height:var(--sd-co2-size);
  background:#536B2B;
  border-radius:0 0 .25rem .25rem;
}
.sd-co2-bar__label{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
}
.sd-co2-bar--emitted .sd-co2-bar__label{
  top:52%;
  color:#A0633B;
}
.sd-co2-bar--embedded .sd-co2-bar__label{
  bottom:52%;
  color:#536B2B;
}
.sd-co2-table{
  border:1px solid #dbe2ea;
}
.sd-co2-table thead th{
  background:#f8fafc;
}
.sd-co2-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  font-size:.75rem;
  font-weight:700;
  padding:.25rem .65rem;
}
.sd-co2-badge--emitted{
  background:#f8e8dd;
  color:#A0633B;
}
.sd-co2-badge--embedded{
  background:#e8f2dc;
  color:#536B2B;
}
/* Dostępność: skip link */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;background:#000;color:#fff;padding:8px 12px;z-index:10000}

/* CTA po treści */
.post-cta{margin:32px 0;padding:20px;border:1px solid #e9ecef;border-radius:8px;background:#fafafa}
.post-cta h2{font-size:22px;margin:0 0 8px}
.post-cta p{margin:0 0 12px}
.btn-cta{display:inline-block;background:#2f7c29;color:#fff;padding:10px 16px;border-radius:var(--sd-radius-btn);text-decoration:none}
.btn-cta:hover{background:#5aa31a;color:#fff}

/* Tooltip helper */
.help-tooltip{display:inline-block;cursor:help;border-bottom:1px dotted #999}
.help-tooltip .help-content{display:none;position:absolute;background:#000;color:#fff;padding:8px 10px;border-radius:6px;font-size:12px;max-width:260px;z-index:10000}
.help-tooltip:hover .help-content,.help-tooltip:focus .help-content{display:block}

/* Ikona lupy */
.navbar .btn svg {
  color: #171f24;
  fill: currentColor;
}

/* Przycisk wyszukiwania - widoczny i z dobrym kontrastem */
.navbar .btn.bg-transparent.text-dark {
  color: #171f24 !important;
  border-color: rgba(23, 31, 36, 0.1);
}

/* Logo w nawigacji */
.navbar-brand picture {
  display: block;
  line-height: 0;
}

/* Domyślnie (inne layouty); główny sticky header — niżej, większe */
.navbar-brand img {
  max-height: 48px;
  height: auto;
  width: auto;
}

#content-start.sd-site-header .navbar-brand img {
  max-height: var(--sd-header-logo-max-height, 72px);
}

@media (min-width: 992px) {
  #content-start.sd-site-header .navbar-brand img {
    max-height: var(--sd-header-logo-max-height-lg, 112px);
  }
}

/* Slider na stronie głównej – wysokość ustalana paddingiem */
.home-slider {
  height: calc(var(--sd-home-slider-h-desktop, 100svh) * var(--sd-home-slider-scale, 0.64));
  min-height: calc(680px * var(--sd-home-slider-scale, 0.64));
  max-height: none;
  overflow: hidden;
  position: relative;
}

@media (max-width: 1200px) {
  .home-slider {
    height: calc(var(--sd-home-slider-h-tablet, 88svh) * var(--sd-home-slider-scale, 0.64));
    min-height: calc(620px * var(--sd-home-slider-scale, 0.64));
  }
}

@media (max-width: 778px) {
  .home-slider {
    height: calc(var(--sd-home-slider-h-mobile, 78svh) * var(--sd-home-slider-scale, 0.64));
    min-height: calc(520px * var(--sd-home-slider-scale, 0.64));
  }
}

/* Zapewnia tę samą wysokość listy i slajdów slick */
.home-slider .slick-list,
.home-slider .slick-track,
.home-slider .slider-item {
  height: 100%;
}

.home-slider .slider-item {
  background-size: cover;
  background-position: center;
}

/* usuwamy biały odstęp nad sliderem */
#hp-main {margin-top:0;}

/* Overlay tekstu w sliderze — centrum (slajdy z tłem / modern).
   Pierwszy slajd `.sd-hero-photo`: osobno — `.slider-item.sd-hero-photo .slider-info` kotwica od dołu.
   `pointer-events: none` żeby nie blokować sterowania slajderem; CTA muszą mieć `auto`. */
.home-slider .slider-info {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:100%;
  text-align:center;
  pointer-events:none;
}

.home-slider .slider-info .sd-hero-cta-row {
  pointer-events: auto;
}

/* Slick — strzałki nie w strefie CTA (globalnie `bottom: 4%` przy ≤998px); na home przesunięcie w bok, środek wysokości */
@media (max-width: 991.98px) {
  .home-slider.slick-slider .slick-prev,
  .home-slider.slick-slider .slick-next {
    top: 40%;
    bottom: auto;
    transform: translateY(-50%);
  }
  .home-slider.slick-slider .slick-next {
    right: max(0.35rem, env(safe-area-inset-right, 0px));
    left: auto;
  }
  .home-slider.slick-slider .slick-prev {
    left: max(0.35rem, env(safe-area-inset-left, 0px));
    right: auto;
  }
}

@media (max-width: 575.98px) {
  .home-slider .sd-hero-cta-row {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
    gap: var(--sd-space-sm);
  }
  .home-slider .sd-hero-cta-row .btn-sd-primary,
  .home-slider .sd-hero-cta-row .btn-sd-outline {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* Linki globalne */
a {
  color: var(--sd-color-green-dark);
  text-decoration: none;
  transition: color .15s ease-in-out;
}
a:hover,
a:focus {
  color: var(--sd-color-green-bright);
  text-decoration: underline;
}

/* Klasy utility */
.text-green {
  color: var(--sd-color-green-dark);
}
/* .ar-r-green — ujednolicona definicja na końcu pliku */

/* Karty CTA na stronie głównej - tekst w kolorze #171f24 */
#main-content section.py-4 .row.g-3 a.d-flex.flex-column h3,
#main-content section.py-4 .row.g-3 a.d-flex.flex-column h3.h5,
#main-content section.py-4 .row.g-3 a.d-flex.flex-column p {
  color: #171f24;
}

.btn-green {
  background: var(--sd-color-green-dark);
  color:#fff;
}
.btn-green:hover {
  background: var(--sd-color-green-bright);
  color:#fff;
}

/* Aktywny link — desktop (pastylka: jednolite tło, bez dolnego bordera / „cienia”) */
#content-start .navbar-nav > li.current-menu-item > a,
#content-start .navbar-nav > li.current_page_item > a {
  background-color: rgba(42, 120, 41, 0.1);
  color: var(--sd-color-green-dark);
  font-weight: 600;
  border-bottom-color: transparent;
  box-shadow: none;
  text-decoration: none;
}

#content-start .navbar-nav > li.current-menu-item > a:hover,
#content-start .navbar-nav > li.current_page_item > a:hover {
  background-color: rgba(42, 120, 41, 0.15);
  color: var(--sd-color-green-hover);
  border-bottom-color: transparent;
}

/* Aktywny link — panel mobilny (lewy pasek zamiast dolnego borderu pod listą) */
#mobile-menu-panel .mobile-menu-list .current-menu-item > a,
#mobile-menu-panel .mobile-menu-list .current_page_item > a {
  color: var(--sd-color-green-dark);
  font-weight: 600;
  border-bottom: 0;
  border-left: 3px solid var(--sd-color-green-dark);
  padding-left: 0.75rem;
  margin-left: -3px;
  background: rgba(42, 120, 41, 0.06);
  text-decoration: none;
}

#mobile-menu-panel .mobile-menu-list .current-menu-item > a:hover,
#mobile-menu-panel .mobile-menu-list .current_page_item > a:hover {
  color: var(--sd-color-green-hover);
  border-left-color: var(--sd-color-green-hover);
  background: rgba(42, 120, 41, 0.09);
}

/* Force rem font-size for nav links */
header .navbar .nav-link {
  font-size:0.875rem;
}

/* —— WYNIKI WYSZUKIWANIA — premium + WCAG 2.2 (kontrast, fokus, cele dotykowe) — */
.sd-search-results {
  padding-top: clamp(1.75rem, 4vw, 2.75rem) !important;
  padding-bottom: clamp(2rem, 5vw, 3.5rem) !important;
}

.sd-search-results__title {
  font-size: clamp(1.75rem, 3.5vw, var(--sd-heading-h2-fs-mobile, 1.875rem));
  font-weight: 700;
  color: var(--sd-heading-h2-color, var(--sd-color-ink));
  margin: 0 0 var(--sd-space-sm);
  letter-spacing: 0.02em;
}

.sd-search-results__lead {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem 0.75rem;
  margin: 0 0 0.35rem;
  font-size: var(--sd-text-lg);
}

.sd-search-results__lead-label {
  font-size: var(--sd-text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--sd-color-ink-muted);
}

.sd-search-results__query-text {
  font-weight: 600;
  color: var(--sd-color-ink);
  word-break: break-word;
}

.sd-search-results__count {
  margin: 0 0 var(--sd-space-lg);
  font-size: var(--sd-text-sm);
  color: var(--sd-color-muted);
}

.sd-search-results__refine {
  margin: 0 0 var(--sd-space-xl);
  padding: var(--sd-space-md) var(--sd-space-lg);
  background: linear-gradient(145deg, var(--sd-color-surface-soft) 0%, var(--sd-color-white) 55%);
  border: 1px solid var(--sd-color-border);
  border-radius: var(--sd-radius-sm);
  box-shadow: var(--sd-shadow-soft, 0 4px 24px rgba(23, 31, 36, 0.06));
}

.sd-search-results__label {
  display: block;
  font-weight: 600;
  font-size: var(--sd-text-sm);
  color: var(--sd-color-ink);
  margin-bottom: 0.5rem;
}

.sd-search-results__refine-row {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

@media (min-width: 576px) {
  .sd-search-results__refine-row {
    flex-direction: row;
    align-items: stretch;
  }
}

.sd-search-results__input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 48px;
  padding: 0.6rem 1rem;
  font-size: var(--sd-text-base);
  border: 1px solid var(--sd-color-border);
  border-radius: var(--sd-radius-sm);
  color: var(--sd-color-ink);
  background: var(--sd-color-white);
}

.sd-search-results__input:hover {
  border-color: rgba(42, 120, 41, 0.45);
}

.sd-search-results__input:focus {
  outline: none;
  border-color: var(--sd-color-green-dark);
  box-shadow: 0 0 0 3px rgba(42, 120, 41, 0.2);
}

.sd-search-results__input:focus-visible {
  outline: 3px solid var(--sd-color-green-dark);
  outline-offset: 2px;
}

.sd-search-results__submit {
  min-height: 48px;
  padding-inline: 1.25rem;
  flex-shrink: 0;
}

.sd-search-results__hint {
  margin: 0.65rem 0 0;
  font-size: var(--sd-text-xs);
  color: var(--sd-color-ink-muted);
  max-width: 42rem;
}

.sd-search-results__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

#search-results .search-grid,
.sd-search-results__list.search-grid {
  display: flex;
  flex-direction: column;
  gap: var(--sd-space-md);
}

#search-results .search-item,
.sd-search-card {
  background: var(--sd-color-surface);
  border: 1px solid var(--sd-color-border);
  border-radius: var(--sd-radius-sm);
  display: flex;
  overflow: hidden;
  transition: box-shadow var(--sd-ease, 0.2s ease), border-color var(--sd-ease, 0.2s ease);
  box-shadow: var(--sd-shadow-soft, 0 2px 14px rgba(15, 35, 22, 0.05));
}

#search-results .search-item:hover,
.sd-search-card:hover {
  border-color: rgba(42, 120, 41, 0.28);
  box-shadow: var(--sd-shadow-hover, 0 8px 28px rgba(15, 35, 22, 0.1));
}

#search-results .search-thumb,
.sd-search-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  min-width: 220px;
  aspect-ratio: 1/1;
  background: var(--sd-color-surface-soft);
  padding: 0.75rem;
  overflow: hidden;
}

.sd-search-card__media--placeholder {
  background: linear-gradient(160deg, var(--sd-color-surface-alt) 0%, var(--sd-color-surface-soft) 100%);
}

#search-results .search-thumb img,
.sd-search-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  flex-shrink: 0;
}

.sd-search-card__thumb-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: var(--sd-radius-sm);
}

.sd-search-card__thumb-link:focus {
  outline: none;
}

.sd-search-card__thumb-link:focus-visible {
  outline: 3px solid var(--sd-color-green-dark);
  outline-offset: 3px;
}

@media (max-width: 768px) {
  #search-results .search-item,
  .sd-search-card {
    flex-direction: column;
  }

  #search-results .search-thumb,
  .sd-search-card__media {
    width: 100%;
    min-width: 0;
    aspect-ratio: 16/10;
    border-radius: var(--sd-radius-sm) var(--sd-radius-sm) 0 0;
  }
}

#search-results .search-content,
.sd-search-card__body {
  padding: clamp(1.25rem, 3vw, 2rem);
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
}

.sd-search-card__badge {
  margin: 0 0 0.35rem;
}

.sd-search-card__badge-text {
  display: inline-block;
  font-size: var(--sd-text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sd-color-green-dark);
  background: rgba(42, 120, 41, 0.1);
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
}

.sd-search-card__title {
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 0.5rem;
}

.sd-search-card__title a {
  color: var(--sd-color-ink);
  text-decoration: none;
  border-radius: 2px;
}

.sd-search-card__title a:hover {
  color: var(--sd-color-green-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sd-search-card__title a:focus {
  outline: none;
}

.sd-search-card__title a:focus-visible {
  outline: 3px solid var(--sd-color-green-dark);
  outline-offset: 2px;
}

.sd-search-card__excerpt {
  font-size: var(--sd-text-sm);
  line-height: 1.55;
  color: var(--sd-color-text);
  margin: 0 0 0.75rem;
}

.sd-search-card__more {
  margin-top: auto;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  font-weight: 600 !important;
  border-radius: var(--sd-radius-sm);
  padding: 0.35rem 0.2rem;
}

.sd-search-card__more:focus {
  outline: none;
}

.sd-search-card__more:focus-visible {
  outline: 3px solid var(--sd-color-green-dark);
  outline-offset: 3px;
}

.sd-search-results__pagination-wrap {
  margin-top: var(--sd-space-xl);
}

.sd-search-results__pagination-wrap .navigation.pagination,
.sd-search-results__pagination-wrap nav.navigation {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.sd-search-results__empty {
  text-align: center;
  padding: var(--sd-space-xl) var(--sd-space-md);
  border: 1px dashed var(--sd-color-border);
  border-radius: var(--sd-radius-sm);
  background: var(--sd-color-surface-soft);
}

.sd-search-results__empty-title {
  font-size: var(--sd-text-xl);
  font-weight: 700;
  color: var(--sd-color-ink);
  margin: 0 0 0.5rem;
}

.sd-search-results__empty-hint {
  font-size: var(--sd-text-sm);
  color: var(--sd-color-muted);
  margin: 0 0 var(--sd-space-md);
}

.sd-search-results__empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin: 0;
}

.sd-search-results__empty-actions .btn {
  min-height: 44px;
}

@media (prefers-reduced-motion: reduce) {
  #search-results .search-item,
  .sd-search-card {
    transition: none;
  }
}

/* Podświetlenie dopasowań w skrócie (wyniki wyszukiwania) — kontrast (WCAG) */
mark.sd-search-highlight {
  background-color: rgba(108, 186, 28, 0.28);
  color: var(--sd-color-ink);
  padding: 0.06em 0.18em;
  border-radius: 3px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

@media (prefers-contrast: more) {
  mark.sd-search-highlight {
    background-color: rgba(255, 213, 77, 0.95);
    color: var(--sd-color-ink);
    outline: 1px solid var(--sd-color-ink);
  }
}

/* —— OFFCANVAS SEARCH SUGGESTIONS —— */
#searchOffcanvas .wp-block-search__results{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));list-style:none;margin:1rem 0 0;padding:0;}
#searchOffcanvas .wp-block-search__results li{background:#fff;border:1px solid #dee2e6;border-radius:.5rem;display:flex;overflow:hidden;}
#searchOffcanvas .wp-block-search__results img{width:300px;height:250px;}
#searchOffcanvas .wp-block-search__results .item-content{padding:.75rem;flex:1 1 auto;}
#searchOffcanvas .wp-block-search__results h3{font-size:.9375rem;margin:0 0 .25rem;line-height:1.3;}
@media(max-width:768px){#searchOffcanvas .wp-block-search__results li{flex-direction:column;}#searchOffcanvas .wp-block-search__results img{width:100%;border-radius:.5rem .5rem 0 0;}}

/* Off-canvas popular thumbnails */
.off-thumb .thumb-img,.off-thumb .thumb-placeholder{width:300px;height:250px;object-fit:cover;border-radius:12px;overflow:hidden;flex-shrink:0;}
.off-thumb .thumb-placeholder{display:flex;align-items:center;justify-content:center;background:#fff;}
/* Szczegóły pola wyszukiwania — rozszerzone w bloku `#searchOffcanvas.sd-offcanvas-search` (koniec style.css) */

.sd-marker{display:flex;align-items:center;justify-content:center;}
.sd-marker i{font-size:32px;text-shadow:0 2px 4px rgba(0,0,0,0.25);}
.sd-marker-green i{
  color:#2f7c29;
  background:linear-gradient(180deg,#78d23c 0%,#2a7829 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.sd-marker-brown i{color:#8a5b3d;}

/* Hero CTA button */
.btn-green.hero-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.85rem 1.75rem;
  background:#2a7829;
  color:#fff!important;
  font-weight:600;
  border-radius:.35rem;
  transition:background .2s;
  min-height:52px;
}
.btn-green.hero-cta:hover{background:#76c736;}
.btn-success,
.btn-green,
.btn-green.hero-cta,
form input.wpcf7-submit,
input.wpcf7-form-control.wpcf7-submit,
.wpcf7-submit.calc-oblicz,
.btn-outline-success {
  background-color: var(--sd-color-green-dark) !important;
  border-color: var(--sd-color-green-dark) !important;
  color: #fff !important;
  min-height: var(--sd-btn-height) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transition: background-color 0.5s, border-color 0.5s;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.show > .btn-success.dropdown-toggle,
.btn-green:hover,
.btn-green:focus,
.btn-green:active,
.btn-green.hero-cta:hover,
.btn-green.hero-cta:focus,
form input.wpcf7-submit:hover,
form input.wpcf7-submit:focus,
input.wpcf7-form-control.wpcf7-submit:hover,
input.wpcf7-form-control.wpcf7-submit:focus,
.wpcf7-submit.calc-oblicz:hover,
.wpcf7-submit.calc-oblicz:focus,
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active,
.btn-outline-success.active,
.btn-outline-success.dropdown-toggle.show {
  background-color: var(--sd-color-green-hover) !important;
  border-color: var(--sd-color-green-hover) !important;
  color: #fff !important;
}

.btn-success:disabled,
.btn-success.disabled,
.btn-green:disabled,
.btn-green.disabled,
form input.wpcf7-submit:disabled,
input.wpcf7-form-control.wpcf7-submit:disabled,
.btn-outline-success:disabled,
.btn-outline-success.disabled {
  background-color: var(--sd-color-green-dark) !important;
  border-color: var(--sd-color-green-dark) !important;
  color: #fff !important;
  opacity: .6;
}
@media (max-width: 1200px) {
  :root {
    --sd-btn-height: 42px;
  }
}
@media (max-width: 778px) {
  :root {
    --sd-btn-height: 34px;
  }
}
.offer-hero .hero-cta .btn,
.hero-cta.sd-kokon-cta-row .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:.85rem 1.75rem;
  font-weight:600;
  border-radius:.35rem;
}
.offer-hero .hero-cta .btn-outline-dark,
.hero-cta.sd-kokon-cta-row .btn-outline-dark{
  border-width:2px;
  color:#1f2e2c;
}
.offer-hero .hero-cta .btn-outline-dark:hover,
.offer-hero .hero-cta .btn-outline-dark:focus,
.hero-cta.sd-kokon-cta-row .btn-outline-dark:hover,
.hero-cta.sd-kokon-cta-row .btn-outline-dark:focus{
  color:#ffffff;
  background:#1f2e2c;
}
.offer-hero .hero-cta .btn-success,
.offer-hero .hero-cta .btn-green,
.offer-hero .hero-cta .btn-outline-success,
.hero-cta.sd-kokon-cta-row .btn-success,
.hero-cta.sd-kokon-cta-row .btn-green,
.hero-cta.sd-kokon-cta-row .btn-outline-success {
  min-height: var(--sd-btn-height) !important;
}

/* Oferta Słomianego Domu */
.section-cream{
  background:#fbf8f0;
}
.offer-manifest-full{
  width:100%;
  background:#111c27;
  color:#f2e9d7;
  padding:4rem 8vw;
  position:relative;
  overflow:hidden;
}
.offer-manifest-inner{
  display:flex;
  gap:2rem;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
  position:relative;
}
.offer-manifest-text .eyebrow{
  letter-spacing:.2em;
  color:#d4c9b6;
}
.offer-manifest-text .manifest-lead{
  font-size:1.25rem;
  color:#f2e9d7;
}
.offer-manifest-text .manifest-shout{
  font-size:2.5rem;
  font-weight:700;
  color:#f7eddc;
}
.offer-manifest-graphic{
  flex:0 0 280px;
  max-width:280px;
  position:relative;
  transform:translateX(35%);
}
.offer-manifest-graphic img{
  width:100%;
  height:auto;
  opacity:.85;
}
.offer-hero{
  background:linear-gradient(120deg,#f3f7f3 0%,#ffffff 100%);
  border-bottom:1px solid #edf0ed;
  padding-bottom:5rem;
}
.offer-hero .eyebrow {
  display: block;
  font-size: var(--sd-text-sm);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sd-color-green-dark);
  line-height: 1;
  margin-bottom: 0.5rem;
}
.offer-hero .hero-contact .contact-link{
  color:#2f7c29;
  text-decoration:none;
  font-weight:600;
}
.offer-hero .hero-contact .contact-link i{
  color:#2f7c29;
  margin-right:.35rem;
}
.offer-hero .hero-contact .contact-link:hover{
  color:#014a91;
}
.hero-visual{
  position:relative;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 25px 45px rgba(0,0,0,0.18);
  aspect-ratio:4/3;
}
.hero-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hero-visual__tag{
  position:absolute;
  left:1.25rem;
  bottom:1.25rem;
  padding:.4rem 1rem;
  border-radius:999px;
  background:rgba(14,25,20,0.75);
  color:#f8f5ef;
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sd-kokon-hero-visual-secondary{
  border-radius:0;
  overflow:hidden;
  box-shadow:0 18px 35px rgba(0,0,0,0.14);
  aspect-ratio:16/10;
}
.sd-kokon-hero-visual-secondary img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hero-support-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
  margin-top:2rem;
}
.hero-support-card{
  margin:0;
  background:#f5f1e7;
  box-shadow:0 20px 35px rgba(0,0,0,0.18);
}
.hero-support-visual{
  position:relative;
  overflow:hidden;
}
.hero-support-visual img{
  width:100%;
  height:340px;
  object-fit:cover;
  display:block;
}
.hero-copy-column{
  gap:1.5rem;
}
.hero-visual-column{
  gap:1.5rem;
}
@media (min-width:992px){
  .offer-hero .hero-copy-column,
  .offer-hero .hero-visual-column{
    display:flex;
    flex-direction:column;
    height:100%;
  }
  .offer-hero .hero-copy-column .hero-support-grid{
    margin-top:auto;
  }
  .offer-hero .hero-visual-column .hero-contact{
    margin-top:auto;
  }
}
.offer-photo-grid{
  background:#0f1b17;
  color:#f8f5ef;
}
.offer-photo-grid .photo-grid{
  display:grid;
  gap:1.25rem;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
@media (max-width:575.98px){
  .sd-kokon-photo-grid .photo-grid{
    grid-template-columns:1fr;
    gap:1rem;
  }
  .sd-kokon-photo-grid .photo-grid__item{
    min-height:200px;
  }
}
@media (min-width:576px) and (max-width:767.98px){
  .sd-kokon-photo-grid .photo-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
.photo-grid__item{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  min-height:220px;
  box-shadow:0 20px 35px rgba(0,0,0,0.25);
}
.photo-grid__button{
  border:0;
  background:transparent;
  padding:0;
  width:100%;
  height:100%;
  cursor:pointer;
  display:block;
}
.photo-grid__button:focus-visible{
  outline:3px solid #2f7c29;
  outline-offset:4px;
}
.photo-grid__item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.photo-grid__item figcaption{
  position:absolute;
  inset:auto 0 0 0;
  padding:1rem 1.25rem 1.35rem;
  background:linear-gradient(180deg,rgba(4,7,6,0) 0%,rgba(4,7,6,0.85) 90%);
}
.photo-grid__item figcaption span{
  display:block;
  font-weight:600;
  letter-spacing:.04em;
}
.photo-grid__item figcaption small{
  display:block;
  font-size:.8rem;
  color:rgba(255,255,255,0.8);
  margin-top:.25rem;
}
.photo-bg{
  position:relative;
  overflow:hidden;
}
.photo-bg::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:var(--section-bg);
  background-size:cover;
  background-position:center;
  opacity:.18;
  mix-blend-mode:multiply;
  filter:saturate(.85);
}
#offer-process.photo-bg::before{
  opacity:.16;
  background-color:rgba(8,12,10,0.7);
  mix-blend-mode:multiply;
}
.photo-bg>*{
  position:relative;
  z-index:1;
}

/* Oferta: sekcja „Jak wyglądają elementy konstrukcji” — czyste białe tło (bez zdjęcia w tle) */
#offer-layers.offer-layers--white{
  background-color:#fff;
}

/* Dom KOKON — landing + blok na archiwum gotowych projektów */
.sd-kokon-archive-promo .card{
  background:#fff;
}
.sd-kokon-wysiwyg ul{
  padding-left:1.2rem;
}
.sd-kokon-wysiwyg li{
  margin-bottom:.35rem;
}
.sd-kokon-acc-btn.accordion-button:not(.collapsed){
  background:rgba(47,124,41,0.12);
  color:#1a2e26;
}
.sd-kokon-acc-btn.accordion-button:focus-visible{
  box-shadow:0 0 0 0.2rem rgba(47,124,41,0.25);
}
/* Dom KOKON — akordeon: własne ikony FA, spójne z kafelkami ścieżek */
.sd-kokon-acc-btn.accordion-button::after{
  display:none !important;
}
.sd-kokon-acc-btn.accordion-button .sd-kokon-acc-btn__inner{
  display:flex;
  /* Pierwsza linia tytułu w pionie jak środek ikony (nie wyśrodkowanie całego bloku przy zawinięciu). */
  align-items:flex-start;
  gap:clamp(0.45rem,1.5vw,0.65rem);
  width:100%;
  text-align:left;
  --sd-kokon-acc-icon-size:clamp(24px,5vw,28px);
}
.sd-kokon-acc-btn .sd-kokon-acc-btn__title{
  flex:1 1 auto;
  min-width:0;
  font-weight:600;
  line-height:1.35;
  /* Środek pierwszej linii ≈ środek ikony (1lh ≈ wysokość linii; fallback 1.35em jak line-height). */
  padding-top:max(0px,calc((var(--sd-kokon-acc-icon-size) - 1.35em) / 2));
  padding-top:max(0px,calc((var(--sd-kokon-acc-icon-size) - 1lh) / 2));
}
.sd-kokon-acc-btn .sd-kokon-path-tile__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  line-height:0;
}
.sd-kokon-acc-btn .sd-kokon-path-tile__icon svg{
  display:block;
  width:var(--sd-kokon-acc-icon-size);
  height:var(--sd-kokon-acc-icon-size);
  color:var(--sd-color-green-dark);
}
.sd-kokon-acc-btn .sd-kokon-acc-btn__caret{
  align-self:flex-start;
  /* Chevron na wysokości środka ikony (1em ≈ wysokość glifu przy line-height:1). */
  margin-top:max(0px,calc((var(--sd-kokon-acc-icon-size) - 1em) / 2));
  font-size:0.85rem;
  color:#2f7c29;
  line-height:1;
  transition:transform .22s ease;
}
.sd-kokon-acc-btn.accordion-button:not(.collapsed) .sd-kokon-acc-btn__caret{
  transform:rotate(-180deg);
}
@media (prefers-reduced-motion:reduce){
  .sd-kokon-acc-btn .sd-kokon-acc-btn__caret{
    transition:none;
  }
}
/* Wspólna „ramka” z chevronem — kafle + akordeon */
.sd-kokon-expand-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.25rem;
  height:2.25rem;
  border-radius:10px;
  background:rgba(47,124,41,0.12);
  border:1px solid rgba(47,124,41,0.35);
  color:#256d23;
  line-height:1;
}
.sd-kokon-expand-mark > i,
.sd-kokon-expand-mark i.fa-solid{
  font-size:1rem;
  line-height:1;
}

/* Dom KOKON: ikony SVG jak `.sd-entry-card` (zamiast FA w ramce) */
.sd-kokon-path-tile__head .sd-kokon-path-tile__icon{
  margin-bottom:0;
  flex-shrink:0;
  margin-top:0.15em;
  line-height:0;
}
.sd-kokon-path-tile__head .sd-kokon-path-tile__icon svg{
  display:block;
  width:clamp(28px,6vw,36px);
  height:clamp(28px,6vw,36px);
  color:var(--sd-color-green-dark);
}
.sd-kokon-steps__card.sd-step-card .sd-marketing-inline-icon--step{
  margin-bottom:0.5rem;
}
.sd-kokon-steps__card.sd-step-card .sd-marketing-inline-icon--step svg{
  color:var(--sd-color-green-dark);
}
.sd-kokon-path-tile__cta-icon{
  font-size:0.8rem;
  opacity:0.9;
}
.sd-kokon-path-tile.highlight-card .sd-kokon-path-tile__title{
  line-height:1.3;
}
.sd-kokon-skip{
  top:5.5rem;
  left:.5rem;
  z-index:1090;
}
.sd-kokon-hero-hint{
  max-width:42rem;
}
.sd-kokon-figure__caption{
  font-size:.95rem;
  line-height:1.45;
  color:#3d5247;
  padding:.85rem 1rem;
  margin-bottom:.75rem;
  background:#f4f7f5;
  border-left:4px solid #2f7c29;
  border-radius:0 .35rem .35rem 0;
}
.sd-kokon-figure .sd-kokon-figure__caption + img{
  margin-top:0;
}
/* Dom KOKON — ten sam układ co Oferta: .offer-hero + odstęp pod fixed nav / top CTA */
.sd-kokon-hero{
  margin-top:72px;
}
/* Warianty XS–XL w hero (mobile-first, czytelne „pigułki”) */
.sd-kokon-variants__intro{
  max-width:40rem;
  line-height:1.45;
  letter-spacing:.02em;
}
.sd-kokon-variants__badges{
  max-width:44rem;
}
.sd-kokon-variant-badge{
  display:inline-block;
  padding:.35rem .85rem;
  font-size:.8125rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#1a2e26;
  background:#f4f7f5;
  border:1px solid #d5e0d8;
  border-radius:999px;
  line-height:1.2;
}
.offer-hero .sd-kokon-variant-badge{
  color:#1f2e2c;
}
/* Dom KOKON — sekcja skali wariantów pod hero (te same etykiety co repeater w hero) */
.sd-kokon-variants-scale{
  --sd-kokon-scale-accent:#2f7c29;
}
.sd-kokon-variants-scale__intro{
  max-width:42rem;
  line-height:1.55;
}
.sd-kokon-variants-scale__track{
  display:flex;
  flex-wrap:nowrap;
  gap:.75rem;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:.75rem;
  padding-bottom:.35rem;
  margin-inline:-.75rem;
  padding-inline:.75rem;
}
.sd-kokon-variants-scale__track--interactive{
  flex-wrap:wrap;
  overflow-x:visible;
  scroll-snap-type:none;
  margin-inline:0;
  padding-inline:0;
  padding-bottom:0;
  gap:.65rem;
}
@media (max-width:991.98px){
  .sd-kokon-variants-scale__track--interactive{
    flex-wrap:nowrap;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    margin-inline:-.75rem;
    padding-inline:.75rem;
    padding-bottom:.35rem;
  }
}
@media (min-width:992px){
  .sd-kokon-variants-scale__track{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));
    gap:1rem;
    overflow:visible;
    margin-inline:0;
    padding-inline:0;
    scroll-snap-type:none;
  }
  .sd-kokon-variants-scale__track--interactive{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));
    gap:1rem;
  }
}
.sd-kokon-variants-scale__card{
  flex:0 0 auto;
  scroll-snap-align:start;
  min-width:5.5rem;
  max-width:10rem;
  padding:1rem .85rem 1.1rem;
  margin:0;
  font:inherit;
  line-height:inherit;
  color:inherit;
  text-align:center;
  cursor:default;
  -webkit-appearance:none;
  appearance:none;
  background:#fff;
  border:1px solid #d5e0d8;
  border-radius:.5rem;
  box-shadow:0 1px 2px rgba(26,46,38,.06);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.35rem;
}
.sd-kokon-variants-scale__track--interactive .sd-kokon-variants-scale__card{
  cursor:pointer;
}
.sd-kokon-variants-scale__card--static{
  cursor:default;
}
.sd-kokon-variants-scale__card.is-active{
  border-color:var(--sd-kokon-scale-accent);
  box-shadow:0 0 0 2px rgba(47,124,41,.2),0 2px 8px rgba(26,46,38,.08);
}
.sd-kokon-variants-scale__card:focus-visible{
  outline:2px solid rgba(47,124,41,.45);
  outline-offset:2px;
}
@media (min-width:992px){
  .sd-kokon-variants-scale__card{
    min-width:0;
    max-width:none;
  }
}
.sd-kokon-variants-scale__panel{
  position:relative;
}
.sd-kokon-variants-scale__detail{
  padding:1.15rem 1.25rem;
  background:#fff;
  border:1px solid #d5e0d8;
  border-radius:.5rem;
  box-shadow:0 1px 3px rgba(26,46,38,.06);
}
.sd-kokon-variants-scale__detail[hidden]{
  display:none !important;
}
.sd-kokon-variants-scale__summary{
  font-weight:500;
  color:#2c3e35 !important;
  letter-spacing:.01em;
}
.sd-kokon-variants-scale__body{
  line-height:1.6;
  color:#3d5247;
}
.sd-kokon-variants-scale__abbr{
  display:block;
  font-size:clamp(1.35rem,3.5vw,1.85rem);
  font-weight:700;
  letter-spacing:.06em;
  line-height:1;
  color:var(--sd-kokon-scale-accent);
}
.sd-kokon-variants-scale__name{
  font-size:.75rem;
  font-weight:600;
  line-height:1.25;
  color:#1a2e26;
}
@media (prefers-reduced-motion:reduce){
  .sd-kokon-variants-scale__track{
    scroll-snap-type:none;
  }
}
/* Kafle ścieżek — klasa .highlight-card jak sekcja kart na /oferta/ */
.sd-kokon-path-tile{
  margin:0;
  font:inherit;
  line-height:inherit;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  text-align:inherit;
}
.sd-kokon-path-tile.highlight-card:focus-visible{
  outline:2px solid rgba(47,124,41,.45);
  outline-offset:2px;
}
@media (prefers-reduced-motion:reduce){
  .sd-kokon-path-tile.highlight-card:hover{
    transform:none;
  }
}
.sd-kokon-paths-band{
  overflow-x:clip;
}
.sd-kokon-paths-band__row{
  --bs-gutter-x:1rem;
}
@media (min-width:768px){
  .sd-kokon-paths-band__row{
    --bs-gutter-x:1.5rem;
  }
}
.sd-kokon-paths-band .sd-kokon-hero-hint{
  max-width:42rem;
}
.sd-kokon-path-tile__head{
  align-items:flex-start !important;
  margin-bottom:.85rem !important;
  min-height:0;
}
.sd-kokon-path-tile__title{
  min-width:0;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:manual;
  line-height:1.3;
  padding-top:0.06em;
}
.sd-kokon-path-tile.highlight-card h3.sd-kokon-path-tile__title{
  margin-bottom:0;
}
.sd-kokon-path-tile.highlight-card{
  padding:1.8rem 1.65rem;
}
.sd-kokon-path-tile__teaser{
  display:block;
  line-height:1.55;
  color:#4a5251;
  margin-bottom:1.15rem !important;
  min-height:4.8rem;
}
.sd-kokon-path-tile .sd-kokon-path-tile__cta{
  margin-top:auto !important;
  padding-top:1.6rem;
  min-height:1.5rem;
  align-self:flex-start;
  line-height:1.25;
}
.sd-kokon-footer__row{
  padding-top:.5rem;
  padding-bottom:.5rem;
}
.sd-kokon-footer__cta{
  margin-top:1.1rem;
}
.sd-kokon-footer__logos{
  padding-top:.45rem;
}
@media (max-width:767.98px){
  .sd-kokon-paths-band{
    padding-top:2.25rem !important;
    padding-bottom:2.25rem !important;
  }
  .sd-kokon-path-tile.highlight-card{
    padding:1.45rem 1.3rem;
    height:auto;
    min-height:100%;
  }
  .sd-kokon-path-tile .sd-kokon-path-tile__cta{
    margin-top:auto !important;
    padding-top:1.3rem;
  }
  .sd-kokon-path-tile__head{
    min-height:0;
  }
  .sd-kokon-path-tile__teaser{
    min-height:0;
  }
  .sd-kokon-footer__row{
    padding-top:.2rem;
    padding-bottom:.65rem;
  }
  .sd-kokon-footer__cta{
    margin-top:1.25rem;
  }
  .sd-kokon-footer__logos{
    padding-top:.8rem;
  }
  .sd-kokon-hero .hero-cta.d-flex,
  .hero-cta.sd-kokon-cta-row.d-flex{
    flex-direction:column;
    align-items:stretch !important;
  }
  .sd-kokon-hero .hero-cta .btn,
  .hero-cta.sd-kokon-cta-row .btn{
    width:100%;
    text-align:center;
  }
}
@media (min-width:768px) and (max-width:991.98px){
  .sd-kokon-path-tile.highlight-card{
    padding:1.6rem 1.45rem;
  }
  .sd-kokon-path-tile__teaser{
    min-height:5.1rem;
  }
  .sd-kokon-footer__cta{
    margin-top:1.2rem;
  }
  .sd-kokon-footer__logos{
    padding-top:.6rem;
  }
}
@media (min-width:992px){
  .sd-kokon-path-tile__teaser{
    min-height:5.4rem;
  }
}

.sd-kokon-specs__table thead th{
  white-space:nowrap;
  font-size:0.9rem;
}
.sd-kokon-specs__row--addon td{
  background-color:rgba(42,120,41,0.06);
  font-size:0.95rem;
}
@media (max-width:767.98px){
  .sd-kokon-specs .table-responsive{
    border-radius:0.5rem;
    border:1px solid #e1e5df;
  }
  .sd-kokon-specs__table{
    font-size:0.9rem;
    margin-bottom:0;
  }
  .sd-kokon-specs__table thead{display:none;}
  .sd-kokon-specs__table tr{
    display:block;
    border-bottom:1px solid #e1e5df;
    padding:0.75rem 0.5rem;
  }
  .sd-kokon-specs__table tr:last-child{border-bottom:0;}
  .sd-kokon-specs__table td{
    display:block;
    border:0;
    padding:0.2rem 0.25rem;
  }
  .sd-kokon-specs__table td:before{
    display:block;
    font-size:0.72rem;
    letter-spacing:0.02em;
    text-transform:uppercase;
    color:#6c757d;
    margin-bottom:0.1rem;
  }
  .sd-kokon-specs__table td:nth-child(1):before{content:'Model / moduł';}
  .sd-kokon-specs__table td:nth-child(2):before{content:'Powierzchnia';}
  .sd-kokon-specs__table td:nth-child(3):before{content:'Cena / info';}
  .sd-kokon-specs__table td:nth-child(4):before{content:'Uwagi';}
}
.sd-kokon-steps__num{
  font-variant-numeric:tabular-nums;
  font-weight:600;
}
.sd-kokon-steps__card{
  border:1px solid #e9ecef;
}

.highlight-card{
  border:1px solid #e1e5df;
  border-radius:18px;
  padding:1.5rem;
  background:#fff;
  height:100%;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.highlight-card h3{font-size:1.25rem;margin-bottom:.5rem;}
.highlight-card:hover{
  transform:translateY(-8px);
  border-color:#cfe3c7;
  box-shadow:0 18px 35px rgba(42,120,41,0.15);
}
#offer-hero .hero-contact,
#offer-process .compliance-list li,
.materials-card,
.offer-layers .layer-row{
  transition:transform .25s ease, box-shadow .25s ease;
}
.offer-layers .layer-row:hover{
  box-shadow:none;
  transform:none;
}

.offer-process .compliance-list{
  padding-left:1.2rem;
  margin:1.5rem 0;
}
.offer-process .compliance-list li{
  margin-bottom:.6rem;
  color:#4a5251;
}
.process-steps{
  counter-reset:steps;
  list-style:none;
  padding:0;
  margin:0;
}
.process-steps li{
  margin-bottom:1.5rem;
  padding-left:3.5rem;
  position:relative;
}
.process-steps li:before{
  counter-increment:steps;
  content:counter(steps);
  position:absolute;
  left:0;
  top:.2rem;
  width:2.4rem;
  height:2.4rem;
  border-radius:50%;
  background:#7e6f4f;
  color:#f5ecd7;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
}

.materials-feature-grid{
  margin-bottom:0;
}
.materials-feature-card{
  border:1px solid #ece6d9;
  border-radius:20px;
  padding:1.75rem;
  background:#fffefa;
  box-shadow:0 18px 35px rgba(91,76,44,0.08);
  display:flex;
  flex-direction:column;
  gap:1rem;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.materials-feature-card:hover{
  transform:translateY(-6px);
  border-color:#d0c3a7;
  box-shadow:0 26px 45px rgba(91,76,44,0.16);
}
.materials-feature-thumb{
  width:100%;
  min-height:140px;
  border-radius:16px;
  background:#f3eee3;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
}
.materials-feature-thumb img{
  max-width:100%;
  max-height:120px;
  object-fit:contain;
  display:block;
}
.materials-feature-body h3{
  font-size:1.25rem;
  margin-bottom:.5rem;
}
.materials-feature-lead{
  font-weight:600;
  color:#4a3f34;
  margin-bottom:.5rem;
}
.materials-feature-text{
  margin-bottom:0;
  color:#4b4f4a;
}
.materials-feature-lead strong,
.materials-feature-text strong{
  font-weight:700;
}
.materials-feature-lead p,
.materials-feature-text p{
  margin:0 0 .6rem;
}
.materials-feature-text p:last-child{
  margin-bottom:0;
}
.materials-note{
  margin-top:1.75rem;
  padding:50px 0;
  border:0;
  border-radius:0;
  background:transparent;
}
.materials-note-logo{
  max-height:80px;
  width:auto;
  flex-shrink:0;
  display:block;
}
.privacy-hero{
  background:#fbf8f0;
}
.privacy-hero .eyebrow {
  display: block;
  font-size: var(--sd-text-sm);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sd-color-green-dark);
  line-height: 1;
  margin-bottom: 0.5rem;
}

.privacy-hero .eyebrow.text-muted {
  color: var(--sd-color-green-dark);
}
.privacy-sections{
  background:#fff;
}
.privacy-section{
  display:flex;
  gap:1.5rem;
  border-bottom:1px solid #ece6d9;
  padding:2.25rem 0;
}
.privacy-section:last-child{
  border-bottom:0;
}
.privacy-section-number{
  font-size:1.25rem;
  font-weight:600;
  color:#7e6f4f;
  min-width:48px;
}
.privacy-section-body h2{
  font-size:1.5rem;
  margin-bottom:1rem;
}
.privacy-section-content p{
  margin-bottom:1rem;
  color:#3d3a35;
}
.privacy-section-content ul{
  padding-left:1.25rem;
  margin-bottom:1rem;
}
.privacy-section-content li{
  margin-bottom:.35rem;
}
.privacy-section-content table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin-bottom:1.5rem;
}
.privacy-table th,
.privacy-table td{
  border:1px solid #dad4c8;
  padding:.85rem 1rem;
  text-align:left;
  vertical-align:top;
}
.privacy-table th{
  background:#f2ede4;
  font-weight:600;
}
.privacy-table tr:nth-child(even) td{
  background:#fbf9f4;
}
@media (max-width:767px){
  .privacy-section{
    flex-direction:column;
    gap:1rem;
  }
  .privacy-section-number{
    min-width:auto;
  }
  .privacy-table th,
  .privacy-table td{
    font-size:.9rem;
  }
}
.materials-card{
  border:1px solid #e5e5e5;
  border-radius:16px;
  padding:1.75rem;
  background:#fff;
  height:100%;
  box-shadow:0 20px 40px rgba(0,0,0,0.04);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.materials-card-body{flex:1 1 auto;}
.materials-card ul{
  padding-left:1.2rem;
  margin-bottom:0;
}
.materials-card li{
  margin-bottom:.45rem;
}
.materials-card:hover{
  transform:translateY(-6px);
  border-color:#d0e6ca;
  box-shadow:0 24px 40px rgba(47,124,41,0.18);
}
.materials-card-visual{
  text-align:right;
}
.materials-card-visual img{
  max-width:200px;
  width:100%;
  height:auto;
}

.offer-layers .layer-row{
  border-bottom:1px solid #e7e1d3;
  padding:2.5rem 0;
  gap:1.5rem;
  display:flex;
  flex-direction:column;
}
.offer-layers .layer-row-alt{
  background:transparent;
}
.offer-layers .layer-visual{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.layer-visual-btn{
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}
.layer-visual-btn:focus-visible{
  outline:3px solid #2f7c29;
  outline-offset:4px;
}
.offer-layers .layer-visual img{
  width:auto;
  max-width:100%;
  height:500px;
  display:block;
  object-fit:contain;
}
.offer-layers .layer-content{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  padding:0;
}
.offer-layers .layer-metric{
  font-size:.85rem;
  letter-spacing:.08em;
  color:#2f7c29;
  margin-bottom:.25rem;
}
.offer-layers .layer-list{
  margin-top:1rem;
  margin-bottom:0;
  padding-left:1.2rem;
  color:#4a4f4a;
}
.offer-layers .layer-list li{
  margin-bottom:.3rem;
}
.offer-layers .layer-list-alpha{
  list-style-type:lower-alpha;
  padding-left:1.5rem;
}
.offer-layers .layer-list-bullet{
  list-style-type:disc;
}
.offer-layers .layer-inline-list{
  margin-top:1rem;
  margin-bottom:0;
  color:#4a4f4a;
}
.layer-lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.65);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  opacity:0;
  transition:opacity .2s ease;
}
.layer-lightbox.is-visible{
  opacity:1;
}
.layer-lightbox__backdrop{
  position:absolute;
  inset:0;
}
.layer-lightbox__dialog{
  position:relative;
  background:#fff;
  padding:1.5rem;
  padding-bottom:max(1.5rem, env(safe-area-inset-bottom, 0px));
  border-radius:18px;
  width:min(96vw,1200px);
  max-width:min(96vw,1200px);
  max-height:calc(100vh - 1.5rem);
  max-height:calc(100dvh - 1.5rem);
  overflow:auto;
  box-shadow:0 20px 50px rgba(0,0,0,0.3);
  z-index:1;
  display:flex;
  flex-direction:column;
}
.layer-lightbox__figure{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
  flex:1 1 auto;
  min-height:0;
}
/* Powiększenie przekroju: maks. wysokość jak ekran (minus ramka + podpis); szerokość z proporcji */
.layer-lightbox__figure img{
  width:auto;
  max-width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  /* Jak najwyżej w oknie: rezerwa na padding dialogu + podpis (ok. 2–3 wiersze) */
  max-height:calc(100vh - 9rem);
  max-height:calc(100dvh - 9rem);
  max-height:calc(100svh - 8.5rem);
}
.layer-lightbox__caption{
  margin:0;
  font-size:1rem;
  color:#4a4f4a;
  text-align:center;
}
.layer-lightbox__close{
  position:absolute;
  top:max(0.65rem, env(safe-area-inset-top, 0px));
  right:max(0.65rem, env(safe-area-inset-right, 0px));
  z-index:6;
  width:3.25rem;
  height:3.25rem;
  padding:0;
  border:2px solid rgba(255,255,255,0.95);
  border-radius:50%;
  background:#1a5c19;
  cursor:pointer;
  color:transparent;
  font-size:0;
  line-height:0;
  box-shadow:
    0 0 0 1px rgba(0,0,0,0.12),
    0 4px 14px rgba(0,0,0,0.35),
    0 2px 6px rgba(0,0,0,0.2);
  transition:background .2s ease, box-shadow .2s ease, transform .15s ease;
  display:flex;
  align-items:center;
  justify-content:center;
}
.layer-lightbox__close::before,
.layer-lightbox__close::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:1.375rem;
  height:3px;
  margin:0;
  background:#fff;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(0,0,0,0.15);
  transition:background .2s ease, box-shadow .2s ease;
}
.layer-lightbox__close::before{
  transform:translate(-50%, -50%) rotate(45deg);
}
.layer-lightbox__close::after{
  transform:translate(-50%, -50%) rotate(-45deg);
}
.layer-lightbox__close:hover,
.layer-lightbox__close:focus-visible{
  background:#154a14;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px rgba(26,92,25,0.45),
    0 6px 18px rgba(0,0,0,0.4);
  transform:scale(1.04);
}
.layer-lightbox__close:hover::before,
.layer-lightbox__close:hover::after,
.layer-lightbox__close:focus-visible::before,
.layer-lightbox__close:focus-visible::after{
  background:#fff;
  box-shadow:0 0 0 1px rgba(0,0,0,0.2);
}
@media (prefers-reduced-motion: reduce) {
  .layer-lightbox__close:hover,
  .layer-lightbox__close:focus-visible{
    transform:none;
  }
}
.gallery-lightbox{
  position:fixed;
  inset:0;
  background:rgba(6,10,8,0.8);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9998;
  opacity:0;
  transition:opacity .2s ease;
}
.gallery-lightbox.is-visible{
  opacity:1;
}
.gallery-lightbox__backdrop{
  position:absolute;
  inset:0;
}
.gallery-lightbox__dialog{
  position:relative;
  background:#0f1b17;
  padding:2rem 4rem;
  border-radius:32px;
  max-width:min(90vw,1200px);
  width:90%;
  box-shadow:0 35px 80px rgba(0,0,0,0.45);
  display:flex;
  align-items:center;
  gap:1rem;
  z-index:1;
}
.gallery-lightbox__figure{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
  color:#f8f5ef;
  text-align:center;
  flex:1 1 auto;
}
.gallery-lightbox__figure img{
  width:100%;
  max-height:70vh;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 20px 40px rgba(0,0,0,0.35);
}
.gallery-lightbox__figure figcaption{
  display:flex;
  flex-direction:column;
  gap:.25rem;
}
.gallery-lightbox__label{
  font-size:1.15rem;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.gallery-lightbox__caption{
  font-size:.95rem;
  color:rgba(248,245,239,0.75);
}
.gallery-lightbox__close{
  position:absolute;
  top:18px;
  right:18px;
  width:2.75rem;
  height:2.75rem;
  border-radius:50%;
  border:0;
  background:#2a7829;
  cursor:pointer;
}
.gallery-lightbox__close::before,
.gallery-lightbox__close::after{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:20px;
  height:2px;
  background:#fff;
  transform-origin:center;
}
.gallery-lightbox__close::before{
  transform:translate(-50%,-50%) rotate(45deg);
}
.gallery-lightbox__close::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}
.gallery-lightbox__close:hover,
.gallery-lightbox__close:focus-visible{
  background:#1f6c22;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.45);
}
.gallery-lightbox__nav{
  border:0;
  background:rgba(255,255,255,0.1);
  color:#fff;
  width:3rem;
  height:3rem;
  border-radius:50%;
  cursor:pointer;
  font-size:2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s;
}
.gallery-lightbox__nav:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.gallery-lightbox__nav:hover:not(:disabled),
.gallery-lightbox__nav:focus-visible:not(:disabled){
  background:rgba(255,255,255,0.25);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35);
}
.gallery-lightbox__nav--prev{
  order:-1;
}
.gallery-lightbox__nav span{
  line-height:1;
  font-size:1.8rem;
}
@media (max-width:768px){
  .gallery-lightbox__dialog{
    flex-direction:column;
    padding:1.5rem;
  }
  .gallery-lightbox__nav{
    order:0;
  }
  .gallery-lightbox__figure img{
    max-height:55vh;
  }
}
.layer-lightbox-open{
  overflow:hidden;
}
.offer-layers h3{
  font-size:1.35rem;
  margin-bottom:.25rem;
}

.offer-contact .contact-meta p{margin-bottom:1rem;}
.offer-contact .contact-link{
  color:#171f24;
  font-weight:600;
}
.offer-contact .contact-link:hover{
  color:#2f7c29;
}
.offer-contact .socials{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  font-size:.95rem;
}
.offer-contact .socials a{
  color:#0166cc;
  text-decoration:none;
}
.offer-contact .socials a:hover{
  text-decoration:underline;
}

@media (max-width:767px){
  .process-steps li{padding-left:2.8rem;}
  .offer-layers .layer-row{padding:1.25rem;border-radius:16px;}
  .offer-manifest-inner{
    flex-direction:column;
    text-align:center;
  }
  .offer-manifest-graphic{
    max-width:200px;
    transform:translateX(0);
  }
}
@media(min-width:992px){
  .offer-layers .layer-row{
    flex-direction:row;
    align-items:center;
    padding:2.25rem 2.5rem;
  }
  .offer-layers .layer-row.layer-row-alt{
    flex-direction:row-reverse;
  }
  .offer-layers .layer-visual{
    flex:0 0 50%;
    max-width:50%;
  }
  .offer-layers .layer-content{
    font-size: 0.8rem;
    flex:0 0 50%;
    max-width:100%;
    padding-left:2rem;
  }
  .offer-layers .layer-row.layer-row-alt .layer-content{
    padding-left:0;
    padding-right:2rem;
  }
  .layer-lightbox__dialog{
    padding:2rem;
  }
  .layer-lightbox__figure img{
    max-height:calc(100dvh - 10.5rem);
    max-height:calc(100svh - 10rem);
  }
}

/* Accessibility hardening: wyraźny fokus klawiatury i wsparcie reduced motion */
:focus-visible {
  outline: 3px solid #2f7c29 !important;
  outline-offset: 2px;
}

.accordion-button:focus-visible,
.mobile-bottom-item:focus-visible,
.mobile-menu-close:focus-visible,
.top-cta-close:focus-visible {
  box-shadow: 0 0 0 3px rgba(47, 124, 41, 0.35) !important;
}

@media (prefers-reduced-motion: reduce) {
  .wow {
    animation: none !important;
    transition: none !important;
    visibility: visible !important;
  }

  .sd-news-card .sd-news-card__image-wrap img {
    transition: none !important;
  }

  .aktualnosci-box-wrapper > a img {
    transition: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   PREMIUM UX/UI — Design System v2
   ═══════════════════════════════════════════════════════════════ */

/* ── Section Eyebrow + Heading ──────────────────────────────── */

.sd-section-eyebrow {
  display: block;
  font-size: var(--sd-text-sm);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sd-color-green-dark);
  margin-bottom: 0.5rem;
  line-height: 1;
}

.sd-section-heading {
  font-size: var(--sd-heading-h2-fs-desktop);
  font-weight: var(--sd-heading-h2-weight);
  letter-spacing: normal;
  line-height: var(--sd-heading-h2-lh-desktop);
  color: var(--sd-heading-h2-color);
  margin: 0;
}

.sd-section-heading--light {
  color: var(--sd-color-sand);
}

.sd-section-heading--white {
  color: var(--sd-color-white);
}

/* ── Przyciski ──────────────────────────────────────────────── */

.btn-sd-primary,
.btn-sd-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--sd-font-base);
  font-size: var(--sd-text-sm);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.8rem 2rem;
  border-radius: var(--sd-radius-btn);
  text-decoration: none;
  transition: background var(--sd-ease), color var(--sd-ease), border-color var(--sd-ease), transform 0.15s ease, box-shadow var(--sd-ease);
  cursor: pointer;
  white-space: nowrap;
}

.btn-sd-primary {
  background: var(--sd-color-green-dark);
  color: var(--sd-color-white);
  border: 2px solid var(--sd-color-green-dark);
}

.btn-sd-primary:hover,
.btn-sd-primary:focus {
  background: var(--sd-color-green-hover);
  border-color: var(--sd-color-green-hover);
  color: var(--sd-color-white);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(42, 120, 41, 0.3);
  text-decoration: none;
}

.btn-sd-outline {
  background: transparent;
  color: var(--sd-color-green-dark);
  border: 2px solid var(--sd-color-green-dark);
}

.btn-sd-outline:hover,
.btn-sd-outline:focus {
  background: var(--sd-color-green-dark);
  color: var(--sd-color-white);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(42, 120, 41, 0.2);
  text-decoration: none;
}

/* Wariant jasny — na ciemnym tle (hero) */
.btn-sd-outline--light {
  color: var(--sd-color-sand);
  border-color: var(--sd-color-sand);
}

.btn-sd-outline--light:hover,
.btn-sd-outline--light:focus {
  background: var(--sd-color-sand);
  color: var(--sd-color-ink);
}

/* ── Hero CTA Row ───────────────────────────────────────────── */

.sd-hero-cta-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sd-space-md);
  flex-wrap: wrap;
  margin-top: var(--sd-hero-cta-row-margin-top);
  position: relative;
  z-index: 2;
}

/* ── Entry Cards (3-kolumnowe karty CTA na home) ────────────── */

.sd-entry-section {
  background: var(--sd-color-surface-alt);
  padding: clamp(1.5rem, 3vw, 2.5rem) 0;
}

.sd-entry-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  padding: 1.75rem 1.5rem;
  background: var(--sd-color-white);
  border: 1px solid var(--sd-color-border);
  border-radius: var(--sd-radius-card);
  text-decoration: none;
  color: var(--sd-color-ink);
  transition: border-color var(--sd-ease), box-shadow var(--sd-ease), transform 0.18s ease;
}

.sd-entry-card:hover,
.sd-entry-card:focus {
  border-color: var(--sd-color-green-dark);
  box-shadow: 0 8px 32px rgba(42, 120, 41, 0.13);
  transform: translateY(-3px);
  color: var(--sd-color-ink);
  text-decoration: none;
}

.sd-entry-card__icon {
  margin-bottom: 1.1rem;
  display: flex;
  align-items: center;
  line-height: 0;
}

.sd-entry-card__icon svg {
  display: block;
  width: clamp(28px, 6vw, 36px);
  height: clamp(28px, 6vw, 36px);
  color: var(--sd-color-green-dark);
  flex-shrink: 0;
}

.sd-entry-card__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--sd-color-ink);
  margin: 0 0 0.5rem;
  line-height: 1.3;
}

.sd-entry-card__desc {
  font-size: var(--sd-text-base);
  color: var(--sd-color-ink-muted);
  line-height: 1.55;
  margin: 0 0 1rem;
  flex: 1;
}

.sd-entry-card__cta {
  margin-top: auto;
  font-size: var(--sd-text-sm);
  font-weight: 600;
  color: var(--sd-color-green-dark);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: gap var(--sd-ease);
}

.sd-entry-card:hover .sd-entry-card__cta {
  gap: 0.6rem;
}

/* Boksy marketingowe (podstrony) — te same ikony co `.sd-entry-card` na home */
.sd-marketing-box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  width: 100%;
}

.sd-marketing-box .sd-marketing-inline-icon {
  margin-bottom: 0.75rem;
  line-height: 0;
  flex-shrink: 0;
}

.sd-marketing-box .sd-marketing-inline-icon svg {
  display: block;
}

.sd-marketing-box .sd-entry-card__icon svg {
  width: clamp(28px, 6vw, 36px);
  height: clamp(28px, 6vw, 36px);
  color: var(--sd-color-green-dark);
  flex-shrink: 0;
}

.sd-marketing-box > .sd-entry-card__icon + h2,
.sd-marketing-box > .sd-entry-card__icon + h3 {
  margin-top: 0;
  width: 100%;
  min-width: 0;
}

.sd-step-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}

.sd-step-card .sd-marketing-inline-icon--step {
  margin-bottom: 0.5rem;
  line-height: 0;
  flex-shrink: 0;
}

.sd-step-card .sd-marketing-inline-icon--step svg {
  display: block;
  width: clamp(26px, 5.5vw, 34px);
  height: clamp(26px, 5.5vw, 34px);
  color: var(--sd-color-green-dark);
}

/* ── News Cards (aktualności) ───────────────────────────────── */

.sd-news-card {
  margin-bottom: var(--sd-space-md);
}

/* Miniatura: pełna treść obrazu w ramce (bez cropu); jednolite pola siatki. */
.sd-news-card__image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--sd-color-surface-soft);
  border-radius: var(--sd-radius-sm);
  padding: clamp(0.35rem, 1.2vw, 0.65rem);
}

.sd-news-card__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform var(--sd-ease-slow);
}

.sd-news-card__image-wrap:hover img,
.sd-news-card__image-wrap:focus img {
  transform: scale(1.05);
}

.sd-news-card__title {
  margin-top: 0.85rem;
  margin-bottom: 0;
  font-size: var(--sd-text-base);
  font-weight: 600;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.sd-news-card__title a {
  color: var(--sd-color-ink);
  text-decoration: none;
  transition: color var(--sd-ease);
}

.sd-news-card__title a:hover {
  color: var(--sd-color-green-dark);
}

/* ── Section Header Row (heading + link po prawej) ──────────── */

.sd-section-header {
  display: flex;
  /* Baseline: „Zobacz wszystkie” w jednej linii z H2, nie na dole bloku z legacy `margin-bottom` na `#hp-* h2`. */
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

/* Legacy `#hp-realizacje h2` itd. dodaje duży `margin-bottom` — w połączeniu z `align-items: flex-end`
   spychało link „Zobacz wszystkie” w dół kolumny. Odstęp pod nagłówkiem daje `.sd-section-header { margin-bottom }`. */
#hp-realizacje .sd-section-header .sd-section-heading,
#hp-aktualnosci .sd-section-header .sd-section-heading,
#hp-gotowe .sd-section-header .sd-section-heading {
  margin-bottom: 0;
}

/* Link do katalogu pod sliderem — zawijanie (globalny .sd-section-header__link ma nowrap). */
#hp-gotowe .sd-hp-gotowe-catalog-cta .sd-section-header__link--hp-gotowe-catalog-bottom {
  white-space: normal;
  text-align: center;
  justify-content: center;
  max-width: min(100%, 26rem);
  margin-inline: auto;
}

.sd-section-header__link {
  font-size: var(--sd-text-sm);
  font-weight: 600;
  color: var(--sd-color-green-dark);
  text-decoration: none;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  transition: gap var(--sd-ease), color var(--sd-ease);
}

.sd-section-header__link:hover {
  color: var(--sd-color-green-hover);
  gap: 0.65rem;
  text-decoration: none;
}

/* ── Realizacje grid cards ──────────────────────────────────── */

.hp-realizacja-box {
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.hp-realizacja-box .overlay-img {
  display: block;
  overflow: hidden;
}

.hp-realizacja-box .overlay-img img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform var(--sd-ease-slow);
}

.hp-realizacja-box .overlay-img:hover img {
  transform: scale(1.04);
}

/* Home + strona „Realizacje”: ten sam układ co `.overlay-img`, ale markup to `a > img` (bez wrappera). */
#hp-realizacje .hp-realizacja-box > a,
#realizacje-wrapper .hp-realizacja-box > a {
  display: block;
  overflow: hidden;
}

#hp-realizacje .hp-realizacja-box > a img.img-fluid,
#realizacje-wrapper .hp-realizacja-box > a img.img-fluid {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  transition: transform var(--sd-ease-slow);
}

#hp-realizacje .hp-realizacja-box > a:hover img,
#realizacje-wrapper .hp-realizacja-box > a:hover img {
  transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
  #hp-realizacje .hp-realizacja-box > a img.img-fluid,
  #realizacje-wrapper .hp-realizacja-box > a img.img-fluid {
    transition: none;
  }

  #hp-realizacje .hp-realizacja-box > a:hover img,
  #realizacje-wrapper .hp-realizacja-box > a:hover img {
    transform: none;
  }
}

/* Pierwszy slot na home (`dom-realizacje.png` / `.jpg`): cały dom w kadrze — letterbox zamiast crop cover */
#hp-realizacje .hp-realizacja-box--whole-house > a {
  background-color: #f0efea;
}

#hp-realizacje .hp-realizacja-box--whole-house > a img.img-fluid {
  object-fit: contain;
}

/* ── Napis "Aktywny" w menu (current page) ──────────────────── */

.current_page_item a,
.current-menu-item a {
  color: var(--sd-color-green-dark) !important;
}

/* ── Link "ar-r-green" ujednolicenie ────────────────────────── */

.ar-r-green {
  color: var(--sd-color-green-dark);
  font-weight: 600;
  font-size: var(--sd-text-sm);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: color var(--sd-ease), gap var(--sd-ease);
}

.ar-r-green:hover {
  color: var(--sd-color-green-hover);
  gap: 0.6rem;
  text-decoration: none;
}

/* ── Klasy pomocnicze sekcji ─────────────────────────────────── */
.sd-section-bg-white { background: var(--sd-color-white); }
.sd-section-margin-top {
  margin-top: var(--sd-section-offset-below-header);
}

/* ── Offcanvas wyszukiwarka (fullscreen, od góry, safe-area) ─ */
#searchOffcanvas.sd-offcanvas-search.offcanvas-top {
  --sd-offcanvas-search-ink: rgba(255, 255, 255, 0.95);
  --sd-offcanvas-search-muted: rgba(255, 255, 255, 0.62);
  border-bottom: none;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
}

#searchOffcanvas.sd-offcanvas-search .offcanvas-body.sd-offcanvas-search__body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-height: 100vh;
  min-height: 100dvh;
  max-height: 100dvh;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-top: max(0.35rem, env(safe-area-inset-top, 0px));
}

#searchOffcanvas.sd-offcanvas-search .sd-offcanvas-search__toolbar {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  padding: 0.5rem 3.25rem 0.75rem 1rem;
  gap: 0.5rem;
}

@media (min-width: 576px) {
  #searchOffcanvas.sd-offcanvas-search .sd-offcanvas-search__toolbar {
    padding-inline: 1.5rem 3.75rem;
  }
}

#searchOffcanvas.sd-offcanvas-search .sd-offcanvas-search__close {
  position: absolute;
  top: max(0.25rem, env(safe-area-inset-top, 0px));
  right: max(0.35rem, env(safe-area-inset-right, 0px));
  margin: 0;
}

/* Cele dotykowe (WCAG 2.5.5) — zamknij + „Szukaj” w pełnoekranowej wyszukiwarce */
#searchOffcanvas .btn-close {
  min-width: 44px;
  min-height: 44px;
  padding: 0.5rem;
}

#searchOffcanvas.sd-offcanvas-search .offcanvas-search-title {
  font-size: clamp(1.35rem, 3.2vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0;
  padding: 0;
  line-height: 1.28;
  text-align: center;
  color: var(--sd-offcanvas-search-ink);
}

#searchOffcanvas.sd-offcanvas-search .sd-offcanvas-search__main {
  padding: 0.35rem 1.25rem 2rem;
  flex: 1 1 auto;
}

@media (min-width: 576px) {
  #searchOffcanvas.sd-offcanvas-search .sd-offcanvas-search__main {
    padding-inline: 2rem;
  }
}

#searchOffcanvas.sd-offcanvas-search .searchform.searchform-hero.searchform-offcanvas {
  width: 100%;
  max-width: 48rem;
  margin-inline: auto;
}

#searchOffcanvas.sd-offcanvas-search .sd-offcanvas-search__field {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: stretch;
}

@media (min-width: 576px) {
  #searchOffcanvas.sd-offcanvas-search .sd-offcanvas-search__field {
    flex-direction: row;
    align-items: flex-end;
    gap: 1rem;
  }
}

#searchOffcanvas.sd-offcanvas-search input[type="search"] {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  margin-bottom: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 3px solid rgba(255, 255, 255, 0.38) !important;
  border-radius: 0 !important;
  color: var(--sd-offcanvas-search-ink) !important;
  font-size: clamp(1.125rem, 2.4vw, 1.5rem) !important;
  font-weight: 500;
  padding: 0.9rem 0 0.65rem !important;
  line-height: 1.35;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#searchOffcanvas.sd-offcanvas-search input[type="search"]::placeholder {
  color: var(--sd-offcanvas-search-muted);
  opacity: 1;
}

#searchOffcanvas.sd-offcanvas-search input[type="search"]:hover {
  border-bottom-color: rgba(255, 255, 255, 0.55) !important;
}

#searchOffcanvas.sd-offcanvas-search input[type="search"]:focus,
#searchOffcanvas.sd-offcanvas-search input[type="search"]:focus-visible,
#searchOffcanvas.sd-offcanvas-search input[type="search"]:active,
#searchOffcanvas.sd-offcanvas-search input[type="search"]:hover {
  outline: none !important;
  border-bottom: 3px solid var(--sd-color-green-dark) !important;
  box-shadow: 0 4px 0 0 rgba(42, 120, 41, 0.35);
}

#searchOffcanvas.sd-offcanvas-search input[type="search"]:focus-visible {
  outline: 2px solid var(--sd-color-green-dark) !important;
  outline-offset: 3px;
}

#searchOffcanvas .hero-cta,
#searchOffcanvas button[type="submit"] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 576px) {
  #searchOffcanvas.sd-offcanvas-search .hero-cta {
    flex: 0 0 auto;
  }
}

/* ── Budynki hero nagłówek ───────────────────────────────── */
.sd-budynki-title  { font-weight: 900; margin-bottom: 0; }
.sd-budynki-subtitle { font-weight: 700; }

/* =============================================================
   PREMIUM COMPONENTS
   Reguły komponentowe scalone z css/sd-premium-components.css.
   Tokeny `--sd-premium-*` zmigrowane do `--sd-*`.
   ============================================================= */
.sd-entry-card,
.offer-highlight-card,
.offer-layer-card,
.aktualnosci-box-wrapper .aktualnosci-lista-title {
  border-radius: var(--sd-radius-sm);
}

.sd-entry-card {
  transition: transform var(--sd-ease), box-shadow var(--sd-ease);
  box-shadow: var(--sd-shadow-soft);
}

.sd-entry-card:hover,
.sd-entry-card:focus-within {
  transform: translateY(-4px);
  box-shadow: var(--sd-shadow-hover);
}

.sd-pagination ul,
.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sd-space-xs);
  align-items: center;
  margin: var(--sd-space-lg) 0 0;
  padding: 0;
  list-style: none;
}

.sd-pagination a,
.sd-pagination span,
.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  border-radius: var(--sd-radius-btn);
  padding: 0.25rem 0.75rem;
  border: 1px solid rgba(47, 124, 41, 0.28);
  text-decoration: none;
}

.sd-pagination .current,
.pagination .current {
  background: var(--sd-color-green);
  color: #fff;
  border-color: var(--sd-color-green);
}

.mobile-bottom-item,
.top-cta-link,
.top-cta-mobile-btn {
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.mobile-bottom-item:active,
.top-cta-link:active,
.top-cta-mobile-btn:active {
  transform: translateY(1px);
}

/* Hero / landing H1 — ta sama typografia co `.sd-section-heading` na stronie głównej */
.offer-hero h1,
.sd-subpage-hero h1,
.privacy-hero h1,
.page-template-page-dom-kokon-php .sd-kokon-hero h1 {
  font-size: var(--sd-heading-h2-fs-desktop);
  font-weight: var(--sd-heading-h2-weight);
  letter-spacing: normal;
  line-height: var(--sd-heading-h2-lh-desktop);
  color: var(--sd-heading-h2-color);
  margin: 0 0 var(--sd-space-lg) 0;
  max-width: none;
}

.offer-hero .lead,
.sd-subpage-hero .lead,
.page-template-page-dom-kokon-php .sd-kokon-hero .lead {
  max-width: 64ch;
  color: var(--sd-hero-lead-ink);
}

/* Premium CTA baseline */
.offer-hero .btn,
.page-template-page-zamowienie-grupowe-php .btn,
.page-template-page-dom-kokon-php .btn,
.sd-kokon-archive-promo .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--sd-radius-btn);
  min-height: 2.9rem;
  padding-inline: 1.15rem;
  font-weight: 600;
}

.offer-hero .btn:focus-visible,
.page-template-page-zamowienie-grupowe-php .btn:focus-visible,
.page-template-page-dom-kokon-php .btn:focus-visible,
.sd-kokon-archive-promo .btn:focus-visible {
  outline: 3px solid rgba(47, 124, 41, 0.35);
  outline-offset: 2px;
}

/* Consistent card language across pages */
.page-template-page-zamowienie-grupowe-php .card,
.page-template-page-zamowienie-grupowe-php .p-4.h-100.border.rounded,
.page-template-page-dom-kokon-php .sd-kokon-path-tile,
.page-template-page-dom-kokon-php .sd-kokon-steps__card,
.page-template-page-dom-kokon-php .sd-kokon-variants-scale__card {
  border-radius: var(--sd-radius-sm);
  box-shadow: var(--sd-shadow-soft);
  transition: transform var(--sd-ease), box-shadow var(--sd-ease), border-color var(--sd-ease);
}

.page-template-page-zamowienie-grupowe-php .card:hover,
.page-template-page-zamowienie-grupowe-php .card:focus-within,
.page-template-page-zamowienie-grupowe-php .p-4.h-100.border.rounded:hover,
.page-template-page-zamowienie-grupowe-php .p-4.h-100.border.rounded:focus-within,
.page-template-page-dom-kokon-php .sd-kokon-path-tile:hover,
.page-template-page-dom-kokon-php .sd-kokon-path-tile:focus-within {
  transform: translateY(-3px);
  box-shadow: var(--sd-shadow-hover);
}

/* Long-title control in project cards */
.page-template-page-zamowienie-grupowe-php .card-title > a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* =============================================================
   PREMIUM PAGE OVERRIDES
   Reguły page-scoped scalone z css/sd-premium-pages.css.
   ============================================================= */
/* Breadcrumbs: odstęp od fixed navbar (nie kumuluje się z marginesem hero — patrz niżej). */
.breadcrumbs-wrap {
  margin-top: var(--sd-space-md);
  margin-bottom: 0;
}

/*
 * Odstęp breadcrumbs → nagłówek podstrony (H1):
 * - Rank Math: `.breadcrumbs-wrap` przed `<main>` → `~ #main-content > …:first-child`
 * - Single CPT: breadcrumbs w `<main>` → `> .breadcrumbs-wrap ~ .hero`
 */
.breadcrumbs-wrap ~ #main-content > .sd-subpage-hero:first-child,
.breadcrumbs-wrap ~ #main-content > .offer-hero:first-child,
.breadcrumbs-wrap ~ #main-content > .privacy-hero:first-child,
#main-content > .breadcrumbs-wrap ~ .sd-subpage-hero,
#main-content > .breadcrumbs-wrap ~ .offer-hero,
#main-content > .breadcrumbs-wrap ~ .privacy-hero,
#main-content > .breadcrumbs-wrap + .sd-subpage-hero,
#main-content > .breadcrumbs-wrap + .offer-hero,
#main-content > .breadcrumbs-wrap + .privacy-hero {
  margin-top: var(--sd-subpage-hero-after-breadcrumb-lg);
}

/* Domyślny odstęp hero pod paskiem nawigacji (gdy brak breadcrumbs nad <main>) */
.sd-subpage-hero {
  margin-top: var(--sd-subpage-hero-margin-top);
}

@media (max-width: 1200px) {
  .sd-subpage-hero {
    margin-top: var(--sd-subpage-hero-margin-top-md);
  }
  .breadcrumbs-wrap ~ #main-content > .sd-subpage-hero:first-child,
  .breadcrumbs-wrap ~ #main-content > .offer-hero:first-child,
  .breadcrumbs-wrap ~ #main-content > .privacy-hero:first-child,
  #main-content > .breadcrumbs-wrap ~ .sd-subpage-hero,
  #main-content > .breadcrumbs-wrap ~ .offer-hero,
  #main-content > .breadcrumbs-wrap ~ .privacy-hero,
  #main-content > .breadcrumbs-wrap + .sd-subpage-hero,
  #main-content > .breadcrumbs-wrap + .offer-hero,
  #main-content > .breadcrumbs-wrap + .privacy-hero {
    margin-top: var(--sd-subpage-hero-after-breadcrumb-md);
  }
}

@media (max-width: 767px) {
  .sd-subpage-hero {
    margin-top: var(--sd-subpage-hero-margin-top-sm);
  }
  .breadcrumbs-wrap ~ #main-content > .sd-subpage-hero:first-child,
  .breadcrumbs-wrap ~ #main-content > .offer-hero:first-child,
  .breadcrumbs-wrap ~ #main-content > .privacy-hero:first-child,
  #main-content > .breadcrumbs-wrap ~ .sd-subpage-hero,
  #main-content > .breadcrumbs-wrap ~ .offer-hero,
  #main-content > .breadcrumbs-wrap ~ .privacy-hero,
  #main-content > .breadcrumbs-wrap + .sd-subpage-hero,
  #main-content > .breadcrumbs-wrap + .offer-hero,
  #main-content > .breadcrumbs-wrap + .privacy-hero {
    margin-top: var(--sd-subpage-hero-after-breadcrumb-xs);
  }
}

.offer-hero,
.sd-subpage-hero {
  padding-top: var(--sd-hero-padding-y);
  padding-bottom: var(--sd-hero-padding-y);
}

#aktualnosci-page-wrapper .container,
#realizacje-wrapper .container,
.offer-hero .container {
  max-width: var(--sd-maxw);
}

/* Spójny rytm sekcji — `#main-content`; `--sd-section-y-use` z breakpointów powyżej; bez hero / `.privacy-hero` */
#main-content > section.py-5:not(.offer-hero):not(.sd-subpage-hero):not(.privacy-hero),
#main-content > section.py-4:not(.offer-hero):not(.sd-subpage-hero):not(.privacy-hero) {
  padding-top: var(--sd-section-y-use) !important;
  padding-bottom: var(--sd-section-y-use) !important;
}

/* Listy / oferty bez `py-*` + FAQ `pb-0` (tylko górny rytm) */
#main-content > section#aktualnosci-page-wrapper,
#main-content > section#realizacje-wrapper,
#main-content > section#zielone-oferty,
#main-content > section:has(> #realizacje-mapa) {
  padding-top: var(--sd-section-y-use);
  padding-bottom: var(--sd-section-y-use);
}

#main-content > section.pb-0:not(.offer-hero):not(.sd-subpage-hero) {
  padding-top: var(--sd-section-y-use) !important;
  padding-bottom: 0 !important;
}

/* Mobile: musi być PO bazowych paddingach hero / sekcji, żeby kaskada nie nadpisywała tokenów. */
@media (max-width: 767px) {
  .offer-hero h1,
  .sd-subpage-hero h1,
  .privacy-hero h1,
  .page-template-page-dom-kokon-php .sd-kokon-hero h1,
  section.py-5.sd-section-margin-top > .container > .row > [class*="col-"] > h1,
  section.py-5.sd-section-margin-top > .container > h1 {
    max-width: 100%;
    line-height: var(--sd-heading-h2-lh-mobile);
  }

  .offer-hero .lead,
  .sd-subpage-hero .lead,
  .page-template-page-dom-kokon-php .sd-kokon-hero .lead {
    font-size: 1rem;
  }

  /* Nie zmniejszaj marginesu względem globalnej reguły — breadcrumbs są pierwszym blokiem pod fixed header */
  .offer-hero,
  .sd-subpage-hero {
    padding-top: var(--sd-hero-padding-y-mobile);
    padding-bottom: var(--sd-hero-padding-y-mobile);
  }

  .page-template-page-zamowienie-grupowe-php .card-body {
    padding: 0.95rem 0.95rem 1.05rem;
  }

  .page-template-page-zamowienie-grupowe-php .lead,
  .page-template-page-dom-kokon-php .lead {
    margin-bottom: 0.9rem;
  }
}

.page-template-page-zamowienie-grupowe-php .offer-hero .container,
.page-template-page-zamowienie-grupowe-php #wycena-form .container,
.page-template-page-zamowienie-grupowe-php #faqZamowienieGrupowe,
.page-template-page-dom-kokon-php .sd-kokon-hero .container,
.page-template-page-dom-kokon-php .sd-kokon-paths-band .container {
  max-width: var(--sd-maxw);
}

/* Deal cards on group order page */
.page-template-page-zamowienie-grupowe-php .sd-zg-deal-thumb-link .ratio {
  border-top-left-radius: var(--sd-radius-sm);
  border-top-right-radius: var(--sd-radius-sm);
  overflow: hidden;
}

.page-template-page-zamowienie-grupowe-php .card-body {
  padding: 1.1rem 1.1rem 1.15rem;
}

.page-template-page-zamowienie-grupowe-php .lead,
.page-template-page-dom-kokon-php .lead {
  line-height: 1.55;
}

/* KOKON page consistency polish */
.page-template-page-dom-kokon-php .sd-kokon-variants__badges {
  row-gap: 0.6rem;
}

.page-template-page-dom-kokon-php .sd-kokon-paths-band__row {
  row-gap: clamp(1rem, 2.5vw, 1.8rem);
}

.page-template-page-dom-kokon-php .sd-kokon-steps__list {
  row-gap: clamp(1rem, 2.5vw, 1.8rem);
}

/* =============================================================
   CONSISTENCY NORMALIZATION — audit 2026-04-17
   Ujednolicenie wyglądu powtarzalnych elementów UI między
   szablonami bez konieczności modyfikacji markupu wszystkich stron.
   ============================================================= */

/* ── Eyebrow globalny ─────────────────────────────
   Różne szablony używają `<p class="eyebrow">` (hero) lub
   `<span class="sd-section-eyebrow">` (home). Ujednolicamy
   wygląd: uppercase, letter-spacing, mały rozmiar, muted ink. */
.eyebrow,
p.eyebrow {
  display: inline-block;
  font-size: var(--sd-text-sm);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sd-color-green-dark);
  line-height: 1;
  margin-bottom: 0.5rem;
}

/* ── Normalizacja nagłówków sekcji na landing pages ───
   Wiele szablonów (page-gotowe-projekty, page-zamow-wycene,
   page-zamowienie-grupowe, page-projekt-indywidualny, itd.)
   używa `<h2 class="h3">` lub `<h2 class="h4">` jako nagłówka
   sekcji. Bootstrap sprowadza je do małego rozmiaru. Wymusza-
   my minimalny rozmiar spójny z `.sd-section-heading`. */
section h2.h3,
section h2.h4 {
  font-size: var(--sd-heading-h2-fs-desktop);
  font-weight: var(--sd-heading-h2-weight);
  letter-spacing: normal;
  line-height: var(--sd-heading-h2-lh-desktop);
  color: var(--sd-heading-h2-color);
}

/* Jedna reguła mobilna dla wszystkich nagłówków sekcji (bez duplikatów @media w kilku miejscach). */
@media only screen and (max-width: 998px) {
  .sd-section-heading,
  section h2.h3,
  section h2.h4,
  .offer-hero h1,
  .sd-subpage-hero h1,
  .privacy-hero h1,
  .page-template-page-dom-kokon-php .sd-kokon-hero h1,
  section.py-5.sd-section-margin-top > .container > .row > [class*="col-"] > h1,
  section.py-5.sd-section-margin-top > .container > h1 {
    font-size: var(--sd-heading-h2-fs-mobile);
    line-height: var(--sd-heading-h2-lh-mobile);
  }
}

/* ── Spójny outline button secondary w hero ──────── */
/* .btn-outline-dark w hero oferty vs .btn-outline-success
   na innych stronach — ujednolicenie wizualne. */
.offer-hero .hero-cta .btn-outline-success,
.sd-subpage-hero .hero-cta .btn-outline-success {
  border-color: var(--sd-color-ink);
  color: var(--sd-color-ink);
  background: transparent;
}
.offer-hero .hero-cta .btn-outline-success:hover,
.offer-hero .hero-cta .btn-outline-success:focus,
.sd-subpage-hero .hero-cta .btn-outline-success:hover,
.sd-subpage-hero .hero-cta .btn-outline-success:focus {
  background: var(--sd-color-ink);
  color: var(--sd-color-white);
  border-color: var(--sd-color-ink);
}

/* ── Hero layout — spójne paddingi i max-width treści ─ */
.offer-hero,
.sd-subpage-hero {
  background: linear-gradient(120deg, #f3f7f3 0%, #ffffff 100%);
  border-bottom: 1px solid #edf0ed;
}
.offer-hero .lead,
.sd-subpage-hero .lead {
  max-width: 60ch;
}

/* ── UTILITY CLASSES (zastąpienie inline style="...") ─── */
.sd-text-sm          { font-size: var(--sd-text-sm); }
.sd-img-cover        { object-fit: cover; }
.sd-logo-h-48        { max-height: 48px; width: auto; }
.sd-logo-h-56        { max-height: 56px; width: auto; }
.sd-logo-h-60        { max-height: 60px; width: auto; }
.sd-logo-h-80        { max-height: 80px; width: auto; }
.sd-max-h-400        { max-height: 400px; width: auto; }
.sd-th-w-40          { width: 40%; }
.sd-map-h-520        { height: 520px; }
.sd-section-pb-0     { padding-bottom: 0 !important; }
/* Spójny pionowy rytm sekcji (mobile-first → desktop); użyj na wrapperze sekcji zamiast rozproszonych py-* */
.sd-section-y {
  padding-top: var(--sd-section-y-use, var(--sd-section-y-md));
  padding-bottom: var(--sd-section-y-use, var(--sd-section-y-md));
}
.sd-offcanvas-fullscreen { height: 100vh; }

/* ── Accordion FAQ — spójność między stronami ──────── */
/* Bootstrap 5 domyślnie daje niebieski focus; przełączamy na
   markę SD na wszystkich akordeonach FAQ. */
.accordion-button:not(.collapsed) {
  color: var(--sd-color-green-dark);
  background-color: rgba(42, 120, 41, 0.06);
}
.accordion-button:focus-visible {
  border-color: var(--sd-color-green-dark);
  box-shadow: 0 0 0 0.2rem rgba(42, 120, 41, 0.18);
}

/* ── News card — typografia tytułu (obrazek: blok wyżej) ───── */
.sd-news-card .sd-news-card__title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 0.75rem 0 0;
}
.sd-news-card .sd-news-card__title a {
  color: var(--sd-color-ink);
  text-decoration: none;
}
.sd-news-card .sd-news-card__title a:hover,
.sd-news-card .sd-news-card__title a:focus {
  color: var(--sd-color-green-dark);
}

/* ── Privacy hero — równa się z ogólnym hero ───── */
.privacy-hero {
  padding-top: clamp(3rem, 6vw, 5rem);
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
}
/* ── Landingi bez .offer-hero (etapy-budowy, szczegóły oferty, GP marketing).
   H1 jak `.sd-section-heading` (strona główna). */
section.py-5.sd-section-margin-top > .container > .row > [class*="col-"] > h1,
section.py-5.sd-section-margin-top > .container > h1 {
  font-size: var(--sd-heading-h2-fs-desktop);
  font-weight: var(--sd-heading-h2-weight);
  letter-spacing: normal;
  line-height: var(--sd-heading-h2-lh-desktop);
  margin: 0 0 var(--sd-space-lg) 0;
  color: var(--sd-heading-h2-color);
}
section.py-5.sd-section-margin-top > .container > .row > [class*="col-"] > p.lead {
  max-width: 60ch;
  color: var(--sd-color-ink-muted);
  margin-bottom: 0;
}

/* ── Hero ZG: lista benefitów jak na innych podstronach z `.offer-hero`. */
.page-template-page-zamowienie-grupowe-php .offer-hero.sd-subpage-hero ul {
  list-style: none;
  padding-left: 0;
  margin-top: 0.75rem;
}
.page-template-page-zamowienie-grupowe-php .offer-hero.sd-subpage-hero ul li {
  position: relative;
  padding-left: 1.75rem;
  margin-bottom: 0.4rem;
  color: var(--sd-color-ink-muted);
}
.page-template-page-zamowienie-grupowe-php .offer-hero.sd-subpage-hero ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 1rem;
  height: 2px;
  background: var(--sd-color-green-dark);
  border-radius: 2px;
}

/* ═══════════════════════════════════════════════════════════
   HP-KONTAKT — premium overhaul sekcji kontakt na home
   (używane też na: faq, praca, wynajmij, nasze-realizacje, #kokon-contact)
   ═══════════════════════════════════════════════════════════ */

#hp-kontakt,
#kokon-contact {
  padding-top: var(--sd-space-section);
  padding-bottom: var(--sd-space-section);
  background: var(--sd-color-surface);
  position: relative;
}

#hp-kontakt::before,
#kokon-contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(90%, var(--sd-maxw));
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(19, 29, 21, .12) 30%,
    rgba(19, 29, 21, .12) 70%,
    transparent 100%
  );
}

/* Tylko pierwszy wiersz z bezpośrednią kolumną .col-md-12 (templates/contact.php).
   Descendant `.col-md-12` w kolumnie z CF7 nie dostaje eyebrow — unikamy powtórzeń „Napisz do nas”. */
#hp-kontakt > .container > .row:first-child > .col-md-12 .sd-section-heading {
  font-size: var(--sd-heading-h2-fs-desktop);
  font-weight: var(--sd-heading-h2-weight);
  line-height: var(--sd-heading-h2-lh-desktop);
  margin-bottom: var(--sd-section-heading-margin-bottom);
  color: var(--sd-heading-h2-color);
}

#hp-kontakt > .container > .row:first-child > .col-md-12::before {
  content: "Napisz do nas";
  display: block;
  font-size: var(--sd-text-xs);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sd-color-green-dark);
  margin-bottom: 0.75rem;
}

/* Dom KOKON — typografia h2 jak w #hp-kontakt, bez „eyebrow” (Napisz do nas) */
#kokon-contact > .container > .row:first-child > .col-12 .sd-section-heading,
#kokon-contact > .container > .row:first-child > .col-md-12 .sd-section-heading {
  font-size: var(--sd-heading-h2-fs-desktop);
  font-weight: var(--sd-heading-h2-weight);
  line-height: var(--sd-heading-h2-lh-desktop);
  margin-bottom: var(--sd-section-heading-margin-bottom);
  color: var(--sd-heading-h2-color);
}

#hp-kontakt .hp-kontakt-text,
#kokon-contact .hp-kontakt-text {
  font-size: var(--sd-text-lg);
  line-height: 1.6;
  color: var(--sd-color-ink-muted, rgba(19, 29, 21, 0.72));
  margin-top: 0;
  margin-bottom: 2.25rem;
  max-width: 56ch;
}

/* ── Karty telefon + email — kompaktowe, każda w osobnym wierszu ─── */
#hp-kontakt .kontakt-phone,
#hp-kontakt .kontakt-mail,
#kokon-contact .kontakt-phone,
#kokon-contact .kontakt-mail {
  display: flex;
  width: fit-content;
  max-width: 100%;
  margin-bottom: 0.75rem;
  background: var(--sd-color-surface-alt, #f6f7f4);
  border: 1px solid rgba(19, 29, 21, 0.08);
  border-radius: var(--sd-radius-sm);
  padding: 0.75rem 1.25rem;
  transition: border-color var(--sd-ease), box-shadow var(--sd-ease), transform var(--sd-ease);
}

#hp-kontakt .kontakt-phone:hover,
#hp-kontakt .kontakt-mail:hover,
#kokon-contact .kontakt-phone:hover,
#kokon-contact .kontakt-mail:hover {
  border-color: rgba(19, 29, 21, 0.14);
  box-shadow: var(--sd-shadow-soft);
  transform: translateY(-1px);
}

#hp-kontakt .kontakt-phone table,
#hp-kontakt .kontakt-mail table,
#kokon-contact .kontakt-phone table,
#kokon-contact .kontakt-mail table {
  width: auto;
  margin: 0;
}

#hp-kontakt .kontakt-phone table tr > td:first-child,
#hp-kontakt .kontakt-mail table tr > td:first-child,
#kokon-contact .kontakt-phone table tr > td:first-child,
#kokon-contact .kontakt-mail table tr > td:first-child {
  width: 36px;
  padding: 0 0.6rem 0 0;
}

#hp-kontakt .kontakt-phone img,
#hp-kontakt .kontakt-mail img,
#kokon-contact .kontakt-phone img,
#kokon-contact .kontakt-mail img {
  width: 22px;
  height: 22px;
  opacity: 0.85;
}

#hp-kontakt .kontakt-info,
#kokon-contact .kontakt-info {
  padding: 0;
  vertical-align: middle;
}

#hp-kontakt .kontakt-info a,
#kokon-contact .kontakt-info a {
  font-size: var(--sd-text-lg);
  font-weight: 600;
  color: var(--sd-color-green-dark);
  display: inline-block;
  padding: 0.25rem 0;
}

#hp-kontakt .kontakt-info a:hover,
#hp-kontakt .kontakt-info a:focus-visible,
#kokon-contact .kontakt-info a:hover,
#kokon-contact .kontakt-info a:focus-visible {
  color: var(--sd-color-ink);
  text-decoration: none;
}

/* ── Dane firmowe (NIP, KRS, mBank, adres) ──────────────────────── */
#hp-kontakt .kontakt-more,
#kokon-contact .kontakt-more {
  margin-top: 1.5rem;
  padding: 1.25rem 0 0;
  font-size: var(--sd-text-sm);
  line-height: 1.7;
  color: var(--sd-color-ink-muted, rgba(19, 29, 21, 0.7));
  border-top: 1px solid rgba(19, 29, 21, 0.08);
}

#hp-kontakt .kontakt-more p,
#hp-kontakt .kontakt-more br,
#kokon-contact .kontakt-more p,
#kokon-contact .kontakt-more br {
  margin-bottom: 0;
}

/* ── Social icons (inst/fb) w #hp-kontakt ────────────────────────── */
#hp-kontakt .kontakt-more a,
#kokon-contact .kontakt-more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(19, 29, 21, 0.15);
  border-radius: 50%;
  margin-right: 0.5rem;
  margin-top: 0.75rem;
  transition: background var(--sd-ease), border-color var(--sd-ease), transform var(--sd-ease);
}

#hp-kontakt .kontakt-more a:hover,
#hp-kontakt .kontakt-more a:focus-visible,
#kokon-contact .kontakt-more a:hover,
#kokon-contact .kontakt-more a:focus-visible {
  background: var(--sd-color-green-dark);
  border-color: var(--sd-color-green-dark);
  transform: translateY(-2px);
}

#hp-kontakt .kontakt-more a img,
#kokon-contact .kontakt-more a img {
  width: 18px;
  height: 18px;
  transition: filter var(--sd-ease);
}

#hp-kontakt .kontakt-more a:hover img,
#hp-kontakt .kontakt-more a:focus-visible img,
#kokon-contact .kontakt-more a:hover img,
#kokon-contact .kontakt-more a:focus-visible img {
  filter: brightness(0) invert(1);
}

/* ── CF7 formularz w #hp-kontakt (lepsze odstępy) ──────────────── */
#hp-kontakt .col-md-7 .wpcf7,
#kokon-contact .col-md-7 .wpcf7 {
  background: var(--sd-color-surface);
  border: 1px solid rgba(19, 29, 21, 0.08);
  border-radius: var(--sd-radius);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  box-shadow: var(--sd-shadow-soft);
}

@media (max-width: 767.98px) {
  #hp-kontakt,
  #kokon-contact {
    padding-top: var(--sd-space-section-sm);
    padding-bottom: var(--sd-space-section-sm);
  }
  #hp-kontakt .col-md-7,
  #kokon-contact .col-md-7 {
    margin-top: 2rem;
  }
  #hp-kontakt .col-md-7 .wpcf7,
  #kokon-contact .col-md-7 .wpcf7 {
    padding: 1.25rem;
  }
}

/* ── CF7 — sekcja #wycena-form (ZG, Zamów wycenę) — karta jak #hp-kontakt ──
   Uwaga: <body> w headerze nie ma body_class() — selektorów .page-template-* tu nie używamy. */
#wycena-form .wpcf7 {
  background: var(--sd-color-surface);
  border: 1px solid rgba(19, 29, 21, 0.08);
  border-radius: var(--sd-radius);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  box-shadow: var(--sd-shadow-soft);
}

@media (max-width: 767.98px) {
  #wycena-form .wpcf7 {
    padding: 1.25rem;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   NORMALIZACJA KSZTAŁTU PRZYCISKÓW — jedna kanoniczna pastylka (var(--sd-radius-btn))
   dla WSZYSTKICH CTA, submit buttonów formularzy i linków-przycisków.

   Dlaczego na końcu pliku:
     Ten blok celowo nadpisuje wszystkie wcześniejsze reguły z hardcoded
     wartościami (0, .35rem, 5px, 6px, 12px itd.), żeby zapewnić 100% spójność
     kształtu w całym serwisie. Gdy zmieniasz design — zmień tylko token
     `--sd-radius-btn` w :root.

   A11y: nie zmieniamy `min-height` / `padding` / `font-size` buttonów —
         pastylka 999px nie wpływa na target size (WCAG 2.1 SC 2.5.5).
   ═════════════════════════════════════════════════════════════════════════ */

/* 1) Bootstrap .btn + wszystkie nasze klasy primary/outline/submit */
.btn,
.btn-sd-primary,
.btn-sd-outline,
.btn-green,
.btn-green.hero-cta,
.btn-success,
.btn-outline-success,
.btn-outline-dark,
.btn-cta,
.post-cta .btn-cta,
.calc-oblicz,
.calc-zobacz,
.mobile-menu-panel__cta,
.mob-menu-cta-link,
.top-cta-link,
.top-cta-mobile-btn,
.offer-hero .hero-cta .btn,
.hero-cta.sd-kokon-cta-row .btn,
.page-template-page-zamowienie-grupowe-php .btn,
.page-template-page-dom-kokon-php .btn,
.page-template-page-oferta-slomianego-domu-php .btn,
.sd-footer-newsletter-form .wpcf7-submit,
.sd-footer-newsletter-form button[type="submit"],
input.wpcf7-submit,
input.wpcf7-form-control.wpcf7-submit,
button.wpcf7-submit,
.wpcf7-submit,
.wp-block-search__button,
form input[type="submit"]:not([class*="visually-hidden"]),
form button[type="submit"]:not([class*="visually-hidden"]) {
  border-radius: var(--sd-radius-btn) !important;
}

/* 2) Submit formularzy newsletter w stopce — pastylka + min-height dla a11y */
.sd-footer-newsletter-form .wpcf7-submit,
.sd-footer-newsletter-form button[type="submit"] {
  min-height: 44px; /* WCAG 2.1 SC 2.5.5 Target Size (minimum 44x44) */
}

/* 3) WYJĄTKI — elementy NIE będące "buttonami semantycznymi":
      - close buttons (X)                   → okrąg (pozostaje border-radius: 50%)
      - slidery/arrows nawigacyjne          → własne zaokrąglone kształty (pozostają)
      - icon buttons w modalach/lightbox    → pozostają jak są
      Te elementy mają już własne radius w poprzednich blokach i NIE są
      wymienione w selektorze powyżej — zostają nietknięte. */

/* 4) Podwyższ klikalny hit target dla button-link w top-cta (pozostaje wygląd
      pastylki ale target nie mniejszy niż 44px). */
.top-cta-link,
.top-cta-mobile-btn,
.mob-menu-cta-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

