/* Umowa Najmu dla Właściciela: osobna szata landingu (kolory marki: zieleń i granat, jak reszta serwisu).
   Ładowany tylko na szablonie page-landing-umowa-najmu.php (inc/kreator-najmu.php).
   Tokeny roli zdefiniowane lokalnie na .kn-lp; reszta strony (zieleń serwisu) bez zmian.
   Rodzina wizualna jak landingi produktów (hero na pełną szerokość, karty, tabele). */
.kn-lp {
	--kn-walnut: #0F1F3A;
	--kn-amber: #047857;
	--kn-amber-hover: #065F46;
	--kn-amber-soft: #ECFDF5;
	--kn-honey: #34D399;
	--kn-cream: #F3FAF6;
	--kn-paper: #FFFFFF;
	--kn-border: #DCEFE4;
	--kn-ink: #0F1F3A;
	--kn-text: #1E293B;
	--kn-muted: #475569;
}
.kn-lp h1, .kn-lp h2, .kn-lp h3 { color: var(--kn-ink); }
.kn-lp a { color: var(--kn-amber-hover); text-underline-offset: 3px; }
.kn-lp a:hover { color: var(--kn-amber); }
.kn-lp .cert-btn--primary { background: var(--kn-amber); color: #fff; }
.kn-lp .cert-btn--primary:hover { background: var(--kn-amber-hover); color: #fff; }
.kn-lp .cert-btn.is-off, .kn-lp .kn-opcja.is-off { opacity: .75; cursor: not-allowed; pointer-events: none; }
.kn-lp :focus-visible { outline: 3px solid var(--kn-walnut); outline-offset: 2px; }
.kn-lp .cert-product__section p, .kn-lp .cert-product__section li { color: var(--kn-text); }
.kn-lp .cert-product__section h2 { color: var(--kn-ink); }
.kn-maly { font-size: .875rem !important; color: var(--kn-muted) !important; line-height: 1.55 !important; }

/* Rytm pionowy */
.kn-lp .cert-product__section { margin-top: 4.5rem; margin-bottom: 0; }
.kn-lp .kn-zaufanie { margin-top: 2.5rem; }
.kn-lp .kn-final { margin-top: 4.5rem; }

/* Sekcje szersze niż domyślne 780 px motywu */
main.kn-lp.cert-product > .kn-wide { max-width: 1120px; }

.kn-podglad { background: var(--kn-amber-soft); border: 1px solid var(--kn-border); border-radius: 12px; padding: .75rem 1rem; margin: 0 auto 1rem; font-size: .9375rem; color: #065F46; }

/* ---------- HERO ---------- */
body .kn-lp .kn-hero {
	background: var(--kn-cream);
	border-bottom: 1px solid var(--kn-border);
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	column-gap: 4rem;
	position: relative;
	overflow: hidden;
	padding-top: 2.5rem;
	padding-bottom: 4rem;
}
.kn-hero > * { position: relative; z-index: 1; }
body .kn-lp .kn-hero h1 { font-size: 2.5rem; line-height: 1.12; letter-spacing: -.03em; }
body .kn-lp .kn-hero .cert-product__lead { color: var(--kn-text); max-width: 34rem; }
.kn-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.kn-pill { display: inline-flex; align-items: center; gap: .35rem; padding: 6px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--kn-border); font-size: .875rem; font-weight: 600; color: var(--kn-amber-hover); }
.kn-pill--ok { background: var(--kn-walnut); border-color: var(--kn-walnut); color: #fff; }
.kn-trzy { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.kn-trzy li { display: flex; gap: .6rem; align-items: flex-start; color: var(--kn-text); }
.kn-trzy svg { flex: none; margin-top: .25rem; color: var(--kn-amber); }

.kn-wybor { display: grid; gap: .75rem; max-width: 34rem; }
.kn-opcja { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; min-height: 64px; background: #fff; border: 2px solid var(--kn-border); border-radius: 16px; text-decoration: none; color: var(--kn-ink) !important; transition: border-color .15s, box-shadow .15s; }
.kn-opcja:first-child { border-color: var(--kn-amber); }
a.kn-opcja:hover { border-color: var(--kn-amber); box-shadow: 0 10px 24px -14px rgba(4,120,87,.5); }
.kn-opcja__nazwa { display: flex; flex-direction: column; font-weight: 800; font-family: var(--font-head); font-size: 1.0625rem; }
.kn-opcja__nazwa small { font-family: var(--font-main); font-weight: 500; font-size: .875rem; color: var(--kn-muted); margin-top: .15rem; }
.kn-opcja__cena { font-family: var(--font-head); font-weight: 800; font-size: 1.5rem; white-space: nowrap; color: var(--kn-amber-hover); }
.kn-hero__mala { margin: 0 !important; }

/* Stos dokumentów w hero: okładka za, strona z komentarzem z przodu; okrąg jak na okładce PDF */
.kn-stos { position: relative; margin: 0 0 2.5rem; align-self: center; aspect-ratio: 1 / 1.08; }
body .kn-lp .kn-hero .cert-product__image { grid-column: 2; grid-row: 1 / span 7; max-width: none; }
.kn-stos::before { content: ""; position: absolute; right: -12%; top: 4%; width: 92%; aspect-ratio: 1; border-radius: 50%; background: #D1FAE5; }
.kn-stos img { position: absolute; height: auto; border-radius: 6px; box-shadow: 0 22px 44px -18px rgba(15,31,58,.55), 0 2px 6px rgba(15,31,58,.15); background: #fff; }
.kn-stos .kn-stos__tyl { width: 52%; left: 4%; top: 0; transform: rotate(-4deg); }
.kn-stos .kn-stos__przod { width: 82%; right: 0; bottom: 8%; transform: rotate(1.5deg); }
.kn-stos figcaption { position: absolute; left: 0; right: 0; bottom: -2rem; font-size: .8125rem; color: var(--kn-muted); text-align: right; }

/* ---------- ZAUFANIE ---------- */
.kn-fakty { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); }
.kn-fakty li { padding: 0 0 0 1rem; border-left: 3px solid var(--kn-honey); font-size: .9375rem; line-height: 1.5; color: var(--kn-text); }
.kn-fakty strong { display: block; color: var(--kn-ink); font-family: var(--font-head); margin-bottom: .2rem; }
.kn-wzorzec { font-size: .9375rem !important; color: var(--kn-muted) !important; max-width: 52rem; }

/* ---------- ZOBACZ, CO DOSTANIESZ ---------- */
.kn-pokaz { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 3rem; align-items: center; }
.kn-pokaz__strony { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1rem; align-items: start; }
.kn-kartka { margin: 0; }
.kn-kartka img { display: block; width: 100%; height: auto; border: 1px solid var(--kn-border); border-radius: 6px; box-shadow: 0 18px 36px -20px rgba(15,31,58,.5); background: #fff; }
.kn-kartka figcaption { font-size: .8125rem; color: var(--kn-muted); margin-top: .5rem; }
.kn-kartka--wasko { margin-top: 2.5rem; }

/* ---------- PROBLEM ---------- */
.kn-problem { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 2.5rem 3.5rem; align-items: center; }
.kn-foto { margin: 0; }
.kn-foto img { display: block; width: 100%; height: auto; border-radius: 20px; box-shadow: 0 30px 60px -30px rgba(15,31,58,.5); }
.kn-problem__dol { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.5rem; align-items: start; }
.kn-alt { display: grid; gap: .75rem; }
.kn-alt div { background: var(--kn-paper); border: 1px solid var(--kn-border); border-radius: 14px; padding: .85rem 1.1rem; font-size: .9375rem; color: var(--kn-text); }
.kn-alt strong { display: block; color: var(--kn-ink); font-family: var(--font-head); }

.kn-lista { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .65rem; }
.kn-lista li { position: relative; padding-left: 1.5rem; line-height: 1.55; }
.kn-lista li::before { content: ""; position: absolute; left: 0; top: .6em; width: .6rem; height: .6rem; border-radius: 50%; background: var(--kn-amber); }
.kn-lista--nie li::before { background: transparent; border: 2px solid #94A3B8; }

/* ---------- TRZY KOLUMNY, KROKI ---------- */
.kn-trzykol { list-style: none; margin: 1.5rem 0 0; padding: 0; align-items: start; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.kn-trzykol li, .kn-kroki li { background: var(--kn-paper); border: 1px solid var(--kn-border); border-radius: 16px; padding: 1.1rem 1.25rem; font-size: .9375rem; line-height: 1.55; color: var(--kn-text); }
.kn-trzykol strong, .kn-kroki strong { display: block; font-family: var(--font-head); font-size: 1.0625rem; color: var(--kn-ink); margin-bottom: .3rem; }
.kn-kroki { list-style: none; margin: 1rem 0 1rem; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; counter-reset: krok; }
.kn-kroki li { position: relative; padding-top: 3.25rem; counter-increment: krok; }
.kn-kroki li::before { content: counter(krok); position: absolute; left: 1.25rem; top: 1rem; width: 1.85rem; height: 1.85rem; border-radius: 50%; background: var(--kn-amber); color: #fff; font-weight: 800; font-family: var(--font-head); display: flex; align-items: center; justify-content: center; font-size: .9375rem; }

/* ---------- TABELE ---------- */
.kn-lp .cx-compare thead th { background: var(--kn-cream); color: var(--kn-ink); }
.kn-lp .cx-compare td, .kn-lp .cx-compare th { border-top-color: var(--kn-border); }
.kn-tab th.is-us, .kn-tab td.is-us { background: var(--kn-cream); font-weight: 600; color: var(--kn-ink); }

/* ---------- KLAUZULE ---------- */
.kn-wstep { max-width: 46rem; }
.kn-klauzula { border: 1px solid var(--kn-border); border-radius: 16px; margin: .75rem 0; background: #fff; }
.kn-klauzula[open] { box-shadow: 0 16px 34px -24px rgba(15,31,58,.5); }
.kn-klauzula summary { cursor: pointer; list-style: none; display: flex; align-items: baseline; gap: .75rem; padding: 1rem 3rem 1rem 1.25rem; min-height: 56px; font-family: var(--font-head); font-weight: 800; font-size: 1.125rem; color: var(--kn-ink); position: relative; }
.kn-klauzula summary::-webkit-details-marker { display: none; }
.kn-klauzula summary::after { content: ""; position: absolute; right: 1.25rem; top: 50%; width: .6rem; height: .6rem; border-right: 2px solid var(--kn-amber); border-bottom: 2px solid var(--kn-amber); transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.kn-klauzula[open] summary::after { transform: translateY(-30%) rotate(225deg); }
.kn-klauzula summary small { font-family: var(--font-main); font-weight: 500; color: var(--kn-muted); font-size: .8125rem; }
.kn-klauzula__kolumny { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; padding: 0 1.25rem 1.25rem; }
.kn-zapis { margin: 0; padding: .25rem 0 .25rem 1.1rem; border-left: 3px solid var(--kn-border); font-size: .9375rem; color: var(--kn-text); }
.kn-zapis p { margin: 0; font-size: .9375rem !important; line-height: 1.7 !important; }
.kn-pole { background: var(--kn-amber-soft); border-radius: 4px; padding: 0 .25rem; font-weight: 600; color: #065F46; }
.kn-komentarz { background: var(--kn-amber-soft); border-left: 4px solid var(--kn-amber); border-radius: 0 12px 12px 0; padding: .9rem 1.1rem; font-size: .875rem; }
.kn-komentarz p { margin: 0 0 .55rem; font-size: .875rem !important; line-height: 1.55 !important; color: #064E3B !important; }
.kn-komentarz p:last-child { margin-bottom: 0; }
.kn-komentarz .kn-komentarz__et { font-size: .875rem !important; font-weight: 800; font-family: var(--font-head); color: var(--kn-amber-hover) !important; }

/* ---------- CENY ---------- */
.kn-ceny-sek { background: var(--kn-cream); border: 1px solid var(--kn-border); border-radius: 28px; padding: 2.5rem; }
.kn-ceny { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin: 1.25rem 0; align-items: stretch; }
.kn-cena { background: #fff; border: 1px solid var(--kn-border); border-radius: 20px; padding: 1.5rem; display: flex; flex-direction: column; gap: .6rem; }
.kn-cena--glowna { border: 2px solid var(--kn-amber); box-shadow: 0 22px 40px -26px rgba(4,120,87,.7); }
.kn-cena--wkrotce { background: transparent; border-style: dashed; }
.kn-cena h3 { margin: 0; font-size: 1.25rem; }
.kn-cena p { margin: 0; font-size: .9375rem !important; line-height: 1.55 !important; }
.kn-cena .kn-cena__kwota { font-family: var(--font-head); font-weight: 800; font-size: 2.5rem !important; line-height: 1.1 !important; color: var(--kn-ink); letter-spacing: -.02em; }
.kn-cena .kn-cena__kwota--wkr { font-size: 1.75rem !important; color: var(--kn-muted); }
.kn-cena .kn-cta { margin-top: auto; }
.kn-dwie { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; margin-top: 2rem; }
.kn-dwie h3 { margin-top: 0; }

/* ---------- DLA KOGO, GRANICE ---------- */
.kn-dlakogo { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; align-items: start; }
.kn-dlakogo > div { border-radius: 20px; padding: 1.75rem; }
.kn-dlakogo__tak { background: var(--kn-paper); border: 2px solid var(--kn-amber); }
.kn-dlakogo__nie { background: #F8FAFC; border: 1px solid var(--kn-border); }
.kn-dlakogo h2 { font-size: 1.5rem !important; margin-top: 0; }
.kn-granice { background: var(--kn-paper); border: 1px solid var(--kn-border); border-radius: 20px; padding: 1.75rem 2rem; }
.kn-granice h2 { font-size: 1.5rem !important; margin-top: 0; }

/* ---------- FAQ, FINAŁ ---------- */
.kn-lp .cert-faq__item:hover, .kn-lp .cert-faq__item.active { border-color: var(--kn-amber); }
.kn-lp .cert-faq__question:hover { color: var(--kn-amber-hover); }
.kn-final { background: var(--kn-walnut); border-radius: 28px; padding: 3rem 2rem; text-align: center; max-width: 780px; }
.kn-final h3 { color: #fff !important; font-size: 1.875rem; letter-spacing: -.02em; }
.kn-final p { color: rgba(255,255,255,.82); }
.kn-final .cert-btn--primary { background: var(--kn-honey); color: var(--kn-walnut); }
.kn-final .cert-btn--primary:hover { background: #fff; color: var(--kn-walnut); }
.kn-final .kn-ps { font-size: .9375rem; max-width: 40rem; margin-left: auto; margin-right: auto; }
.kn-final a { color: var(--kn-honey); }
.kn-lp .kn-final .cert-btn.is-off { background: var(--kn-honey); color: var(--kn-walnut); }

/* ---------- TABLET I MOBILE ---------- */
@media (max-width: 1024px) {
	body .kn-lp .kn-hero h1 { font-size: 2.25rem; }
	.kn-fakty { grid-template-columns: repeat(2, 1fr); }
	.kn-kroki { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
	body .kn-lp .kn-hero { grid-template-columns: 1fr; column-gap: 0; padding-top: 1.5rem; padding-bottom: 2.5rem; }
	body .kn-lp .kn-hero .cert-product__image { grid-column: 1; grid-row: auto; order: 1; width: 100%; max-width: 440px; margin: .75rem auto 0; }
	body .kn-lp .kn-hero h1 { font-size: 1.875rem; }
	.kn-pokaz, .kn-problem, .kn-problem__dol, .kn-dwie, .kn-dlakogo { grid-template-columns: 1fr; gap: 1.5rem; }
	.kn-trzykol, .kn-ceny { grid-template-columns: 1fr; }
	.kn-klauzula__kolumny { grid-template-columns: 1fr; }
	.kn-ceny-sek { padding: 1.5rem 1rem; border-radius: 20px; }
	.kn-final { border-radius: 20px; padding: 2rem 1.25rem; }
}
@media (max-width: 560px) {
	.kn-tab--lista { min-width: 0; }
	.kn-tab--lista thead { display: none; }
	.kn-tab--lista tr, .kn-tab--lista td { display: block; }
	.kn-tab--lista td { border-top: 0; padding: .15rem 1rem; }
	.kn-tab--lista td:first-child { padding-top: .9rem; }
	.kn-tab--lista td:last-child { padding-bottom: .9rem; }
	.kn-tab--lista tr { border-top: 1px solid var(--kn-border); }
	.kn-tab--lista tr:first-child { border-top: 0; }
	.kn-fakty, .kn-kroki { grid-template-columns: 1fr; }
	.kn-pokaz__strony { grid-template-columns: 1fr; }
	.kn-kartka--wasko { margin-top: 0; }
	.kn-opcja { padding: .85rem 1rem; }
	.kn-opcja__cena { font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
	.kn-lp * { transition: none !important; }
}
