/*
 * klimatlux.pl — Manrope, granat i błękit marki, przyciski-pigułki, promień 12 px, „scena” w chłodnym błękicie z łukami
 * nawiewu (jak hero strony głównej). Tokeny z motywu KlimatLux (assets/css/main.css), wartości zapasowe obok.
 */
.klxnl--k { --k-brand: var(--brand, #0052A3); --k-brand-h: var(--brand-hover, #00418A); --k-soft: var(--brand-soft, #E6F0FB); --k-navy: var(--navy, #07182A); --k-ink: var(--ink, #0B1F33); --k-muted: var(--ink-muted, #4D6378); --k-line: var(--line, #DCE4EE); --k-input: var(--line-input, #6F8499); --k-cool: var(--cool, #1E96D8); --k-warm: var(--warm, #E5463A); --k-warm-ink: var(--warm-ink, #C8352A); --k-warm-soft: var(--warm-soft, #FDECEA); --k-focus: var(--focus-ring, #0068CE); font-family: var(--font-sans, "Manrope", system-ui, sans-serif); color: var(--k-ink); }

/* ---------- formularz */
.klxnl--k .klxnl-label { display: block; margin: 0 0 6px; font-size: 15px; font-weight: 600; }
.klxnl--k .klxnl-input { height: 52px; padding: 0 16px; border: 1px solid var(--k-input); border-radius: 8px; background: #fff; color: var(--k-ink); font-size: 17px; }
.klxnl--k .klxnl-input::placeholder { color: #7C8DA0; }
.klxnl--k .klxnl-input:focus { outline: 3px solid color-mix(in srgb, var(--k-focus) 35%, transparent); outline-offset: 0; border-color: var(--k-focus); }
.klxnl--k .klxnl-btn { height: 52px; padding: 0 26px; border: 0; border-radius: 999px; background: var(--k-brand); color: #fff; font-size: 15px; font-weight: 600; transition: background .18s; }
.klxnl--k .klxnl-btn:hover { background: var(--k-brand-h); }
.klxnl--k .klxnl-btn:focus-visible, .klxnl--k .klxnl-pop__x:focus-visible, .klxnl--k .klxnl-link:focus-visible { outline: 3px solid var(--k-focus); outline-offset: 2px; }
.klxnl--k .klxnl-consent { font-size: 13px; line-height: 1.5; color: var(--k-muted); }
.klxnl--k .klxnl-consent input { accent-color: var(--k-brand); }
.klxnl--k .klxnl-info, .klxnl--k .klxnl-fine { font-size: 13px; line-height: 1.5; color: var(--k-muted); }
.klxnl--k .klxnl-info a, .klxnl--k .klxnl-consent a { color: var(--k-brand); text-decoration: underline; text-underline-offset: 2px; }
.klxnl--k .klxnl-msg { padding: 12px 14px; border-radius: 8px; background: var(--success-soft, #E7F6EC); color: var(--success, #177A3E); font-size: 15px; font-weight: 500; }
.klxnl--k .klxnl-msg.is-err { background: var(--k-warm-soft); color: var(--danger, #B42318); }

/* ---------- okno */
.klxnl--k .klxnl-pop__scrim { background: rgba(7, 24, 42, .55); }
.klxnl--k .klxnl-pop__box { border-radius: 16px; background: #fff; box-shadow: 0 24px 48px rgba(7, 24, 42, .22); }
.klxnl--k .klxnl-pop__x { border-radius: 999px; color: var(--k-ink); background: rgba(255, 255, 255, .9); }
.klxnl--k .klxnl-pop__x:hover { background: var(--k-soft); }
.klxnl--k .klxnl-pop__art { padding: 32px 28px; background: var(--k-soft); color: var(--k-navy); }
.klxnl--k .klxnl-pop__eyebrow { display: flex; align-items: center; gap: 10px; color: var(--k-muted); font-size: 13px; font-weight: 600; letter-spacing: .02em; }
.klxnl--k .klxnl-pop__eyebrow::before { content: ""; flex: 0 0 auto; width: 32px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--k-cool), var(--k-warm)); }
.klxnl--k .klxnl-pop__t { font-size: 26px; line-height: 1.18; font-weight: 600; letter-spacing: -.01em; color: var(--k-ink); padding-right: 24px; }
.klxnl--k .klxnl-pop__d, .klxnl--k .klxnl-pop__short { font-size: 16px; line-height: 1.6; color: var(--k-muted); }
.klxnl--k .klxnl-pop__grab { background: var(--k-line); }
.klxnl--k .klxnl-link { color: var(--k-brand); font-size: 15px; font-weight: 600; text-decoration: none; }
.klxnl--k .klxnl-link:hover { text-decoration: underline; }
.klxnl--k .klxnl-later { padding: 0 8px; border: 0; background: none; color: var(--k-muted); font: inherit; font-size: 15px; cursor: pointer; }

/* łuki nawiewu w tle sceny */
.klxnl--k .klxnl-arcs { position: absolute; right: -120px; bottom: -120px; width: 360px; height: 360px; color: var(--k-cool); opacity: .55; pointer-events: none; }
/* „bilet” z kwotą — biała karta jak karty „25 m² → 2,5 kW” w hero */
.klxnl--k .klxnl-ticket { position: relative; z-index: 1; padding: 22px 22px 18px; border-radius: 12px; background: #fff; box-shadow: 0 12px 32px rgba(7, 24, 42, .10); }
.klxnl--k .klxnl-ticket__k { margin: 0 0 4px; font-size: 13px; font-weight: 600; color: var(--k-muted); }
.klxnl--k .klxnl-ticket__v { margin: 0; font-size: 56px; line-height: 1; font-weight: 700; letter-spacing: -.03em; color: var(--k-brand); white-space: nowrap; }
.klxnl--k .klxnl-ticket__v small { font-size: 26px; font-weight: 600; letter-spacing: 0; }
.klxnl--k .klxnl-ticket__s { margin: 14px 0 0; padding-top: 12px; border-top: 1px dashed var(--k-line); font-size: 13px; line-height: 1.5; color: var(--k-muted); }
.klxnl--k .klxnl-ticket__s strong { color: var(--k-ink); font-weight: 600; }
.klxnl--k .klxnl-art-note { position: relative; z-index: 1; margin: 16px 2px 0; font-size: 13px; line-height: 1.5; color: var(--k-muted); }

/* wariant B — Black Friday: granatowa scena */
.klxnl--k.klxnl-pop--b .klxnl-pop__art { background: var(--k-navy); color: #fff; }
.klxnl--k.klxnl-pop--b .klxnl-arcs { color: #2C6FB0; opacity: .5; }
.klxnl--k .klxnl-bf { position: relative; z-index: 1; margin: 0; font-size: 44px; line-height: .95; font-weight: 700; letter-spacing: -.02em; text-transform: uppercase; }
.klxnl--k .klxnl-bf span { display: block; color: var(--k-cool); }
.klxnl--k .klxnl-bf-date { position: relative; z-index: 1; display: inline-flex; align-self: flex-start; margin: 22px 0 0; padding: 6px 12px; border: 1px solid rgba(255, 255, 255, .24); border-radius: 999px; font-size: 13px; font-weight: 600; color: #fff; }
.klxnl--k .klxnl-bf-note { position: relative; z-index: 1; margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: var(--on-navy-muted, #9FB3C8); }

/* wariant A — promocja sezonowa (Halloween): ciepła scena, dynia jako znak, produkty z cenami */
.klxnl--k.klxnl-pop--a .klxnl-pop__art { background: var(--k-warm-soft); }
.klxnl--k.klxnl-pop--a .klxnl-pop__eyebrow::before { background: linear-gradient(90deg, #F08A3C, var(--k-warm)); }
.klxnl--k .klxnl-season { position: relative; z-index: 1; width: 104px; height: 104px; margin: 0 0 18px; color: var(--k-warm-ink); }
.klxnl--k .klxnl-until { position: relative; z-index: 1; margin: 0; font-size: 13px; font-weight: 600; color: var(--k-warm-ink); }
.klxnl--k .klxnl-until strong { display: block; margin-top: 4px; font-size: 44px; line-height: 1; font-weight: 700; letter-spacing: -.02em; color: var(--k-navy); }
.klxnl--k .klxnl-prods { gap: 0; border-top: 1px solid var(--k-line); }
.klxnl--k .klxnl-prod { padding: 10px 0; border-bottom: 1px solid var(--k-line); }
.klxnl--k .klxnl-prod img { border-radius: 8px; background: #F3F6FA; }
.klxnl--k .klxnl-prod__n { font-size: 14px; line-height: 1.4; font-weight: 500; }
.klxnl--k .klxnl-prod__p { font-size: 15px; font-weight: 700; color: var(--k-warm-ink); }
.klxnl--k .klxnl-prod__p small { display: block; font-size: 12px; font-weight: 500; color: var(--k-muted); }
.klxnl--k .klxnl-prod:hover .klxnl-prod__n { color: var(--k-brand); }
.klxnl--k .klxnl-cta { height: 52px; padding: 0 26px; border-radius: 999px; background: var(--k-brand); color: #fff; font-size: 15px; font-weight: 600; justify-self: start; }
.klxnl--k .klxnl-cta:hover { background: var(--k-brand-h); color: #fff; }

@media (max-width: 699px) {
	.klxnl--k .klxnl-pop__box { border-radius: 16px 16px 0 0; box-shadow: 0 -12px 32px rgba(7, 24, 42, .18); }
	.klxnl--k .klxnl-pop__t { font-size: 18px; line-height: 1.3; padding-right: 32px; }
	.klxnl--k .klxnl-pop__short, .klxnl--k .klxnl-pop__d { font-size: 14px; line-height: 1.5; }
	.klxnl--k .klxnl-pop__peek .klxnl-btn, .klxnl--k .klxnl-pop__peek .klxnl-cta { height: 44px; padding: 0 20px; width: auto; }
	.klxnl--k .klxnl-pop__eyebrow { font-size: 12px; }
	.klxnl--k .klxnl-input, .klxnl--k .klxnl-btn { height: 48px; }
	.klxnl--k .klxnl-cta { width: 100%; }
}

/* ---------- stopka (granat motywu) */
.klxnl--k.klxnl-foot { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 24px 48px; align-items: center; margin: 0 0 40px; padding: 28px 32px; border: 1px solid var(--navy-line, rgba(255, 255, 255, .12)); border-radius: 12px; background: rgba(255, 255, 255, .04); color: var(--on-navy, #fff); }
.klxnl--k.klxnl-foot .klxnl-foot__k { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 8px; color: var(--on-navy-muted, #9FB3C8); font-size: 13px; font-weight: 600; }
.klxnl--k.klxnl-foot .klxnl-foot__t { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 600; color: #fff; }
.klxnl--k.klxnl-foot .klxnl-foot__t em { font-style: normal; color: #7FC4F0; }
.klxnl--k.klxnl-foot .klxnl-foot__d { margin: 8px 0 0; font-size: 15px; line-height: 1.55; color: var(--on-navy-muted, #9FB3C8); }
.klxnl--k.klxnl-foot .klxnl-input { border-color: transparent; }
.klxnl--k.klxnl-foot .klxnl-btn { background: #fff; color: var(--k-brand); }
.klxnl--k.klxnl-foot .klxnl-btn:hover { background: var(--k-soft); }
.klxnl--k.klxnl-foot .klxnl-consent, .klxnl--k.klxnl-foot .klxnl-info { color: var(--on-navy-muted, #9FB3C8); }
.klxnl--k.klxnl-foot .klxnl-consent a, .klxnl--k.klxnl-foot .klxnl-info a { color: #fff; }
.klxnl--k.klxnl-foot .klxnl-btn:focus-visible, .klxnl--k.klxnl-foot .klxnl-info a:focus-visible { outline-color: #fff; }
@media (max-width: 899px) { .klxnl--k.klxnl-foot { grid-template-columns: minmax(0, 1fr); padding: 22px 18px; } }
@media (max-width: 599px) { .klxnl--k.klxnl-foot .klxnl-row { flex-direction: column; } .klxnl--k.klxnl-foot .klxnl-btn { width: 100%; } }

/* ---------- strona główna: panel w chłodnym błękicie z „biletem” */
.klxnl--k.klxnl-home { position: relative; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 32px 64px; align-items: center; overflow: hidden; padding: 48px 56px; border-radius: 12px; background: var(--k-soft); }
.klxnl--k.klxnl-home .klxnl-arcs { right: auto; left: -150px; bottom: -170px; width: 460px; height: 460px; }
.klxnl--k.klxnl-home .klxnl-ticket { max-width: 300px; }
.klxnl--k.klxnl-home .klxnl-home__k { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; color: var(--k-muted); font-size: 13px; font-weight: 600; }
.klxnl--k.klxnl-home .klxnl-home__k::before { content: ""; width: 32px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--k-cool), var(--k-warm)); }
.klxnl--k.klxnl-home .klxnl-home__t { margin: 0; font-size: var(--fs-2xl, 32px); line-height: 1.15; font-weight: 600; letter-spacing: -.01em; }
.klxnl--k.klxnl-home .klxnl-home__d { margin: 12px 0 22px; max-width: 60ch; font-size: 17px; line-height: 1.6; color: var(--k-muted); }
@media (max-width: 899px) { .klxnl--k.klxnl-home { grid-template-columns: minmax(0, 1fr); padding: 28px 20px; } .klxnl--k.klxnl-home .klxnl-ticket { max-width: none; } }
@media (max-width: 599px) { .klxnl--k.klxnl-home .klxnl-row { flex-direction: column; } .klxnl--k.klxnl-home .klxnl-btn { width: 100%; } }

/* ---------- v2: grafika w oknie (nakładki), strony wtyczki */
.klxnl--k.klxnl-pop--a .klxnl-ov__k { color: #FFB066; }
.klxnl--k.klxnl-pop--a .klxnl-ov__v { color: #fff; }
.klxnl--k.klxnl-pop--a .klxnl-ov__s { color: #E8D8C0; }
.klxnl--k.klxnl-pop--c .klxnl-ov__v { color: var(--k-brand); }
.klxnl--k.klxnl-pop--c .klxnl-ov__s { color: var(--k-navy); }
.klxnl--k .klxnl-pop__box { overflow: hidden auto; }
.klxnl--k.klxnl-page { font-family: var(--font-sans, "Manrope", system-ui, sans-serif); }
.klxnl--k .klxnl-page__in { padding: 44px 40px; border-radius: 12px; background: var(--k-soft); }
.klxnl--k .klxnl-page__in::after { content: ""; position: absolute; right: -90px; bottom: -90px; width: 260px; height: 260px; border-radius: 50%; border: 1.5px dashed var(--k-cool); box-shadow: 0 0 0 40px transparent, 0 0 0 41px rgba(30, 150, 216, .35); opacity: .55; pointer-events: none; }
.klxnl--k .klxnl-page__k { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; color: var(--k-muted); font-size: 13px; font-weight: 600; letter-spacing: .02em; }
.klxnl--k .klxnl-page__k::before { content: ""; width: 32px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--k-cool), var(--k-warm)); }
.klxnl--k .klxnl-page__t { font-size: 32px; line-height: 1.15; font-weight: 600; letter-spacing: -.01em; color: var(--k-ink); }
.klxnl--k .klxnl-page__d { margin-top: 12px; max-width: 56ch; font-size: 17px; line-height: 1.6; color: var(--k-muted); }
.klxnl--k .klxnl-page__lbl { margin-top: 22px; font-size: 14px; font-weight: 600; color: var(--k-muted); }
.klxnl--k .klxnl-page__code { display: inline-block; margin-top: 8px; padding: 14px 22px; border: 2px dashed var(--k-brand); border-radius: 12px; background: #fff; color: var(--k-navy); font: 700 28px/1 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; letter-spacing: .06em; }
.klxnl--k .klxnl-page__a { margin-top: 26px; position: relative; z-index: 1; }
.klxnl--k.klxnl-page .tnp-submit, .klxnl--k.klxnl-page .klxnl-cta { height: 52px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--k-brand); color: #fff; font-size: 15px; font-weight: 600; }
.klxnl--k.klxnl-page .tnp-submit:hover, .klxnl--k.klxnl-page .klxnl-cta:hover { background: var(--k-brand-h); color: #fff; }
@media (max-width: 599px) { .klxnl--k .klxnl-page__in { padding: 28px 20px; } .klxnl--k .klxnl-page__t { font-size: 26px; } .klxnl--k .klxnl-page__code { font-size: 22px; } }
