/* 2026-10-24 (wydajnosc): Plus Jakarta Sans z motywu (podzbiory woff2, OFL) zamiast @import z Google Fonts; kursywa syntetyczna */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/PlusJakartaSans-Regular.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/PlusJakartaSans-SemiBold.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/PlusJakartaSans-Bold.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/PlusJakartaSans-ExtraBold.woff2) format('woff2')}

html {
  scroll-behavior: smooth;
}

@font-face {
  /* 2026-09-29: w @font-face jedna nazwa rodziny - lista (od 22.09) uniewazniala regule i nagłowki szly zapasowym Arialem */
  font-family: 'conthrax';

  /* 2026-10-24: podzbior (latin + latin-ext, 15 KB zamiast 40 KB) */
  src: url(../fonts/conthrax-sb-sub.woff2) format('woff2'), url(../fonts/conthrax-sb.otf) format('opentype');
  font-display: swap;
}
/* 2026-09-22 (audyt SEO): font zapasowy o metrykach Conthrax, zeby zamiana fontu nie przesuwala ukladu (CLS) */
@font-face {
  font-family: 'conthrax-fallback';
  src: local('Arial'), local('Helvetica');
  size-adjust: 129.5%;
  ascent-override: 71.7%;
  descent-override: 21%;
  line-gap-override: 0%;
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: rgba(29, 28, 49, 0.60);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

::-moz-selection {
  background-color: #1D1C31;
  color: #fff;
}

::selection {
  background-color: #1D1C31;
  color: #fff;
}

h1,
h2,
h3 {
  font-family: 'conthrax', 'conthrax-fallback', Arial, sans-serif;
  line-height: 1.5 !important;
  color: #1D1C31;
}

p {
  margin-bottom: 1em;
  line-height: 1.75;
}

.nav .cta a {
  padding: 0.75rem 1rem;
  border-radius: 8px;
  font-size: 18px;
  background-color: #AB1F25;
  transition: all .35s ease;
  color: #fff;
  border: 1px solid #AB1F25;
  font-weight: 800;
}

.nav li a,
.nav__logo img {
  transition: all .35s ease;
}

.nav li a:hover {
  color: #7B8DA0;
}

.nav__logo img:hover {
  opacity: 0.5;
}

.btn:hover,
.nav li a.cta:hover {
  background-color: #fff;
  color: #0d0d0d;
  cursor: pointer;
  border-color: #AB1F25 !important;
}

.nav,
.nav-change {
  transition: all .2s ease;
  z-index: 999;
}

.nav-change {
  padding-top: 60px;
}

.shadow-box {
  box-shadow: 0px 15px 46px 0px rgba(0, 40, 32, 0.15);
  /* background: #1D1C31; */
  background-image: url(../img/nav.webp); /* 2026-10-24: 7 KB zamiast 226 KB PNG */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.produkt nav {
  background-image: url(../img/nav.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.produkt .nav-change {
  padding-bottom: 60px;
}

.shadow-box .nav-change {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}

/* ham menu  */

.navigationBtn {
  position: relative;
  height: 18px;
  width: 18px;
  cursor: pointer;
  z-index: 99;
  transition: opacity .25s ease;
}

.navigationBtn span {
  background: #fff;
  left: 0;
  width: 100%;
  border: none;
  height: 2px;
  position: absolute;
  transition: all .35s ease;
  cursor: pointer
}

.navigationBtn--top {
  top: 0
}

.navigationBtn--middle {
  top: 6px
}

.navigationBtn--bottom {
  top: 12px
}

.navigationBtn.active .navigationBtn--top {
  transform: translateY(6px) translateX(0) rotate(45deg);
  background: #0d0d0d;
  z-index: 99999
}

.navigationBtn.active .navigationBtn--middle {
  opacity: 0
}

.navigationBtn.active .navigationBtn--bottom {
  transform: translateY(-6px) translateX(0) rotate(-45deg);
  background: #0d0d0d;
  z-index: 99999
}

.nav-nav ul.open {
  position: fixed;
  padding: 130px 15px 0 15px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  background-color: #dbdbdb;
  flex-direction: column;
  z-index: 98;
  color: #0d0d0d;
  font-size: 26px;
}

.nav-nav ul.open li {
  margin: 12px 0;
}

.overflow {
  overflow: hidden
}

@media screen and (max-width: 991px) {
  .nav-nav .sub-menu {
    display: block;
    text-align: center;
    position: initial;
    font-size: 0.8em;
  }

  .menu-item-has-children {
    text-align: center;
  }
}

/* end ham menu  */

.estimate {
  background: rgba(155, 172, 190, 0.06);
}

input,
textarea,
input[type="checkbox"] {
  background: transparent
}

.estimate input:not([type="checkbox"]):not([type="file"]),
.estimate textarea {
  border-radius: 16px;
  border: 1px solid rgba(123, 141, 160, 0.40);
  width: 100%;
  padding: 1.1rem 1.25rem;
}

.estimate-form p {
  margin-bottom: 1.5rem;
}

.input-attachment {
  font-size: 12px;
}

input[type="checkbox"] {
  height: 32px;
  width: 32px;
  border-radius: 8px;
  border: 1px solid rgba(123, 141, 160, 0.40);
  margin-right: 12px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

input[type="checkbox"]:checked {
  background-color: #1D1C31;
}

.custom-file-input {
  position: relative;
  display: inline-block;
}

.input-hidden {
  display: none;
}

.input-attachment label {
  border-radius: 8px;
  background: #7B8DA0;
  color: #fff;
  font-size: 14px;
  padding: 9px 16px;
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  margin-right: 12px;
}

.estimate .input-send button.btn {
  padding: 1.25rem 2rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0;
  position: relative;
  display: flex;
  align-items: center;
}

.estimate .input-send button.btn::after {
  content: url('../img/send1.svg');
  display: block;
  margin-left: 10px;
  width: 24px;
  height: 24px;
}

.icon {
  margin-left: 10px;
  vertical-align: middle;
}

.input-accept {
  max-width: 80%;
}

.input-accept p {
  display: flex;
}

::-moz-placeholder {
  color: #1D1C31;
}

::placeholder {
  color: #1D1C31;
}

.btn::after {
  transition: all .35s ease;
}

.btn:hover::after {
  filter: brightness(0%);
}

.footer-icons,
footer a {
  transition: all .35s ease;
}

.footer a:hover {
  color: #1D1C31;
}

.footer-icons img:hover {
  filter: brightness(0%);
}

.btnSection1::after {
  content: url('../img/section1.svg');
  display: block;
  margin-left: 10px;
  width: 24px;
  height: 24px;
  transition: all .35s ease;
}

.footer {
  background: #F5F7F9;
}

.footer-container {
  border-bottom: 1px solid #E0E0E0;
}

.single-bradcrumb a {
  transition: all .35s ease;
}

.single-bradcrumb a:hover {
  transform: translateX(2%);
}

.single-subtitle {
  font-family: 'conthrax', 'conthrax-fallback', Arial, sans-serif;
}

.single-desc p {
  margin-bottom: 1em;
}

.single-desc ul {
  list-style: inherit;
  margin-left: 1em;
  margin-bottom: 1em;
}

.single-desc ol {
  list-style: inherit;
  margin-left: 1em;
  margin-bottom: 1em;
}

.single-info {
  border-radius: 24px;
}

.single-buttons .btn {
  font-size: 14px;
  margin-top: 0;
  padding: 0.65rem 0.75rem;
  display: flex;
  align-items: center;
}

.single-buttons .btn::before {
  transition: all .35s ease;
}

.btn-karta {
  background-color: #CF435C;
  border: 1px solid #CF435C
}

.btn-karta:hover {
  border-color: #CF435C !important;
}

.btn-karta::before {
  content: url('../img/karta.svg');
  display: block;
  margin-right: 6px;
  width: auto;
  height: 22px;
}

.btn-warunki {
  background-color: #27537A;
  border: 1px solid #27537A;
}

.btn-warunki:hover {
  border-color: #27537A !important;
}

.btn-warunki::before {
  content: url('../img/warunki.svg');
  display: block;
  margin-right: 6px;
  width: auto;
  height: 22px;
}

.btn-ocena {
  background-color: #3A9876;
  border: 1px solid #3A9876;
}

.btn-ocena:hover {
  border-color: #3A9876 !important;
}

.btn-ocena::before {
  content: url('../img/ocena.svg');
  display: block;
  margin-right: 6px;
  width: auto;
  height: 22px;
}

.btn-deklaracje {
  background-color: #2B79CB;
  border: 1px solid #2B79CB;
}

.btn-deklaracje:hover {
  border-color: #2B79CB !important;
}

.btn-deklaracje::before {
  content: url('../img/warunki.svg');
  display: block;
  margin-right: 6px;
  width: auto;
  height: 22px;
}

.single-buttons .btn:hover::before {
  filter: brightness(0%);
}

.line {
  width: 100%;
  height: 1px;
}

li {
  margin-bottom: 1em;
}

.single-image img {
  border-radius: 2em;
}

.wpcf7-list-item {
  margin: 0;
}

.grecaptcha-badge {
  display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
  text-align: center;
}

.posts-single {
  border-radius: 8px;
  border: 1px solid #f3f3f3;
  overflow: hidden;
  transition: all .35s ease;
}

.posts-single:hover {
  background-color: #fff;
  border: 1px solid #2B79CB;
}

.posts-single img {
  transition: all .35s ease;
}

.posts-single:hover img {
  transform: scale(1.05);
}

/* Reset CSS */

/* Ustawienie marginesów i wypełnienia na zero dla wszystkich elementów */

.post * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  /* Zapobiega dodawaniu marginesów do szerokości i wysokości elementów */
}

/* Domyślne style dla paragrafów */

.post p {
  font-size: 1rem;
  /* Domyślny rozmiar czcionki */
  margin-bottom: 1rem;
  /* Domyślny margines dolny */
}

/* Domyślne style dla nagłówków */

.post h1 {
  font-size: 2rem;
  /* Domyślny rozmiar czcionki dla h1 */
  margin-top: 2rem;
  /* Domyślny margines górny */
  margin-bottom: 1rem;
  /* Domyślny margines dolny */
}

.post h2 {
  font-size: 1.5rem;
  /* Domyślny rozmiar czcionki dla h2 */
  margin-top: 1.5rem;
  /* Domyślny margines górny */
  margin-bottom: 1rem;
  /* Domyślny margines dolny */
}

.post h3 {
  font-size: 1.25rem;
  /* Domyślny rozmiar czcionki dla h3 */
  margin-top: 1.25rem;
  /* Domyślny margines górny */
  margin-bottom: 1rem;
  /* Domyślny margines dolny */
}

.post h4 {
  font-size: 1.125rem;
  /* Domyślny rozmiar czcionki dla h4 */
  margin-top: 1rem;
  /* Domyślny margines górny */
  margin-bottom: 1rem;
  /* Domyślny margines dolny */
}

.post h5 {
  font-size: 1rem;
  /* Domyślny rozmiar czcionki dla h5 */
  margin-top: 0.875rem;
  /* Domyślny margines górny */
  margin-bottom: 1rem;
  /* Domyślny margines dolny */
}

.post h6 {
  font-size: 0.875rem;
  /* Domyślny rozmiar czcionki dla h6 */
  margin-top: 0.75rem;
  /* Domyślny margines górny */
  margin-bottom: 1rem;
  /* Domyślny margines dolny */
}

/* Domyślne style dla list */

.post ul,
.post ol {
  margin-bottom: 1rem;
  /* Domyślny margines dolny */
}

/* Domyślne style dla elementów listy */

.post li {
  margin-bottom: 0.25rem;
  /* Domyślny margines dolny */
}

/* Domyślne style dla obrazków */

.post img {
  max-width: 100%;
  /* Obrazki nie wyjdą poza szerokość kontenera */
  height: auto;
  /* Zachowanie proporcji */
  display: block;
  /* Zapobiega luki między obrazkami a tekstem */
  margin-bottom: 1rem;
  /* Domyślny margines dolny */
}

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

  .btn,
  .estimate .input-send button.btn {
    padding: 1rem 1.5rem;
  }

  .input-attachment p {
    display: flex;
    align-items: center;
  }

  .input-attachment label {
    display: -webkit-box;
  }

  .produkt .nav-change {
    padding-bottom: 28px;
  }

  .nav-change {
    padding-top: 28px;
  }
}

@media screen and (max-width: 1440px) {
  .input-accept {
    max-width: 100%;
  }
}

@media screen and (max-width: 1280px) {
  .single-info p {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 1140px) {
  .estimate-form {
    width: 50%;
    margin: auto;
  }

  .input-attachment label {
    width: 220px;
  }

  .input-attachment .input-send {
    display: flex;
    align-items: center;
  }

  .input-send button {
    margin: auto;
  }
}

@media screen and (max-width: 991px) {
  html {
    font-size: 14px;
  }

  .btn {
    font-size: 16px;
  }

  .estimate-form {
    width: 100%;
  }

  .input-attachment label {
    width: unset;
  }

  .footer-icon img {
    max-width: 100px;
  }

  .post h1 {
    font-size: 1.5rem;
    /* Domyślny rozmiar czcionki dla h1 */
  }

  .post h2 {
    font-size: 1.25rem;
    /* Domyślny rozmiar czcionki dla h2 */
  }

  .post h3 {
    font-size: 1.125rem;
    /* Domyślny rozmiar czcionki dla h3 */
  }

  .post h4 {
    font-size: 1rem;
    /* Domyślny rozmiar czcionki dla h4 */
  }

  .post h5 {
    font-size: 0.875rem;
    /* Domyślny rozmiar czcionki dla h5 */
  }

  .post h6 {
    font-size: 0.75rem;
    /* Domyślny rozmiar czcionki dla h6 */
  }
}

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

  .btn,
  .estimate .input-send button.btn {
    padding: 0.8rem 1.25rem;
  }
}

@media screen and (max-width: 640px) {
  .input-attachment label {
    width: 220px;
  }
}

@media screen and (max-width: 568px) {
  html {
    font-size: 13px;
  }

  .btn {
    font-size: 15px;
  }

  .input-attachment p {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}

/* 2026-09-22: CTA 'Zapytaj o oferte' na karcie produktu */
.btn.btn-zapytaj { background-color: #AB1F25; border-color: #AB1F25; color: #fff; }
.btn.btn-zapytaj:hover { background-color: #8f1a1f; border-color: #8f1a1f; color: #fff; }

/* 2026-09-22: FAQ (blok Rank Math) na /faq/ i kartach produktow: karty + boczna nawigacja */
.faq-page { background: #F9FAFB; box-shadow: 0 0 0 100vmax #F9FAFB; clip-path: inset(0 -100vmax); display: grid; grid-template-columns: 250px minmax(0, 1fr); column-gap: 48px; align-items: start; }
.faq-page > * { grid-column: 2; }
.faq-page .faq-intro { font-size: 18px; max-width: 820px; margin: 0 0 8px; }
.faq-page .faq-nav { grid-column: 1; grid-row: 1 / span 40; position: sticky; top: 120px; list-style: none; margin: 0; padding: 0; }
.faq-page .faq-nav li { margin: 0 0 6px; }
.faq-page .faq-nav a { display: block; padding: 10px 14px; border-radius: 12px; background: #fff; color: #1D1C31; font-weight: 600; font-size: 15px; border: 1px solid #E0E0E0; border-left: 4px solid #0077CC; box-shadow: none; transition: transform .15s, border-color .15s, box-shadow .15s; }
.faq-page .faq-nav a:hover { transform: translateX(3px); border-color: #0077CC; box-shadow: 0 8px 24px rgba(29, 28, 49, .10); }
.faq-page h2.wp-block-heading { font-size: 26px; margin: 36px 0 14px; scroll-margin-top: 120px; }
.faq-page h2.wp-block-heading:first-of-type { margin-top: 8px; }
.rank-math-list-item { background: #fff; border: 1px solid #E0E0E0; border-left: 6px solid #0077CC; border-radius: 18px; padding: 20px 22px; margin: 0 0 12px; box-shadow: none; transition: box-shadow .15s, transform .15s, border-color .15s; }
.rank-math-list-item:hover { box-shadow: 0 12px 40px rgba(29, 28, 49, .12); transform: translateY(-2px); }
.rank-math-question { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 17px; font-weight: 700; color: #1D1C31; margin: 0 0 8px; line-height: 1.35; letter-spacing: 0; }
.rank-math-answer { color: #555561; font-size: 16px; line-height: 1.65; }
.rank-math-answer p { margin: 0 0 8px; }
.rank-math-answer p:last-child { margin-bottom: 0; }
.rank-math-answer a { color: #1D1C31; text-decoration: none; }
.single-faq-title { font-size: 26px; margin: 40px 0 14px; }
.single-desc .rank-math-list-item { border-left-color: #7B8DA0; }
.single-faq-more { margin-top: 10px; font-weight: 600; }
.single-faq-more a { color: #1D1C31; }
.faq-strip .faq-strip-text { background: #F5F7F9; border-radius: 16px; padding: 18px 22px; font-size: 17px; margin: 0; }
.faq-strip .faq-strip-text a { color: #1D1C31; font-weight: 600; }
@media (max-width: 991px) {
  .faq-page { display: block; }
  .faq-page .faq-nav { position: static; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
  .faq-page .faq-nav li { margin: 0; }
  .faq-page .faq-nav a { padding: 8px 12px; font-size: 14px; border-left-width: 3px; }
  .faq-page .faq-nav a:hover { transform: none; }
  .rank-math-list-item { padding: 18px 18px; border-radius: 14px; }
  .rank-math-question { font-size: 17px; }
}

/* 2026-09-22: strona Jak produkujemy: ramka W skrocie + film ladowany po kliknieciu */
.produkcja-intro .text-lg { font-size: 18px; max-width: 900px; }
.wskrocie { background: #F5F7F9; border-left: 6px solid #0077CC; border-radius: 16px; padding: 20px 26px; margin: 22px 0 8px; max-width: 900px; }
.wskrocie-title { font-family: 'conthrax', 'conthrax-fallback', Arial, sans-serif; font-size: 18px; color: #1D1C31; margin: 0 0 10px; }
.wskrocie ul { margin: 0; padding-left: 20px; font-size: 16px; line-height: 1.6; }
.wskrocie li { margin: 0 0 6px; } .wskrocie li b { color: #1D1C31; }
.produkcja-koniec h2.wp-block-heading { font-size: 30px; margin: 44px 0 14px; }
.produkcja-koniec .wp-block-list { padding-left: 20px; line-height: 1.8; } .produkcja-koniec .wp-block-list a { color: #1D1C31; text-decoration: none; }
.yt-facade .yt-play:hover { background: rgba(0, 0, 0, .4); }
.yt-facade .yt-play:focus-visible { outline: 3px solid #fff; outline-offset: -6px; }

/* 2026-09-22: Wiedza: instrukcja, poradniki, tabele, kalkulator, menu rozwijane */
.instrukcja-page .text-lg, .post .text-lg { font-size: 18px; }
.instrukcja-page h2.wp-block-heading { font-size: 28px; margin: 40px 0 12px; scroll-margin-top: 120px; }
.instrukcja-page h3.wp-block-heading { font-size: 20px; margin: 22px 0 8px; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; }
.instrukcja-page .wp-block-list, .post .wp-block-list { padding-left: 22px; line-height: 1.7; margin: 0 0 16px; }
.instrukcja-page .wp-block-list li, .post .wp-block-list li { margin: 0 0 6px; }
.instrukcja-page p, .post p { line-height: 1.7; }
.instr-toc { columns: 2; column-gap: 32px; background: #F5F7F9; border-radius: 16px; padding: 18px 22px 18px 40px !important; margin: 18px 0 8px !important; }
.instr-toc a { color: #1D1C31; font-weight: 600; }
.instr-pdf .wp-block-button__link { background: #AB1F25; color: #fff; border-radius: 10px; padding: 14px 26px; font-weight: 700; }
.instr-pdf .wp-block-button__link:hover { background: #8f1a1f; }
.wp-block-table.instr-table { margin: 12px 0 22px; overflow-x: auto; }
.wp-block-table.instr-table table { border-collapse: collapse; width: 100%; font-size: 14px; }
.wp-block-table.instr-table th, .wp-block-table.instr-table td { border: 1px solid #E0E0E0; padding: 8px 10px; text-align: center; }
.wp-block-table.instr-table th { background: #F5F7F9; font-weight: 700; color: #1D1C31; }
.wp-block-table.instr-table tbody tr:nth-child(even) td { background: #F9FAFB; }
.wp-block-table.instr-table figcaption { font-size: 13px; color: #777783; margin-top: 8px; text-align: left; }
.post h2.wp-block-heading { font-size: 28px; margin: 40px 0 12px; scroll-margin-top: 120px; }
.post h3.wp-block-heading { font-size: 20px; margin: 22px 0 8px; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; }
.post .post-title h1 { font-size: 34px; line-height: 1.25; margin: 18px 0 24px; }
.post .post-image img { max-height: 420px; object-fit: cover; }
.post .rank-math-list-item { border-left-color: #7B8DA0; }
.instr-figure { margin: 12px 0 24px; }
.instr-figure figcaption { font-size: 13px; color: #777783; margin-top: 8px; }
.calc { background: #F5F7F9; border-radius: 20px; padding: 24px 28px; margin: 10px 0 24px; border-left: 6px solid #0077CC; }
.calc-title { font-family: 'conthrax', 'conthrax-fallback', Arial, sans-serif; font-size: 18px; color: #1D1C31; margin: 0 0 14px; }
.calc-row { display: grid; grid-template-columns: 240px 1fr; gap: 10px 16px; align-items: center; margin: 0 0 10px; }
.calc-row label { font-weight: 600; color: #1D1C31; font-size: 15px; }
.calc-row input, .calc-row select { width: 100%; max-width: 360px; padding: 10px 12px; border: 1px solid #E0E0E0; border-radius: 10px; font: inherit; font-size: 15px; background: #fff; }
.calc-out { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 16px 0 10px; }
.calc-out div { background: #fff; border-radius: 14px; padding: 14px 18px; }
.calc-out span { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: #7B8DA0; font-weight: 700; }
.calc-out b { display: block; font-size: 22px; color: #1D1C31; margin-top: 4px; }
.calc-note { font-size: 13px; color: #777783; margin: 0; }
.poradniki-intro { max-width: 860px; }
.poradniki-links { margin: 0 0 28px; font-weight: 600; } .poradniki-links a { color: #1D1C31; }
.poradniki-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.poradnik-card { background: #fff; border-radius: 24px; box-shadow: 0 10px 40px rgba(29, 28, 49, .08); overflow: hidden; display: flex; flex-direction: column; }
.poradnik-thumb img { width: 100%; height: 200px; object-fit: cover; display: block; background: #F5F7F9; }
.poradnik-body { padding: 20px 24px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.poradnik-date { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: #7B8DA0; font-weight: 700; margin: 0; }
.poradnik-title { font-size: 19px; line-height: 1.35; margin: 0; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; }
.poradnik-title a { color: #1D1C31; }
.poradnik-excerpt { font-size: 15px; color: #555561; margin: 0; flex: 1; }
.poradnik-more { color: #1D1C31; font-weight: 700; font-size: 15px; }
@media (max-width: 991px) { .poradniki-grid { grid-template-columns: 1fr; } .instr-toc { columns: 1; } .calc-row { grid-template-columns: 1fr; } .calc-out { grid-template-columns: 1fr; } .instrukcja-page h2.wp-block-heading, .post h2.wp-block-heading { font-size: 24px; } }
@media (min-width: 992px) {
  .nav-nav .menu-item-has-children { position: relative; }
  .nav-nav .menu-item-has-children > a::after { content: "\25BE"; font-size: .75em; margin-left: 5px; }
  .nav-nav .sub-menu { display: none; position: absolute; top: 100%; left: -18px; min-width: 280px; background: #fff; border-radius: 14px; box-shadow: 0 10px 40px rgba(29, 28, 49, .14); padding: 10px 0; z-index: 60; margin: 0; }
  .nav-nav .menu-item-has-children:hover > .sub-menu, .nav-nav .menu-item-has-children:focus-within > .sub-menu { display: block; }
  .nav-nav .sub-menu li { display: block; margin: 0 !important; }
  .nav-nav .sub-menu a { display: block; padding: 10px 20px; color: #1D1C31; font-size: 15px; white-space: nowrap; }
  .nav-nav .sub-menu a:hover { background: #F5F7F9; color: #AB1F25; }
}

/* 2026-09-22: strona O firmie (zespol, dokumenty) */
.ofirmie .of-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 8px 0 18px; }
.ofirmie .of-docs { grid-template-columns: repeat(2, 1fr); }
.ofirmie .of-card { background: #fff; border-radius: 18px; padding: 20px 22px; box-shadow: 0 10px 40px rgba(29, 28, 49, .08); border-left: 6px solid #0077CC; }
.ofirmie .kt-eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: #5F7186; margin: 0 0 6px; }
.ofirmie .of-name { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 18px; line-height: 1.3; color: #1D1C31; margin: 0 0 8px; }
.ofirmie .of-meta { margin: 0; color: #555561; font-size: 15px; line-height: 1.6; }
.ofirmie .of-meta a { color: #1D1C31; font-weight: 600; }
.ofirmie .of-link { display: inline-block; margin-top: 10px; color: #1D1C31; font-weight: 700; font-size: 14px; }
.ofirmie .of-dzialy { margin: 18px 0 6px; }
.ofirmie .of-dzialy-list { columns: 2; padding-left: 20px; margin: 0 0 20px; line-height: 1.8; }
.ofirmie .of-dzialy-list b { color: #1D1C31; }
@media (max-width: 991px) { .ofirmie .of-grid, .ofirmie .of-docs { grid-template-columns: 1fr; } .ofirmie .of-dzialy-list { columns: 1; } }

/* 2026-09-22: ikony bez wymiarow + lazyload WP Rocket = placeholder 300x150 px i poziome przewijanie strony.
   Wymiary sa juz w HTML (footer.php), ponizej zabezpieczenie na wypadek innego lazyloada. */
.estimate-icon > img { width: 32px; height: 32px; flex: none; }
.footer-icons img { width: 24px; height: 24px; }
.footer-icon > img { max-width: 182px; height: auto; }
.location-location img { width: 17px; height: 24px; flex: none; }

/* 2026-09-22: ikona w polu zalacznika (CF7) nie ma wymiarow w HTML i przy szerokosci 360 px wychodzila poza ekran */
.input-attachment label .icon { width: 18px; height: 18px; flex: none; object-fit: contain; }

/* 2026-09-23: karta produktu - opis pod zdjeciem na pelna szerokosc kontenera (wczesniej caly tekst siedzial w prawej polowie) */
.single-body { margin-top: 48px; }
.single-body > h2:first-child, .single-body > h3:first-child { margin-top: 0; }
.single-body > p, .single-body > ul, .single-body > ol { max-width: 82ch; }
.single-lead .single-info { margin-top: 24px; }
@media (max-width: 1279px) { .single-body { margin-top: 32px; } }

/* 2026-09-23: produkty powiazane - poziomy pas przewijany */
.pw { padding: 56px 0 8px; }
.pw-h2 { font-family: 'conthrax', 'conthrax-fallback', Arial, sans-serif; font-size: 26px; color: #1D1C31; margin: 0 0 18px; }
.pw-scroller { position: relative; }
.pw-track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; padding: 4px 2px 6px; }
.pw-track::-webkit-scrollbar { display: none; }
.pw-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #E0E0E0; background: #fff; color: #1D1C31; font-size: 26px; line-height: 1; cursor: pointer; box-shadow: 0 6px 20px rgba(29,28,49,.12); display: grid; place-items: center; transition: opacity .15s, border-color .15s, color .15s; }
.pw-arrow:hover { border-color: #0077CC; color: #0077CC; }
.pw-arrow[disabled] { opacity: 0; pointer-events: none; }
.pw-prev { left: -22px; }
.pw-next { right: -22px; }
.pw-card { flex: 0 0 268px; scroll-snap-align: start; display: flex; flex-direction: column; background: #fff; border: 1px solid #E0E0E0; border-radius: 18px; overflow: hidden; text-decoration: none; transition: box-shadow .15s, transform .15s, border-color .15s; }
.pw-card:hover { box-shadow: 0 12px 40px rgba(29,28,49,.12); transform: translateY(-2px); border-color: #0077CC; }
/* 2026-09-23: zdjecie wypelnia kafelek (jak siatka produktow na stronie glownej) - inaczej wypalona
   plyta zdjecia rysuje sie jako prostokat w prostokacie. Szara podkladka pod przezroczyste PNG,
   zeby mialy ten sam odcien co plyty renderow. */
.pw-img { background: #F2F2F2; height: 190px; display: block; overflow: hidden; }
.pw-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pw-body { display: block; padding: 14px 16px 16px; }
.pw-sym { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: #0077CC; border-radius: 6px; padding: 3px 8px; margin-bottom: 8px; }
.pw-name { display: block; font-weight: 700; font-size: 15px; line-height: 1.35; color: #1D1C31; }
.pw-rola { display: block; font-size: 13px; color: #555561; margin-top: 6px; }
@media (max-width: 1340px) { .pw-prev { left: 6px; } .pw-next { right: 6px; } }
@media (max-width: 767px) { .pw-arrow { display: none; } .pw-card { flex-basis: 78vw; max-width: 300px; } .pw-img { height: 170px; } .pw-h2 { font-size: 22px; } .pw { padding-top: 40px; } }
.pw-sym-pusty { visibility: hidden; }
.pw-sym-pusty::after { content: 'x'; }

/* 2026-09-23: "Co wyroznia" - naglowek punktu (pierwsza linia pola tekst) i ciasniejsze rzedy przy szesciu punktach */
.why .grid { row-gap: 56px; }
.why-container .why-title { color: #fff; font-family: inherit; font-size: 20px; font-weight: 700; letter-spacing: 0; margin: 22px 0 8px; }
.why-container .why-title + p { max-width: 440px; margin: 0 auto; }
@media (max-width: 767px) {
  .why .grid { row-gap: 36px; }
  .why-container .why-title { font-size: 18px; margin: 12px 0 6px; }
}

.nowrap { white-space: nowrap; }
.bez-wersalikow { text-transform: none; }

/* 2026-09-23: baner zgody CookieYes (ladowany z chmury, ustawienia w panelu CookieYes) na komputerach zaslanial
   przycisk "Otrzymaj wycene" w hero - przeniesiony w prawy dolny rog, gdzie jest zdjecie rury, nie tekst */
@media (min-width: 1024px) {
  .cky-consent-container.cky-box-bottom-left { left: auto !important; right: 40px !important; }
}

/* 2026-09-23: JEDEN styl linkow w tresci (decyzja wlasciciela; wzor: numer telefonu w stopce, .estimate-desc a):
   ciemny tekst #1D1C31 obok szarego akapitu (60 % tego koloru), bez niebieskiego i bez podkreslenia.
   Podkreslenie dopiero po najechaniu i przy fokusie z klawiatury - drugi sygnal, ze to link, nie sam odcien.
   Przyciski (.btn), kafelki i zakladki kategorii maja wlasne style i tu nie wchodza. */
:is(.entry-content, .post, .single-desc, .aboutUs-text, .location-text, .onas) :is(p, li, td) a:not(.btn),
.products-text a,
.rank-math-answer a,
.single-desc .single-cta a.text-sm,
.single-faq-more a,
.faq-strip .faq-strip-text a,
.instr-toc a,
.poradniki-links a,
.poradnik-more,
.ofirmie .of-link { color: #1D1C31; text-decoration: none; }
:is(.entry-content, .post, .single-desc, .aboutUs-text, .location-text, .onas) :is(p, li, td) a:not(.btn):hover, :is(.entry-content, .post, .single-desc, .aboutUs-text, .location-text, .onas) :is(p, li, td) a:not(.btn):focus-visible,
.products-text a:hover, .products-text a:focus-visible,
.rank-math-answer a:hover, .rank-math-answer a:focus-visible,
.single-desc .single-cta a.text-sm:hover, .single-desc .single-cta a.text-sm:focus-visible,
.single-faq-more a:hover, .single-faq-more a:focus-visible,
.faq-strip .faq-strip-text a:hover, .faq-strip .faq-strip-text a:focus-visible,
.instr-toc a:hover, .instr-toc a:focus-visible,
.poradniki-links a:hover, .poradniki-links a:focus-visible,
.poradnik-more:hover, .poradnik-more:focus-visible,
.ofirmie .of-link:hover, .ofirmie .of-link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.faq-page .faq-nav a:hover, .faq-page .faq-nav a:focus-visible { text-decoration: none; }
/* zakladki kategorii na stronie glownej biora kolor z li (aktywna ciemna, reszta szara) - wylaczone z reguly linkow w tresci */
.products-categories li a:not(.btn) { color: inherit; }
.products-categories li a:not(.btn):hover, .products-categories li a:not(.btn):focus-visible { text-decoration: none; }

/* 2026-09-28: strona /produkty/ - wstep, tabela doboru (1:1 z katalogu 2026 s. 5) i siatka wszystkich produktow.
   Linki jak w calej tresci: ciemne, bez podkreslenia, podkreslenie po najechaniu i przy fokusie. */
.produkty-page .text-lg { font-size: 18px; line-height: 1.7; }
.produkty-page p { line-height: 1.7; }
.produkty-page h2.wp-block-heading { font-size: 30px; margin: 44px 0 10px; scroll-margin-top: 120px; }
.dobor-wrap { margin: 18px 0 22px; }
.dobor-table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.5; }
.dobor-table thead th { text-align: left; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #5F5F6E; font-weight: 700; padding: 0 16px 10px 0; border-bottom: 2px solid #1D1C31; }
.dobor-table tbody th, .dobor-table tbody td { text-align: left; vertical-align: top; padding: 14px 16px 14px 0; border-bottom: 1px solid #E0E0E0; }
.dobor-table tbody th { width: 32%; font-weight: 600; color: #1D1C31; }
.dobor-table tbody td { color: #5F5F6E; }
.dobor-table tbody td:last-child { width: 24%; }
.dobor-table ul { list-style: none; margin: 0; padding: 0; }
.dobor-table li { margin: 0 0 4px; }
.dobor-table li:last-child { margin-bottom: 0; }
.dobor-table .dob-sym a { font-weight: 700; }
.dobor-table a, .produkty-page .text-lg a, .produkty-page .dobor-uwaga a { color: #1D1C31; font-weight: 600; text-decoration: none; }
.dobor-table a:hover, .dobor-table a:focus-visible,
.produkty-page .text-lg a:hover, .produkty-page .text-lg a:focus-visible,
.produkty-page .dobor-uwaga a:hover, .produkty-page .dobor-uwaga a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.produkty-page .dobor-uwaga { background: #F5F7F9; border-radius: 16px; padding: 18px 22px; font-size: 16px; color: #1D1C31; margin: 0; }
@media (min-width: 768px) { .products.produkty-lista > .container { padding-top: 80px; } }
@media (max-width: 767px) {
  .produkty-page h2.wp-block-heading { font-size: 24px; }
  .dobor-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .dobor-table, .dobor-table tbody, .dobor-table tr, .dobor-table tbody th, .dobor-table tbody td { display: block; width: auto !important; }
  .dobor-table tr { padding: 14px 0; border-bottom: 1px solid #E0E0E0; }
  .dobor-table tbody th, .dobor-table tbody td { border: 0; padding: 0; }
  .dobor-table tbody th { font-size: 17px; margin-bottom: 8px; }
  .dobor-table tbody td { margin-top: 6px; }
  .dobor-table tbody td.dob-brak { display: none; }
  .dobor-table tbody td::before { content: attr(data-label); display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #7B8DA0; font-weight: 700; margin-bottom: 2px; }
}

/* 2026-09-29 (właściciel „rób”): /faq/ w stylu pytań z kart produktów (css/karta.css) – białe karty z ramką 1 px i numerem, 2 kolumny, nadtytuł grupy, bez niebieskiego akcentu */
.faq-page h2.wp-block-heading { margin: 48px 0 16px; }
.faq-page h2.wp-block-heading:first-of-type { margin-top: 30px; }
.faq-page h2.wp-block-heading::before { display: block; font: 700 12px/1.3 'Plus Jakarta Sans', sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #AB1F25; margin: 0 0 8px; padding-left: 16px; background: radial-gradient(circle, #AB1F25 0 3px, transparent 3.5px) 0 50% / 6px 6px no-repeat; }
.faq-page h2#firma::before { content: "Pytania o firmę"; }
.faq-page h2#wspolpraca::before { content: "Pytania o współpracę"; }
.faq-page h2#produkty::before { content: "Pytania o produkty"; }
.faq-page h2#transport::before { content: "Pytania o transport i dostawy"; }
.faq-page h2#certyfikaty::before { content: "Pytania o certyfikaty i dokumenty"; }
.faq-page h2#marketing::before { content: "Pytania o marketing i wsparcie"; }
.faq-page .rank-math-list { column-count: 2; column-gap: 16px; counter-reset: faq; }
.faq-page .rank-math-list-item { break-inside: avoid; -webkit-column-break-inside: avoid; margin: 0 0 16px; display: flex; flex-direction: column; background: #fff; border: 1px solid #E6EAEF; border-left: 1px solid #E6EAEF; border-radius: 18px; padding: 22px 24px 20px; box-shadow: 0 1px 2px rgba(29, 28, 49, .04), 0 10px 28px rgba(29, 28, 49, .06); }
.faq-page .rank-math-list-item::before { counter-increment: faq; content: counter(faq, decimal-leading-zero); font: 600 16px/1 conthrax, 'Plus Jakarta Sans', sans-serif; color: #AB1F25; margin: 0 0 12px; }
.faq-page .rank-math-list-item:hover { box-shadow: 0 2px 6px rgba(29, 28, 49, .06), 0 20px 44px rgba(29, 28, 49, .13); transform: none; border-color: #D5DBE2; }
.faq-page .rank-math-question { font-size: 16.5px; line-height: 1.4; margin: 0 0 8px; }
.faq-page .rank-math-answer { font-size: 14.5px; line-height: 1.6; color: #5F5F6E; }
.faq-page .faq-nav a { border-left: 1px solid #E0E0E0; }
.faq-page .faq-nav a:hover { border-color: #D5DBE2; }
@media (max-width: 991px) {
  .faq-page .faq-nav a { border-left-width: 1px; }
}
@media (max-width: 767px) {
  .faq-page .rank-math-list { column-count: 1; }
  .faq-page .rank-math-list-item { margin: 0 0 12px; padding: 18px 18px 16px; border-radius: 14px; }
  .faq-page .rank-math-question { font-size: 16px; }
  .faq-page h2.wp-block-heading { margin-top: 36px; }
}

/* 2026-09-30 wariant B (właściciel: „łatwiej musi być to ściągnąć – niech będą 2 opcje”): inc/pobieranie.php */
/* karta produktu: „Karta katalogowa” (wyświetl) + strzałka (pobierz), ta sama wysokość co pozostałe przyciski */
.single-buttons .btn-split {
  display: flex;
  align-items: stretch;
}

.single-buttons .btn-split .btn {
  border-radius: 0;
}

.single-buttons .btn-split .btn-split-main {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

.single-buttons .btn-split .btn-split-dl {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  padding-left: .6rem;
  padding-right: .6rem;
  border-left: 1px solid rgba(255, 255, 255, .55);
  justify-content: center;
}

.single-buttons .btn-split .btn-split-dl::before {
  content: none;
}

.single-buttons .btn-split .btn-split-dl svg {
  display: block;
  width: 22px;
  height: 22px;
  transition: all .35s ease;
}

.single-buttons .btn-split .btn-split-dl:hover svg {
  filter: brightness(0%);
}

/* /do-pobrania/: kafel pliku z dwiema opcjami – oko (wyświetl) i strzałka (pobierz) */
.dl .dl-card.dl-card-2 {
  align-items: center;
}

.dl .dl-card-2 .dl-body {
  flex: 1;
}

.dl .dl-card-2 .dl-info {
  display: block;
  font-size: 14px;
  color: #555561;
  margin-top: 6px;
}

.dl .dl-akcje {
  display: flex;
  gap: 8px;
  flex: none;
}

.dl .dl-akcja {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid var(--dl-line);
  display: grid;
  place-items: center;
  color: var(--dl-blue);
  background: #fff;
  transition: all .15s;
}

.dl .dl-akcja:hover,
.dl .dl-akcja:focus-visible {
  background: var(--dl-blue);
  border-color: var(--dl-blue);
  color: #fff;
}

.dl .dl-akcja svg {
  width: 20px;
  height: 20px;
}
