/*
 * klx-firma: NIP z GUS i podpowiedzi adresu. Krój pisma i rozmiary dziedziczone z motywu (bez nowych fontów),
 * kolory / promienie / cienie — zmienne --kf-* ustawiane z motywu sklepu (front.php, klx_firma_style).
 * Lista podpowiedzi leży NAD treścią (position:absolute) — otwarcie nie przesuwa formularza.
 */
.kf-nip { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; width: 100%; box-sizing: border-box; margin: 10px 0 4px; clear: both; }
.kf-nip-btn { min-height: 44px; font-family: inherit; touch-action: manipulation; }
.kf-nip-btn[disabled] { opacity: .65; cursor: progress; }
.kf-msg { flex: 1 1 220px; margin: 0; font-size: var(--kf-fs-xs, 13px); line-height: 1.45; color: var(--kf-muted, #5b6168); }
.kf-msg.is-ok { color: var(--kf-ok, #1c7a35); }
.kf-msg.is-bad { color: var(--kf-bad, #b32d2e); }
.kf-msg.is-busy::after { content: ""; display: inline-block; width: .8em; height: .8em; margin-left: .5em; vertical-align: -.1em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: kf-spin .8s linear infinite; }
@keyframes kf-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .kf-msg.is-busy::after { animation: none; } }

.kf-host { position: relative; }
.kf-pop {
	position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 60;
	display: flex; flex-direction: column; max-height: 340px; box-sizing: border-box;
	background: var(--kf-bg, #fff); color: var(--kf-ink, #1e2124);
	border: 1px solid var(--kf-line, #d6dbe0); border-radius: var(--kf-r, 6px); box-shadow: var(--kf-shadow, 0 10px 28px -10px rgba(0, 0, 0, .25));
	overflow: hidden; font-size: var(--kf-fs, 15px); line-height: 1.3; text-align: left;
}
.kf-pop[hidden] { display: none; }
.kf-pop > ul.kf-list { flex: 1 1 auto; min-height: 0; margin: 0 !important; padding: 4px 0 !important; list-style: none !important; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.kf-pop .kf-opt { display: flex; list-style: none; flex-direction: column; justify-content: center; gap: 2px; min-height: 48px; margin: 0; padding: 8px 14px; box-sizing: border-box; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.kf-opt[aria-selected="true"], .kf-opt:hover { background: var(--kf-hover, #f3f4f6); }
.kf-opt[aria-selected="true"] { box-shadow: inset 3px 0 0 var(--kf-accent, currentColor); }
.kf-main { font-weight: 600; overflow-wrap: anywhere; }
.kf-sub { font-size: var(--kf-fs-xs, 13px); color: var(--kf-muted, #5b6168); }
.kf-src { flex: none; margin: 0; padding: 6px 14px 8px; border-top: 1px solid var(--kf-line, #e1e4e8); font-size: 11.5px; line-height: 1.3; color: var(--kf-muted, #5b6168); }
.kf-src:empty { display: none; }
.kf-src a { color: inherit; }
.kf-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (forced-colors: active) { .kf-opt[aria-selected="true"] { outline: 2px solid Highlight; outline-offset: -2px; } }

/* Kasa blokowa: ramka NIP-u na pełną szerokość w sekcji faktury. */
.wc-block-components-address-form .kf-nip { flex-basis: 100%; }

/* klimatlux.pl — miękkie rogi, granat i błękit marki. */
.kf-klimatlux .kf-opt[aria-selected="true"] { box-shadow: none; }
.kf-klimatlux .kf-opt { border-radius: calc(var(--kf-r, 8px) - 2px); margin: 0 4px; }
.kf-klimatlux .kf-main { color: var(--kf-ink); }

/* hurtownia-lux.pl — czerwony akcent przy wybranym wierszu, gęstsza lista. */
.kf-hurtownia-lux .kf-opt { min-height: 46px; }
.kf-hurtownia-lux .kf-src { background: var(--kf-hover); }

/* grzejniki-lux.pl — styl „Pracownia”: miękkie narożniki, zielony znacznik wybranego wiersza na tle w odcieniu marki. */
.kf-grzejniki-lux .kf-opt { border-radius: var(--kf-r, 10px); margin: 0 6px; }
.kf-grzejniki-lux .kf-opt[aria-selected="true"] { box-shadow: inset 0 0 0 1.5px var(--kf-accent); }

@media (max-width: 600px) {
	.kf-nip { align-items: stretch; }
	.kf-nip-btn { width: 100%; justify-content: center; }
	.kf-msg { flex-basis: 100%; }
	.kf-pop .kf-opt { min-height: 52px; }
}
