/* NetGonet Formularze. Kolory z palety motywu Kadence (zmienne --global-palette*), z zapasowymi wartościami.
   Wygląd konkretnego formularza zmienia się zmiennymi --ngf-* na .ngf-{id} albo klasą z definicji ("klasa"). */
.ngf {
	--ngf-akcent: var(--global-palette1, #0066ff);
	--ngf-akcent-hover: var(--global-palette2, #0052cc);
	--ngf-tekst: var(--global-palette3, #1a202c);
	--ngf-tekst-2: var(--global-palette5, #4a5568);
	--ngf-linia: var(--global-gray-400, #cbd2d9);
	--ngf-tlo-pola: var(--global-palette9, #ffffff);
	--ngf-blad: #b42318;
	--ngf-ok: #146c2e;
	--ngf-promien: 8px;
	--ngf-odstep: 16px;
	color: var(--ngf-tekst);
}
.ngf-form { margin: 0; }
.ngf-siatka { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ngf-odstep) 16px; }
.ngf-pole { grid-column: 1 / -1; min-width: 0; margin: 0; padding: 0; border: 0; }
.ngf-pole.ngf-pol { grid-column: span 1; }
@media (max-width: 600px) { .ngf-pole.ngf-pol { grid-column: 1 / -1; } }

.ngf-etykieta { display: block; font-weight: 600; font-size: 0.95em; margin: 0 0 6px; padding: 0; }
.ngf-gw { color: var(--ngf-blad); }
.ngf input[type="text"], .ngf input[type="email"], .ngf input[type="tel"], .ngf input[type="url"],
.ngf input[type="number"], .ngf select, .ngf textarea {
	display: block; width: 100%; box-sizing: border-box; margin: 0;
	padding: 12px 14px; font: inherit; font-size: 16px; line-height: 1.4; /* 16px: telefon nie powiększa strony */
	color: var(--ngf-tekst); background: var(--ngf-tlo-pola);
	border: 1px solid var(--ngf-linia); border-radius: var(--ngf-promien);
}
.ngf textarea { min-height: 140px; resize: vertical; }
.ngf input:focus-visible, .ngf select:focus-visible, .ngf textarea:focus-visible {
	outline: 2px solid var(--ngf-akcent); outline-offset: 1px; border-color: var(--ngf-akcent);
}
.ngf [aria-invalid="true"] { border-color: var(--ngf-blad); }

.ngf-opcje { display: flex; flex-direction: column; gap: 8px; }
.ngf-opcja, .ngf-zaznacz { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; cursor: pointer; line-height: 1.5; }
.ngf-opcja input, .ngf-zaznacz input { flex: 0 0 auto; width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--ngf-akcent); }
.ngf-pole-zgoda .ngf-zaznacz { font-size: 0.875em; color: var(--ngf-tekst-2); }
.ngf-zaznacz a { color: var(--ngf-akcent); text-decoration: underline; }

.ngf-pomoc { margin: 6px 0 0; font-size: 0.85em; color: var(--ngf-tekst-2); }
.ngf-blad { margin: 6px 0 0; font-size: 0.875em; color: var(--ngf-blad); }
.ngf-blad[hidden] { display: none; }

.ngf-stopka { margin-top: calc(var(--ngf-odstep) + 4px); }
.ngf-przycisk {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 12px 28px; font: inherit; font-weight: 700; font-size: 1em;
	color: #fff; background: var(--ngf-akcent); border: 0; border-radius: var(--ngf-promien); cursor: pointer;
}
.ngf-przycisk:hover { background: var(--ngf-akcent-hover); }
.ngf-przycisk:focus-visible { outline: 3px solid var(--ngf-akcent); outline-offset: 2px; }
.ngf-przycisk[disabled] { opacity: 0.7; cursor: progress; }
.ngf-wysylanie .ngf-przycisk::after {
	content: ""; width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%;
	animation: ngf-obrot 0.8s linear infinite;
}
@keyframes ngf-obrot { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ngf-wysylanie .ngf-przycisk::after { animation: none; } }

.ngf-status:empty { display: none; }
.ngf-status { margin: 12px 0 0; font-weight: 600; }
.ngf-status-blad { color: var(--ngf-blad); }
.ngf-sukces { margin: 0; padding: 16px 18px; border-radius: var(--ngf-promien); background: #e8f5ec; color: var(--ngf-ok); font-weight: 600; }
.ngf-recaptcha-info { margin: 12px 0 0; font-size: 0.75em; color: var(--ngf-tekst-2); }
.ngf-recaptcha-info a { color: inherit; }
.ngf-uwaga { padding: 10px 12px; border: 1px dashed var(--ngf-blad, #b42318); color: #b42318; }

/* Pułapka na boty: poza ekranem, niewidoczna dla czytników. */
.ngf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
/* Plakietka reCAPTCHA ukryta, bo informacja jest pod formularzem (zgodnie z zasadami Google). */
.grecaptcha-badge { visibility: hidden; }
