/* Sekcje stron KPR (komponenty src/components/kpr/*). Baza i zmienne: kpr-base.css, nagłówek i stopka: kpr-layout.css. */

/* ── Sekcje KPR na nowych stronach oferty (Folie PPF, Oferta) ─────────────── */
.kprS { float: left; width: 100%; box-sizing: border-box; padding: clamp(40px, 6vw, 96px) var(--kpr-gutter); background: #0d0d0d; color: #fff; font-family: "Poppins", sans-serif; font-weight: 300; font-size: var(--kpr-body); line-height: 1.65; }
.kprS *, .kprS *::before, .kprS *::after { box-sizing: border-box; }
.kprS--graphite { background: #1a1a1a; border-top: 1px solid rgba(201, 160, 78, 0.35); border-bottom: 1px solid rgba(201, 160, 78, 0.35); }
.kprS__label { margin: 0 0 10px; font-size: 13px; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: #c9a04e; }
.kprS__h2 { margin: 0; font-size: var(--kpr-h2); line-height: 1.15; font-weight: 600; text-wrap: balance; }
.kprS__head { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; max-width: 760px; }
.kprS__intro { margin: 0; color: #cfcfcf; }
.kprS__note { margin: 18px 0 0; font-size: 14px; color: #9a9a9a; max-width: 760px; }
.kprS__rich { max-width: 720px; color: #e6e6e6; overflow-wrap: anywhere; }
.kprS__rich p { margin: 0 0 1em; }
.kprS__rich a { color: #e9d27c; }
.kprS__buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.kprS__btn { min-height: 48px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #c9a04e; color: #fff; font-size: 15px; font-weight: 500; text-decoration: none; }
button.kprS__btn { font-family: inherit; cursor: pointer; }
.kprS__btn:hover, .kprS__btn:focus-visible { color: #0d0d0d; background: #e9d27c; border-color: #e9d27c; }
.kprS__btn--main { background: #c9a04e; color: #0d0d0d; }
.kprS__swipe { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 1fr); gap: 20px; margin: 0; padding: 0; list-style: none; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.kprS__swipe::-webkit-scrollbar { display: none; }
.kprS__swipe > li { scroll-snap-align: start; min-width: 0; }
.kprS mark.todo { background: #ff2e88; color: #fff; padding: 0 4px; font-weight: 500; }

.kprHero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 64px); align-items: center; padding-top: clamp(24px, 4vw, 64px); }
.kprHero__media { order: 2; }
.kprHero__media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
/* Zdjęcie pionowe (klasa z komponentu wg proporcji pliku): pionowa ramka zamiast 16:10, ale nie wyższa niż ekran. */
.kprMedia--tall img { aspect-ratio: 4 / 5; max-height: calc(100vh - var(--kpr-head) - 48px); }
.kprHero__body { display: flex; flex-direction: column; gap: 16px; }
.kprHero__h1 { margin: 0; font-size: var(--kpr-h1); line-height: 1.05; font-weight: 600; text-wrap: balance; }
.kprHero__lead { margin: 0; font-size: var(--kpr-lead); line-height: 1.5; color: #e6e6e6; }
.kprHero__facts { margin: 0; color: #cfcfcf; }
.kprHero__note { margin: 0; font-size: 15px; color: #e9d27c; }

.kprRail { display: flex; gap: 8px; padding-top: 0; padding-bottom: 0; overflow-x: auto; white-space: nowrap; scrollbar-width: none; border-bottom: 1px solid #2b2b2b; }
.kprRail::-webkit-scrollbar { display: none; }
.kprRail__chip { flex-shrink: 0; margin: 12px 0; min-height: 40px; padding: 0 16px; display: inline-flex; align-items: center; border: 1px solid #2b2b2b; color: #fff; font-size: 14px; font-weight: 500; text-decoration: none; }
.kprRail__chip--on { background: #c9a04e; border-color: #c9a04e; color: #0d0d0d; }

.kprText--img { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 72px); align-items: center; }
.kprText--rev .kprText__media { order: 2; }
.kprText__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.kprText--portrait { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); }
.kprText--portrait .kprText__media img { aspect-ratio: 4 / 5; object-position: 50% 15%; }
@media screen and (max-width: 1000px) { .kprText--portrait .kprText__media img { aspect-ratio: 1 / 1; object-position: 50% 18%; } }
.kprText__body { display: flex; flex-direction: column; gap: 16px; }

.kprPackages__item { display: flex; flex-direction: column; background: #1a1a1a; }
.kprPackages__img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: contain; background: #000; }
.kprPackages__img--none { display: flex; align-items: center; justify-content: center; border-bottom: 1px solid #2b2b2b; }
/* Komputer: wszystkie pakiety mieszczą się w jednym rzędzie (bez uciętej ostatniej karty). */
@media (min-width: 1100px) { .kprPackages__list { grid-auto-flow: row; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-columns: auto; gap: 16px; overflow: visible; } .kprPackages__body { padding: 18px; } }
.kprPackages__body { display: flex; flex-direction: column; gap: 10px; padding: 20px; flex-grow: 1; }
.kprPackages__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.kprPackages__name { margin: 0; font-size: var(--kpr-h3); line-height: 1.3; font-weight: 600; }
.kprPackages__time { font-size: 13px; color: #9a9a9a; white-space: nowrap; }
.kprPackages__scope { margin: 0; color: #cfcfcf; font-size: 15px; }
.kprPackages__price { margin: auto 0 0; padding-top: 12px; border-top: 1px solid rgba(201, 160, 78, 0.35); font-size: 20px; font-weight: 500; color: #e9d27c; }

.kprCards__card { height: 100%; display: flex; flex-direction: column; background: #1a1a1a; border-top: 2px solid transparent; color: #fff; text-decoration: none; }
.kprCards__card--on { border-top-color: #c9a04e; }
.kprCards__card:hover .kprCards__name, .kprCards__card:focus-visible .kprCards__name { color: #e9d27c; }
.kprCards__img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.kprCards__body { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 20px; flex-grow: 1; }
.kprCards__dept { font-size: 11px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: #e8c478; }
.kprCards__name { font-size: 20px; line-height: 1.25; font-weight: 600; }
.kprCards__text { font-size: 14px; color: #9a9a9a; }
.kprCards__price { margin-top: auto; padding-top: 10px; font-size: 15px; font-weight: 500; color: #e9d27c; }

.kprPoints__list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 0 40px; max-width: 1100px; }
.kprPoints__item { padding: 16px 0; border-top: 1px solid rgba(201, 160, 78, 0.35); color: #cfcfcf; }
.kprPoints__item strong { color: #fff; font-weight: 500; }

.kprWorks__card { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; color: #fff; text-decoration: none; background: #1a1a1a; }
.kprWorks__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.kprWorks__card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,13,13,0) 50%, rgba(13,13,13,0.9) 100%); }
.kprWorks__name, .kprWorks__text { position: absolute; left: 18px; right: 18px; z-index: 1; }
.kprWorks__name { bottom: 40px; font-size: 19px; font-weight: 600; line-height: 1.25; }
.kprWorks__text { bottom: 16px; font-size: 13px; color: #cfcfcf; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kprWorks__card--all { display: flex; align-items: flex-end; padding: 20px; border: 1px solid rgba(201, 160, 78, 0.35); background: transparent; }
.kprWorks__card--all::after { display: none; }
.kprWorks__card--all .kprWorks__name { position: static; }

.kprFaq__list { max-width: 860px; margin-top: 24px; border-bottom: 1px solid rgba(201, 160, 78, 0.35); }
.kprFaq__item { border-top: 1px solid rgba(201, 160, 78, 0.35); }
.kprFaq__q { min-height: 56px; padding: 14px 32px 14px 0; display: flex; align-items: center; position: relative; font-size: 17px; font-weight: 500; cursor: pointer; list-style: none; }
.kprFaq__q::-webkit-details-marker { display: none; }
.kprFaq__q::after { content: "+"; position: absolute; right: 4px; color: #c9a04e; font-size: 22px; font-weight: 300; }
.kprFaq__item[open] .kprFaq__q::after { content: "–"; }
.kprFaq__a { padding: 0 0 18px; color: #cfcfcf; max-width: 760px; }

@media screen and (max-width: 1000px) {
  .kprHero, .kprText--img { grid-template-columns: 1fr; }
  .kprHero__media { order: -1; margin: 0 -5vw; }
  .kprText--rev .kprText__media { order: 0; }
  /* Telefon: kafelki od krawędzi do krawędzi ekranu, następny wystaje o ~20%, przewijanie po jednym kafelku (bez „pływania”). */
  .kprS__swipe { grid-auto-columns: 80%; gap: 12px; margin-left: calc(-1 * var(--kpr-gutter)); margin-right: calc(-1 * var(--kpr-gutter)); padding: 0 var(--kpr-gutter); scroll-padding: 0 var(--kpr-gutter); }
  .kprS__swipe > li { scroll-snap-stop: always; }
  .kprRail { padding-left: 16px; padding-right: 16px; }
}

/* Na komputerze nagłówek jest przypięty nad treścią: pierwszy ekran zaczyna się pod nim. */
@media screen and (min-width: 1001px) {
  .kprHero { padding-top: calc(var(--kpr-head) + clamp(24px, 3vw, 48px)); }
}


/* ── Realizacje: lista, strony marek, pojedyncza realizacja ─────────────── */
.kprWorksIndex { grid-template-columns: 1fr; padding-bottom: clamp(16px, 2vw, 32px); }
.kprWorksIndex__head { display: flex; flex-direction: column; gap: 14px; max-width: 820px; }
.kprWorksIndex__filters { border-bottom: 0; }
.kprWorksIndex__brands { border-bottom: 1px solid #2b2b2b; }
.kprWorksIndex__brands .kprRail__chip { margin-top: 0; }
.kprWorksIndex__grid { padding-top: clamp(24px, 3vw, 48px); }

.kprWorkGrid { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: clamp(12px, 1.6vw, 24px); }
.kprWorkGrid--row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 23%); grid-template-columns: none; }
.kprWorkCard { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #1a1a1a; color: #fff; text-decoration: none; }
.kprWorkCard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.kprWorkCard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,13,13,0) 45%, rgba(13,13,13,0.92) 100%); }
.kprWorkCard:hover .kprWorkCard__img, .kprWorkCard:focus-visible .kprWorkCard__img { transform: scale(1.04); }
.kprWorkCard__body { position: absolute; left: 18px; right: 18px; bottom: 16px; z-index: 1; display: flex; flex-direction: column; gap: 4px; }
.kprWorkCard__name { font-size: var(--kpr-h3); line-height: 1.2; font-weight: 600; }
.kprWorkCard__text { font-size: 14px; line-height: 1.4; color: #cfcfcf; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .kprWorkCard__img { transition: none; } }

.kprWork__main { display: block; }
/* Realizacja bez zdjęć: tytuł na całą szerokość zamiast pustej kolumny. */
.kprWork--noimg { grid-template-columns: minmax(0, 1fr); }
.kprWork__brand { color: #e9d27c; text-decoration: underline; text-underline-offset: 3px; }
.kprWork__tags { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.kprWork__tags a { min-height: 36px; padding: 0 14px; display: inline-flex; align-items: center; border: 1px solid rgba(201, 160, 78, 0.5); color: #fff; font-size: 14px; text-decoration: none; }
.kprWork__tags a:hover, .kprWork__tags a:focus-visible { border-color: #e9d27c; color: #e9d27c; }
.kprWork__text { max-width: 72ch; }
/* Opis realizacji obok karty „Zakres prac” (przyklejonej przy przewijaniu); na telefonie karta pod tekstem. */
.kprWork__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(32px, 5vw, 80px); align-items: start; padding-top: 0; }
.kprWork__aside { position: sticky; top: calc(64px + 24px); padding: clamp(20px, 2vw, 28px); background: var(--kpr-graphite, #141414); border-top: 2px solid #c9a04e; }
.kprWork__facts { margin: 4px 0 24px; padding: 0; }
.kprWork__facts > div { padding: 14px 0; border-bottom: 1px solid var(--kpr-line, #2b2b2b); }
.kprWork__facts > div:first-child { padding-top: 6px; }
.kprWork__facts dt { margin: 0 0 6px; font-size: 12px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: #9a9a9a; }
.kprWork__facts dd { margin: 0; color: #fff; font-size: var(--kpr-body); line-height: 1.4; }
.kprWork__facts dd > a { color: #fff; text-decoration: underline; text-decoration-color: rgba(201, 160, 78, 0.6); text-underline-offset: 3px; }
.kprWork__facts dd > a:hover { color: #e9d27c; }
.kprWork__factNote { color: #9a9a9a; font-size: var(--kpr-small); }
.kprWork__asideBtns { display: flex; flex-direction: column; gap: 8px; }
.kprWork__asideBtns .kprS__btn { justify-content: center; }
.kprWork__text p > span[style*="underline"] { text-decoration: none !important; }
.kprWork__text p > span[style*="underline"], .kprWork__text p > strong:only-child { display: block; margin-top: 1.4em; color: #fff; font-size: var(--kpr-h3); line-height: 1.3; font-weight: 600; }
.kprWork__more { color: #e9d27c; }
.kprWork__count { font-size: 15px; font-weight: 300; color: #9a9a9a; margin-left: 10px; }
.kprWork__grid { margin: 24px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 8px; }
.kprWork__grid a { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #1a1a1a; }
.kprWork__grid img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.kprWork__grid a:hover img { transform: scale(1.04); }
.kprWork__cta { display: flex; flex-direction: column; gap: 14px; }

@media screen and (max-width: 1000px) {
  .kprWorkGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kprWorkGrid--row { grid-template-columns: none; grid-auto-columns: 72%; }
  .kprWorkCard__body { left: 12px; right: 12px; bottom: 12px; }
  .kprWorkCard__name { font-size: 16px; }
  .kprWorkCard__text { display: none; }
  .kprWork__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .kprWork__body { grid-template-columns: minmax(0, 1fr); }
  .kprWork__aside { position: static; }
}

/* Treść stron usług przeniesiona z ODEE (tabele z listami zalet, ceny „// od …”). */
.kprS__rich h3 { margin: 1.4em 0 0.6em; }
.kprS__rich ul { margin: 0 0 1em; padding-left: 1.2em; }
.kprS__rich li { margin-bottom: 0.4em; }
.kprS__rich li::marker { color: #c9a04e; }
.kprS__rich table { width: 100% !important; border: 0; border-collapse: collapse; margin: 1.5em 0; }
.kprS__rich td { display: block; width: auto !important; padding: 20px 22px; border: 0; background: #1a1a1a; border-top: 1px solid rgba(201, 160, 78, 0.35); }
.kprS__rich td:empty { display: none; }
.kprS__rich td h3:first-child { margin-top: 0; }
.kprS__rich img { max-width: 100%; height: auto; }

/* ── Pierwszy ekran: zdjęcie albo film na całą szerokość, tekst na dole po lewej ── */
.kprTop { position: relative; float: left; width: 100%; min-height: clamp(340px, 48vh, 520px); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; background: #0d0d0d; color: #fff; font-family: "Poppins", sans-serif; font-weight: 300; box-sizing: border-box; padding: calc(var(--kpr-head) + 24px) clamp(16px, 5vw, 96px) clamp(40px, 6vw, 88px); }
.kprTop *, .kprTop *::before, .kprTop *::after { box-sizing: border-box; }
.kprTop--home { min-height: 100svh; }
.kprTop--plain { min-height: 0; padding-bottom: clamp(32px, 4vw, 56px); border-bottom: 1px solid #2b2b2b; }
.kprTop__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.kprTop:not(.kprTop--plain)::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,13,13,0.55) 0%, rgba(13,13,13,0.15) 35%, rgba(13,13,13,0.85) 100%), linear-gradient(90deg, rgba(13,13,13,0.6) 0%, rgba(13,13,13,0) 65%); }
.kprTop__body, .kprTop__contact, .kprTop__social, .kprTop__down { position: relative; z-index: 1; }
.kprTop__body { display: flex; flex-direction: column; gap: 20px; max-width: 860px; }
.kprTop__h1, .kprTop__text h1 { margin: 0; font-size: var(--kpr-h1); line-height: 1.05; font-weight: 600; text-wrap: balance; }
/* Napis na filmie ma ten sam rozmiar co H1 na pozostałych stronach (ujednolicone 28.10; na starej stronie ok. 45 px przy 1440 px). */
body .kprTop--home .kprTop__text h1 { font-size: var(--kpr-h1) !important; }
.kprTop__text h1 em { font-style: normal; color: #e9d27c; }
.kprTop__text h1 .block { display: none; }
.kprTop__text p { margin: 16px 0 0; max-width: 60ch; font-size: var(--kpr-lead); line-height: 1.5; color: #e6e6e6; }
.kprTop__text p:has(> strong:only-child) strong { font-size: var(--kpr-h1); line-height: 1.05; font-weight: 600; }
.kprTop__contact { margin-top: 40px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.18); max-width: 860px; font-size: var(--kpr-small); line-height: 1.6; color: #cfcfcf; }
.kprTop__contact p { margin: 0; }
.kprTop__contact a { color: #fff; text-decoration: none; }
.kprTop__contact a:hover { color: #e9d27c; }
.kprTop__name { color: #c9a04e !important; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; font-size: 12px; margin-bottom: 4px !important; }
.kprTop__social { position: absolute; right: clamp(16px, 5vw, 96px); bottom: clamp(40px, 6vw, 88px); }
.kprTop__down { position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; padding: 0; background: none; border: 0; color: #c9a04e; cursor: pointer; animation: kprDown 2.4s ease-in-out infinite; }
.kprTop--plain .kprTop__down { display: none; }
@keyframes kprDown { 50% { transform: translate(-50%, 6px); } }
@media (prefers-reduced-motion: reduce) { .kprTop__down { animation: none; } .kprTop video.kprTop__media { display: none; } }
@media screen and (max-width: 1000px) {
  .kprTop { min-height: 220px; padding-top: 40px; padding-bottom: 32px; }
  .kprTop--home { min-height: calc(100svh - 96px - 72px); }
  .kprTop--plain { min-height: 0; padding-top: 32px; padding-bottom: 28px; }
  .kprTop__social, .kprTop__down { display: none; }
  .kprTop__contact { margin-top: 28px; }
}

/* ── Blog: lista wpisów, karuzela innych wpisów, wpis ─────────────────── */
.kprPosts { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: clamp(28px, 3vw, 44px) clamp(16px, 2vw, 28px); }
.kprPosts--row { grid-auto-flow: column; grid-auto-columns: minmax(260px, 23%); grid-template-columns: none; margin-bottom: 24px; }
.kprPost { display: flex; flex-direction: column; gap: 10px; color: #fff; text-decoration: none; }
.kprPost__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #1a1a1a; }
.kprPost__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.kprPost:hover .kprPost__media img, .kprPost:focus-visible .kprPost__media img { transform: scale(1.04); }
.kprPost__date { margin-top: 4px; font-size: 13px; font-weight: 500; letter-spacing: 0.08em; color: #c9a04e; }
.kprPost__name { font-size: var(--kpr-h3); line-height: 1.3; font-weight: 600; text-wrap: balance; }
.kprPost:hover .kprPost__name { color: #e9d27c; }
@media (prefers-reduced-motion: reduce) { .kprPost__media img { transition: none; } }

.kprPostPage { float: left; width: 100%; }
.kprPostPage .kprS { padding-left: max(clamp(16px, 5vw, 96px), calc((100% - 960px) / 2)); padding-right: max(clamp(16px, 5vw, 96px), calc((100% - 960px) / 2)); }
.kprPostPage__head { padding-top: calc(var(--kpr-head) + clamp(24px, 3vw, 48px)); padding-bottom: clamp(24px, 3vw, 40px); }
.kprPostPage__head .kprS__label a { color: inherit; text-decoration: none; }
.kprPostPage__head .kprS__label a:hover { color: #e9d27c; }
.kprPostPage__head h1 { max-width: 22ch; }
.kprPostPage__cover { padding-top: 0; padding-bottom: 0; }
.kprPostPage__cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.kprPostPage__cover.kprMedia--tall img { width: min(100%, 640px); aspect-ratio: 4 / 5; }
.kprPostPage__body { padding-top: clamp(32px, 4vw, 56px); }
.kprPostPage__text { max-width: 72ch; font-size: var(--kpr-body); line-height: 1.65; }
.kprPostPage__text :is(h2, h3) { margin: 1.6em 0 0.6em; color: #fff; }
body .kprPostPage__text h2 { font-size: var(--kpr-h3) !important; }
.kprPostPage__text p > span[style*="underline"] { text-decoration: none !important; }
.kprPostPage__text p > span[style*="underline"] strong, .kprPostPage__text p > strong:only-child { display: block; margin-top: 1.4em; font-size: var(--kpr-h3); line-height: 1.3; font-weight: 600; }
.kprPostPage__text em { color: #fff; font-style: normal; font-weight: 500; }
.kprPostPage__text img { display: block; margin: 1.5em 0; }
.kprPostPage + .kprPostPage__more, .kprPostPage__more { border-top: 1px solid #2b2b2b; }

@media screen and (max-width: 1000px) {
  .kprPostPage__head { padding-top: 32px; }
  .kprPostPage__cover { padding-left: 0 !important; padding-right: 0 !important; }
  /* Lista bloga na telefonie: miniatura obok tytułu, żeby 60 wpisów nie zajmowało 20 ekranów. */
  .kprBlog .kprPosts { grid-template-columns: 1fr; gap: 0; }
  .kprBlog .kprPost { display: grid; grid-template-columns: 112px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 14px; row-gap: 2px; padding: 14px 0; border-bottom: 1px solid var(--kpr-line); }
  .kprBlog .kprPost__media { grid-row: 1 / 3; aspect-ratio: 4 / 3; }
  .kprBlog .kprPost__date { margin: 0; font-size: 12px; }
  .kprBlog .kprPost__name { font-size: 16px; line-height: 1.35; }
  .kprPosts--row { grid-template-columns: none; grid-auto-columns: 78%; }
}

/* ── O nas ─────────────────────────────────────────────────────────────── */
.kprAbout__words em { font-style: normal; font-size: var(--kpr-lead); line-height: 1.6; color: #fff; }
.kprAbout__words p:first-child::before { content: "„"; display: block; margin-bottom: 8px; font-size: 64px; font-weight: 600; line-height: 0.6; color: var(--kpr-gold); }
.kprAbout__intro { padding-bottom: 0; }
.kprAbout__intro .kprS__head { margin-bottom: 0; max-width: 900px; }
.kprAbout__row + .kprAbout__row { padding-top: 0; }
.kprAbout__values ul { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; text-align: center; }
.kprAbout__values li { padding: 8px 0; font-size: var(--kpr-h3); font-weight: 600; letter-spacing: 0.02em; }
.kprAbout__values li::before { content: ""; display: block; width: 40px; height: 1px; margin: 0 auto 16px; background: var(--kpr-gold); }
.kprAbout__blocks ul { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.kprAbout__blocks li { padding: clamp(22px, 2.6vw, 36px); background: var(--kpr-graphite); border-top: 2px solid var(--kpr-gold); }
.kprAbout__h { margin-bottom: 12px; font-size: var(--kpr-h3); line-height: 1.3; }
.kprAbout__certs { border-top: 1px solid var(--kpr-line); }
.kprAbout__certList { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 24px); }
.kprAbout__certList a { display: block; background: #fff; }
.kprAbout__certList img { display: block; width: 100%; aspect-ratio: 1 / 1.41; object-fit: contain; transition: transform 0.4s ease; }
.kprAbout__certList a:hover img { transform: scale(1.03); }
@media screen and (max-width: 1000px) {
  .kprAbout__values ul { grid-template-columns: 1fr; gap: 4px; }
  .kprAbout__blocks ul { grid-template-columns: 1fr; }
  .kprAbout__certList { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ── Cenniki i polityki ────────────────────────────────────────────────── */
.kprDoc__head { display: flex; flex-direction: column; gap: 14px; padding-bottom: clamp(20px, 2.4vw, 32px); }
@media screen and (min-width: 1001px) { .kprDoc__head { padding-top: calc(var(--kpr-head) + clamp(24px, 3vw, 48px)); } }
.kprDoc__head .kprHero__h1 { max-width: 22ch; }
.kprDoc__body { padding-top: clamp(28px, 3vw, 44px); }
.kprDoc { max-width: 860px; }
.kprDoc :is(h2, h3) { margin: 1.6em 0 0.6em; }
.kprDoc :is(h2, h3):first-child { margin-top: 0; }
.kprDoc h2 { font-size: var(--kpr-h3); }
.kprDoc h3 { font-size: 18px; }
.kprDoc p > strong:only-child { display: block; margin-top: 1.6em; font-size: var(--kpr-h3); line-height: 1.3; color: #fff; }
.kprS__rich.kprDoc table { margin: 0.6em 0 1.6em; }
.kprS__rich.kprDoc td { display: table-cell; width: auto !important; padding: 14px 0; background: none; border-top: 0; border-bottom: 1px solid var(--kpr-line); vertical-align: top; }
.kprS__rich.kprDoc td + td { padding-left: 24px; }
.kprDoc--prices td:last-child:not(:first-child) { text-align: right !important; white-space: nowrap; color: var(--kpr-gold-light); font-weight: 500; }
.kprDoc__cta { margin-top: 32px; }
.kprS__rich.kprDoc .kprCookies { font-size: 15px; }
.kprS__rich.kprDoc .kprCookies :is(th, td) { word-break: normal; overflow-wrap: normal; hyphens: manual; }
.kprS__rich.kprDoc .kprCookies td:nth-child(3) { min-width: 14em; }
.kprS__rich.kprDoc .kprCookies th { padding: 0 0 10px; font-weight: 500; text-align: left; color: #fff; border-bottom: 1px solid var(--kpr-line); vertical-align: bottom; }
.kprS__rich.kprDoc .kprCookies th + th { padding-left: 24px; }
.kprS__rich.kprDoc .kprCookies td:first-child { color: #fff; font-weight: 500; }
@media screen and (max-width: 640px) {
  .kprDoc--prices td:last-child:not(:first-child) { white-space: normal; }
  /* Tabela plików cookies (9.11.2026): na telefonie każdy plik jako blok, bez przewijania w bok. */
  .kprS__rich.kprDoc .kprCookies thead { display: none; }
  .kprS__rich.kprDoc .kprCookies tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--kpr-line); }
  .kprS__rich.kprDoc .kprCookies td { display: block; padding: 2px 0 !important; border: 0; }
  .kprS__rich.kprDoc .kprCookies td:nth-child(3) { min-width: 0; }
  .kprS__rich.kprDoc .kprCookies td:is(:nth-child(2), :nth-child(4), :nth-child(5))::before { color: var(--kpr-muted, #9a9a9a); }
  .kprS__rich.kprDoc .kprCookies td:nth-child(2)::before { content: "Dostawca: "; }
  .kprS__rich.kprDoc .kprCookies td:nth-child(4)::before { content: "Rodzaj: "; }
  .kprS__rich.kprDoc .kprCookies td:nth-child(5)::before { content: "Przechowywanie: "; }
}

/* ── Formularz, opinie, komunikaty ─────────────────────────────────────── */
.kprContact { display: flex; flex-direction: column; align-items: center; gap: clamp(20px, 2.4vw, 32px); }
.kprContact__h { text-align: center; }
.kprElfsight { padding-top: clamp(24px, 3vw, 48px); padding-bottom: clamp(24px, 3vw, 48px); }
.kprMsg { min-height: 60vh; display: flex; flex-direction: column; justify-content: center; gap: 16px; }
@media screen and (min-width: 1001px) { .kprMsg { padding-top: calc(var(--kpr-head) + 48px); } }
.kprMsg .kprHero__lead a { color: var(--kpr-gold-light); }
.kprB2b .kprS__rich { max-width: 860px; }
.kprContact__facts { width: 100%; max-width: 980px; margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.kprContact__facts li { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; background: var(--kpr-ink); border-top: 2px solid var(--kpr-gold); font-size: 14px; color: #9a9a9a; }
.kprContact__facts a, .kprContact__strong { color: #fff; font-size: 16px; font-weight: 500; text-decoration: none; }
.kprContact__facts a:hover { color: var(--kpr-gold-light); }
@media screen and (min-width: 1001px) { .kprContact:first-child { padding-top: calc(var(--kpr-head) + clamp(24px, 3vw, 48px)); } }
@media screen and (max-width: 1000px) { .kprContact__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (max-width: 560px) { .kprContact__facts { grid-template-columns: 1fr; gap: 8px; } .kprContact__facts li { padding: 12px 14px; } }

/* Przyciski CTA jednego rozmiaru (12.11.2026): 48 px wysokości, 15 px, jak .kprS__btn i przycisk w nagłówku.
   Formularz (kpr-astro.css miał 54 px i 16 px) i przycisk menu na telefonie (52 px) wyrównane. */
.kprQ .kprQ__submit { min-height: 48px; padding: 0 24px; font-size: 15px; }
@media (max-width: 560px) {
  /* Telefon: przyciski jeden pod drugim, równej szerokości. */
  .kprS__buttons .kprS__btn { flex: 1 1 100%; }
}

/* Realizacje: filtry na komputerze w kilku wierszach zamiast uciętego paska (12.11.2026); na telefonie przewijane w bok. */
@media (min-width: 1001px) {
  .kprWorksIndex__filters { flex-wrap: wrap; overflow-x: visible; white-space: normal; column-gap: 8px; row-gap: 0; }
}
