/*
 * Formularze — WYŁĄCZNIE to, co jest naprawdę specyficzne dla MECHANIZMU tej
 * wtyczki (Zadanie 13, rozstrzygnięcie kontrolera 1). Prymitywy wizualne
 * `.s-form__*` (pole, etykieta, tytuł, komunikat błędu, notice, przycisk)
 * PRZENIESIONE do base-theme/css/base.css, część „3c. Formularz" — pełne
 * uzasadnienie i pomiar kaskady stoją TAM, nie tutaj: nazwa bezprefiksowa
 * `.s-form__*` jest sygnaturą prymitywu współdzielonego
 * (docs/CONVENTIONS.md §1), dokładnie jak `.s-card`/`.s-badge`, i wyglądałaby
 * identycznie na dowolnym formularzu HTML tego motywu, wtyczkowym czy nie.
 *
 * Jedyna reguła, która zostaje TUTAJ: ukrycie pola-pułapki (honeypota). To
 * jest naprawdę specyficzne dla mechanizmu tej wtyczki — pole-pułapka istnieje
 * WYŁĄCZNIE dlatego, że forms/inc/render.php je renderuje jako część
 * zabezpieczenia przed botami (docs/forms.md); blok bez tej wtyczki nie ma
 * tego pola i nie ma czego tu ukrywać. Nie `display: none` (bot sprawdzający
 * widoczność powierzchownie ma go dalej „widzieć" — rozstrzygnięcie
 * kontrolera 7, brief Zadania 12), ale poza dostępnością i klawiaturą przez
 * atrybuty w markupie (forms/inc/render.php: `aria-hidden="true"` +
 * `tabindex="-1"`).
 *
 * MIEJSCE W KONTRAKCIE KASKADY: forms/inc/render.php,
 * agency_forms_enqueue_assets() kolejkuje ten plik na priorytecie 15 — między
 * agency-base (10) a arkuszami bloków (20); powód pełny tam, nie powtórzony
 * tutaj. Priorytet zostaje bez zmian mimo przenosin wyżej: `.s-form__honeypot`
 * nie koliduje z żadną regułą w base.css (nikt inny go tam nie definiuje), więc
 * kolejność względem bazy nie ma tu żadnego efektu — 15 stoi z powodów przy
 * `agency_forms_enqueue_assets()`, nie z powodu tej jednej reguły.
 */

:where(.s-form__honeypot) {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/*
 * Komunikat sukcesu trybu `success.type: inline` (forms/js/submit.js, gdy
 * strona nie pokazała własnego podziękowania) — `.s-form__notice` z bazy
 * z klasą `is-success`. Neutralny: wyłącznie tokeny słownika, bez koloru
 * „sukcesu”, którego słownik nie ma; mocniejsza linia odróżnia go od
 * komunikatu awarii. Skóra strony nadpisuje go jak każdy prymityw.
 */
:where(.s-form__notice.is-success) {
	border-color: var(--s-line-strong);
	background-color: var(--s-surface-card);
}
