@charset "UTF-8";

/**
 * Poppy Forms - styl frontu.
 *
 * Celowo minimalny. Kolory, kroje i zaokraglenia dziedziczy po motywie,
 * zeby formularz wygladal tak samo na kazdej z witryn bez dopisywania stylow.
 */

.pfrm-form {
	max-width: 100%;
}

.pfrm-field {
	margin: 0 0 1.3em;
}

.pfrm-field label {
	display: block;
	margin-bottom: 0.35em;
}

.pfrm-field input,
.pfrm-field select,
.pfrm-field textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	color: inherit;
}

/* Zgoda jest akapitem, a motywy nadaja akapitom wlasny odstep regula
   w rodzaju .entry-content p, ktora ma wyzsza specyficznosc niz sama klasa.
   Stad selektor z elementem: bez niego odstepy zostawaly motywowe i formularz
   z dwiema pelnymi klauzulami RODO rozjezdzal sie na pol ekranu. */
.pfrm-form p.pfrm-consent {
	margin: 0 0 0.45em;
	font-size: 0.75em;
	line-height: 1.45;
}

.pfrm-form p.pfrm-consent:first-of-type {
	margin-top: 0.2em;
}

.pfrm-form p.pfrm-consent label,
.pfrm-form p.pfrm-consent span {
	margin: 0;
}

.pfrm-consent label {
	display: flex;
	align-items: flex-start;
	gap: 0.5em;
}

.pfrm-consent input {
	margin-top: 0.25em;
	flex: 0 0 auto;
}

/* Etykiety ukryte: formularz jest nizszy, ale etykieta zostaje w kodzie
   i czyta ja czytnik ekranu. Usuniecie jej calkiem zostawiloby pole
   bez opisu dla osoby niewidomej i psulo autouzupelnianie przegladarki. */
.pfrm-form.pfrm-no-labels .pfrm-field label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.pfrm-form.pfrm-no-labels .pfrm-field {
	margin-bottom: 0.75em;
}

/* Informacja o administratorze danych pod formularzem. Mniejsza i przygaszona,
   ale nie na tyle, zeby byla nieczytelna. */
.pfrm-form + .pfrm-note,
.pfrm-note {
	margin: 0.9em 0 0;
	font-size: 0.72em;
	line-height: 1.5;
	opacity: 0.85;
}

.pfrm-note summary {
	cursor: pointer;
	list-style: none;
}

.pfrm-note summary::-webkit-details-marker {
	display: none;
}

/* Znacznik rozwijania dopisany tekstem, zeby nie zalezec od domyslnej
   strzalki przegladarki, ktora kazdy silnik rysuje inaczej. */
/* Napis rozwijaka przychodzi z HTML. Bez tych regul widoczne byly oba naraz:
   "pokaz wiecej zwin". */
.pfrm-note summary .pfrm-note-more,
.pfrm-note summary .pfrm-note-less {
	text-decoration: underline;
	white-space: nowrap;
	opacity: 0.85;
}

.pfrm-note summary .pfrm-note-less,
.pfrm-note details[open] summary .pfrm-note-more {
	display: none;
}

.pfrm-note details[open] summary .pfrm-note-less {
	display: inline;
}

.pfrm-note-body {
	margin-top: 0.5em;
}

.pfrm-note-body p {
	margin: 0 0 0.5em;
}

/* Pole-wabik. Poza ekranem, a nie display:none, bo czesc automatow
   pomija pola calkowicie ukryte. */
.pfrm-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Przycisk na pelna szerokosc kolumny, w ktorej stoi formularz. Pola sa
   szerokie na 100%, wiec przycisk wezszy od nich wyglada jak niedokonczony
   uklad, a na telefonie jest dodatkowo mniejszym celem do trafienia. */
.pfrm-form button.pfrm-submit {
	font: inherit;
	cursor: pointer;
	margin: 0.7em 0 0;
	width: 100%;
	/* Na szerokiej kolumnie przycisk rozciagniety na cala szerokosc przestaje
	   wygladac jak przycisk, wiec 300px jest granica. Wezsza kolumna nadal
	   dostaje pelna szerokosc, bo width ma pierwszenstwo dopiero powyzej. */
	max-width: 300px;
	box-sizing: border-box;
	text-align: center;
}

/* Pole wymagane, ktorego czlowiek nie wypelnil. */
/* Zawezone do wnetrza formularza: gdyby klasa wyladowala na samym elemencie
   form, czerwona obwodke dostalyby wszystkie pola naraz. */
.pfrm-form .pfrm-invalid input,
.pfrm-form .pfrm-invalid select,
.pfrm-form .pfrm-invalid textarea {
	border-color: #b32d2e;
	box-shadow: 0 0 0 1px #b32d2e;
}

.pfrm-error-msg {
	display: block;
	margin-top: 5px;
	color: #b32d2e;
	font-size: 0.85em;
	font-weight: 600;
}

.pfrm-required {
	color: #b32d2e;
	font-weight: 700;
	white-space: nowrap;
}

.pfrm-counter {
	display: block;
	margin-top: 5px;
	text-align: right;
	font-size: 0.78em;
	opacity: 0.65;
}

.pfrm-counter.pfrm-counter-limit {
	color: #b32d2e;
	opacity: 1;
	font-weight: 600;
}

/* Widoczne tylko wtedy, gdy skrypt sie nie wykonal - `bind()` usuwa ten
   akapit razem z blokada przycisku. */
.pfrm-form p.pfrm-nojs,
.pfrm-nojs {
	margin: 0.6em 0 0;
	font-size: 0.9em;
	color: #b32d2e;
}

.pfrm-submit[disabled] {
	opacity: 0.6;
	cursor: default;
}

.pfrm-form p.pfrm-status,
.pfrm-status {
	margin: 0.6em 0 0;
	min-height: 1.2em;
}

.pfrm-status:empty {
	display: none;
}

.pfrm-status.pfrm-error {
	color: #b32d2e;
}

.pfrm-status.pfrm-ok {
	color: #1a7f37;
}
