/* =========================================================================
   Wspólny modal „callback po godzinach" (#zk-lp-callback) — style komponentu.
   Wydzielone 2026-08-18 z landing-lokalny.css (iteracja 5) — strony ofertowe
   i o-firmie ładują JS modala, ale nie ładują CSS landingu → modal renderował
   się goły (z widocznym polem honeypot). Rejestracja: inc/ui/loader.php,
   enqueue per strona obok wp_enqueue_script('zk-callback-modal').
   UWAGA tech-dług: landing-lokalny.css, kontakt.css i wspolpraca.css mają
   własne (identyczne) kopie tych reguł — po migracji zdeduplikować do tego
   pliku (warstwa wspólna: wywołuj, nie kopiuj).
   ========================================================================= */
.zk-lp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.zk-lp-modal {
	border: 0; padding: 1.75rem;
	max-width: 420px; width: calc(100% - 2rem);
	border-radius: var(--zk-r-card, 12px);
	color: var(--zk-ink, #23291c);
	box-shadow: var(--zk-shadow, 0 18px 40px -12px rgba(20, 32, 4, .26));
	font-family: inherit;
}
.zk-lp-modal::backdrop { background: rgba(20, 32, 4, .5); }
/* Reset odporny na globalne style przycisków motywu (stąd wcześniej kolorowy kwadrat). */
.zk-lp-modal__close {
	position: absolute; top: .7rem; right: .7rem;
	display: inline-flex; align-items: center; justify-content: center;
	width: 2.1rem; height: 2.1rem; padding: 0; margin: 0;
	-webkit-appearance: none; appearance: none;
	border: 0 !important; box-shadow: none !important;
	background: var(--zk-bg-soft, #f2f4ec) !important;
	color: var(--zk-muted, #5b6152) !important;
	font-size: 1.35rem; line-height: 1; cursor: pointer;
	border-radius: 50%;
	transition: background-color .15s ease, color .15s ease;
}
.zk-lp-modal__close:hover { background: #e6e8e1 !important; color: var(--zk-ink, #23291c) !important; }
.zk-lp-modal__close:focus-visible { outline: 2px solid var(--zk-green-dark, #487214); outline-offset: 2px; }
.zk-lp-modal__field span em { font-style: normal; font-weight: 400; color: var(--zk-muted, #5b6152); }
.zk-lp-modal__title { font-size: 1.3rem; font-weight: 800; margin: 0 0 .4rem; color: var(--zk-ink, #23291c); }
.zk-lp-modal__lead { font-size: .95rem; color: var(--zk-muted, #5b6152); margin: 0 0 1.1rem; }
.zk-lp-modal__form { display: grid; gap: .7rem; }
.zk-lp-modal__field { display: grid; gap: .25rem; font-size: .85rem; font-weight: 600; color: var(--zk-ink, #23291c); }
.zk-lp-modal__field input {
	padding: .7rem .8rem; border: 1.5px solid var(--zk-line, #e6e8e1);
	border-radius: var(--zk-r-control, 8px); font: inherit; color: var(--zk-ink, #23291c);
}
.zk-lp-modal__field input:focus-visible { outline: 2px solid var(--zk-green-dark, #487214); outline-offset: 1px; border-color: var(--zk-green-dark, #487214); }
.zk-lp-modal__form .zk-ui-btn { width: 100%; margin-top: .2rem; }
.zk-lp-modal__msg { margin: .2rem 0 0; font-size: .9rem; min-height: 1.2em; }
.zk-lp-modal__msg.is-ok { color: var(--zk-green-dark, #487214); font-weight: 600; }
.zk-lp-modal__msg.is-error { color: var(--zk-red, #c0392b); font-weight: 600; }
.zk-lp-modal__alt { margin: 1rem 0 0; font-size: .85rem; color: var(--zk-muted, #5b6152); }
.zk-lp-modal__alt a { color: var(--zk-green-dark, #487214); }
@media (prefers-reduced-motion: no-preference) {
	.zk-lp-modal[open] { animation: zk-lp-modal-in .18s ease; }
	@keyframes zk-lp-modal-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
}
