/* Formularze fundacji: wygląd niezależny od wersji motywu.
   Kolory biorą zmienne motywu (--pbt-*), a gdy ich nie ma, wartości zapasowe. */
.pbt-form__form { display: grid; gap: 18px; margin: 0; }
.pbt-form__fields { display: grid; gap: 16px; }
.pbt-form__field { display: grid; gap: 8px; margin: 0; }
.pbt-form__label {
	font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase;
	color: var(--pbt-soft, rgba(29, 26, 36, .55));
}
.pbt-form__req { color: var(--pbt-accent-soft, #b9491a); }
.pbt-form__form input:not([type="checkbox"]):not([type="hidden"]),
.pbt-form__form textarea {
	display: block; width: 100%; box-sizing: border-box; margin: 0;
	padding: 13px 16px; border-radius: var(--pbt-r-sm, 14px);
	border: 1px solid var(--pbt-line, rgba(29, 26, 36, .14));
	background: var(--pbt-field, #fff); color: var(--pbt-ink, #1d1a24);
	font: inherit; font-size: 15px; line-height: 1.5; transition: border-color .25s;
}
.pbt-form__form input::placeholder, .pbt-form__form textarea::placeholder { color: var(--pbt-soft, rgba(29, 26, 36, .45)); opacity: 1; }
.pbt-form__form input:focus, .pbt-form__form textarea:focus { border-color: var(--pbt-accent, #ff7a45); outline: none; }
.pbt-form__form textarea { resize: vertical; min-height: 140px; }

.pbt-form__consent {
	display: flex; gap: 10px; align-items: flex-start; margin: 0;
	font-size: 13.5px; line-height: 1.6; text-transform: none; letter-spacing: 0;
	color: var(--pbt-muted, rgba(29, 26, 36, .7)); cursor: pointer;
}
.pbt-form__consent input[type="checkbox"] { flex: none; width: 16px; height: 16px; margin: 3px 0 0; accent-color: var(--pbt-accent, #ff7a45); }

.pbt-form__submit {
	display: block; width: 100%; margin: 4px 0 0; padding: 15px; border: 0; border-radius: var(--pbt-r-sm, 14px);
	background: var(--pbt-accent, #ff7a45); color: var(--pbt-on-accent, #16141c);
	font: inherit; font-size: 14.5px; font-weight: 500; cursor: pointer; transition: transform .25s, box-shadow .25s;
}
.pbt-form__submit:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(255, 122, 69, .3); }
.pbt-form__submit:focus-visible { outline: 2px solid var(--pbt-accent, #ff7a45); outline-offset: 3px; }

/* pole pułapka na boty: poza ekranem, niewidoczne dla ludzi i czytników */
.pbt-form__trap { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.pbt-form__msg { margin: 0; padding: 14px 16px; border-radius: var(--pbt-r-sm, 14px); font-size: 14.5px; line-height: 1.6; }
.pbt-form__msg--ok { background: var(--pbt-accent-tint, rgba(255, 122, 69, .14)); color: var(--pbt-accent-soft, #b9491a); }
.pbt-form__msg--err { background: rgba(220, 60, 60, .12); color: #b42323; }
:root[data-theme="dark"] .pbt-form__msg--err { color: #ff8a8a; }

.pbt-form__turnstile { min-height: 65px; }
