/* Walidator raportu. Kolory i font z zestawu Elementora strony (E2-S4); akcent i tło kart z zestawu "WUD SBS" (vamtam_*). Przycisk "Sprawdź raport" bierze rozmiar, kolory i najechanie z przycisków zestawu (E2-T23), karty jak kontenery strony. */
.wudw {
	--wudw-text: var(--e-global-color-text, #203e71);
	--wudw-heading: var(--e-global-color-primary, #173465);
	--wudw-action: var(--e-global-color-vamtam_accent_2, #2e44a5);
	--wudw-muted: var(--e-global-color-text, #4a5c7a);
	--wudw-line: #dcdcdd;
	--wudw-field: #888e99;
	--wudw-soft: var(--e-global-color-vamtam_accent_4, #f0f2f8);
	--wudw-ok: #1b7a12;
	--wudw-ok-bg: #f5fff2;
	--wudw-ostrzezenie: #8a5300;
	--wudw-ostrzezenie-bg: #fff9f0;
	--wudw-blad: #b42318;
	--wudw-blad-bg: #fff1f0;
	--wudw-pominieto: #4a5c7a;
	--wudw-pominieto-bg: #f0f2f8;
	color: var(--wudw-text);
	font-family: var(--e-global-typography-text-font-family, "Poppins"), sans-serif;
	font-size: 16px;
	line-height: 1.6;
}

.wudw [hidden] {
	display: none !important;
}

/* Zestaw "WUD SBS" stylizuje label i input własnymi regułami (input z :not() ma szczegółowość 0,3,1, focus 0,4,1); wyższe selektory zostawiają pole jak przy zestawie 19. */
.wudw .wudw-label {
	display: block;
	color: var(--wudw-heading);
	font: inherit;
	font-weight: 500;
	text-transform: none;
}

.wudw-hint {
	margin: 2px 0 12px;
	color: var(--wudw-muted);
	font-size: 14px;
}

.wudw-row {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.wudw .wudw-form .wudw-row .wudw-input {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 48px;
	margin: 0;
	padding: 0 20px;
	border: 1px solid var(--wudw-field);
	border-radius: 50px;
	background: #fff;
	color: var(--wudw-text);
	font: inherit;
}

.wudw .wudw-form .wudw-row .wudw-input[aria-invalid="true"] {
	border-color: var(--wudw-blad);
}

/* "Sprawdź raport" to <button>, więc rozmiar, promień, ramkę, font i kolory (także najechanie) daje reguła przycisków zestawu; tu tylko układ ze spinnerem. */
.wudw .wudw-button,
.wudw .wudw-button-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}

/* Drugi przycisk bywa linkiem <a>, którego reguła przycisków zestawu nie obejmuje. */
.wudw .wudw-button-secondary {
	min-height: 49px;
	padding: 10px 36px;
	border-radius: 50px;
	font: inherit;
	font-weight: var(--e-global-typography-8584d37-font-weight, 400);
	line-height: 29px;
}

.wudw .wudw-button:disabled {
	background: var(--wudw-heading);
	cursor: progress;
}

.wudw .wudw-button-secondary {
	margin-top: 8px;
	border: 1px solid var(--wudw-action);
	background: #fff;
	color: var(--wudw-action);
}

.wudw .wudw-button-secondary:hover {
	background: var(--wudw-soft);
	color: var(--wudw-action);
}

.wudw .wudw-input:focus-visible,
.wudw .wudw-button:focus-visible,
.wudw .wudw-button-secondary:focus-visible {
	outline: 3px solid var(--wudw-action);
	outline-offset: 2px;
}

/* Nagłówek wyniku dostaje fokus z JS tylko po to, żeby czytnik ekranu zaczął od wyniku; nie jest elementem do klikania. */
.wudw .wudw-wynik-naglowek:focus {
	outline: none;
}

.wudw-spinner {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: wudw-spin 0.8s linear infinite;
}

.wudw.is-loading .wudw-spinner {
	display: inline-block;
}

@keyframes wudw-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.wudw-spinner {
		animation: none;
		border-right-color: currentColor;
	}

	.wudw .wudw-button,
	.wudw .wudw-button-secondary {
		transition: none;
	}
}

.wudw-field-error {
	margin: 0 0 12px;
	color: var(--wudw-blad);
	font-size: 15px;
}

.wudw-status:not(:empty) {
	margin-top: 16px;
}

.wudw-status-tekst {
	margin: 0;
	color: var(--wudw-muted);
}

.wudw-status[data-status] .wudw-status-tekst {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 10px;
	color: var(--wudw-s);
}

.wudw-wynik {
	margin-top: 24px;
}

.wudw .wudw-wynik-naglowek {
	margin: 0 0 4px;
	color: var(--wudw-heading);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4;
	overflow-wrap: break-word;
}

.wudw .wudw-wynik-zastrzezenie {
	margin: 0;
	color: var(--wudw-muted);
	font-size: 14px;
}

.wudw-grupa {
	margin-top: 16px;
	padding: 16px;
	border: 1px solid var(--wudw-line);
	border-radius: 10px;
	background: #fff;
}

.wudw-grupa-header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.wudw .wudw-grupa-nazwa {
	margin: 0;
	color: var(--wudw-heading);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
}

.wudw-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 2px 12px;
	border-radius: 50px;
	font-size: 14px;
	font-weight: 600;
}

.wudw-icon {
	flex: none;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.wudw-badge .wudw-icon {
	width: 16px;
	height: 16px;
}

.wudw .wudw-lista {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.wudw-item {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 10px;
	padding: 12px 0;
	border-top: 1px solid var(--wudw-soft);
}

/* Środek ikony na wysokości etykiety statusu (20 px ikona, etykieta 13 px x 1.4). */
.wudw-item > .wudw-icon {
	margin-top: -1px;
}

.wudw-item-status {
	display: block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.wudw .wudw-item-tekst {
	margin: 2px 0 0;
	overflow-wrap: anywhere;
}

.wudw .wudw-szczegoly {
	margin: 6px 0 0;
	padding-left: 18px;
	color: var(--wudw-muted);
	font-size: 14px;
	overflow-wrap: anywhere;
}

.wudw [data-status="ok"] {
	--wudw-s: var(--wudw-ok);
	--wudw-s-bg: var(--wudw-ok-bg);
}

.wudw [data-status="ostrzezenie"] {
	--wudw-s: var(--wudw-ostrzezenie);
	--wudw-s-bg: var(--wudw-ostrzezenie-bg);
}

.wudw [data-status="blad"] {
	--wudw-s: var(--wudw-blad);
	--wudw-s-bg: var(--wudw-blad-bg);
}

.wudw [data-status="pominieto"] {
	--wudw-s: var(--wudw-pominieto);
	--wudw-s-bg: var(--wudw-pominieto-bg);
}

/* Werdykt OK, ale coś pominięto: kolor OK na tle POMINIĘTO, żeby nie wyglądało jak pełne OK. */
.wudw [data-status="ok_z_pominieciami"] {
	--wudw-s: var(--wudw-ok);
	--wudw-s-bg: var(--wudw-pominieto-bg);
}

.wudw-badge {
	background: var(--wudw-s-bg);
	color: var(--wudw-s);
}

.wudw-item > .wudw-icon,
.wudw-item-status,
.wudw-status .wudw-icon {
	color: var(--wudw-s);
}

.wudw-podsumowanie {
	margin-top: 16px;
	padding: 16px;
	border: 1px solid var(--wudw-line);
	border-radius: 10px;
	background: #fff;
}

.wudw .wudw-podsumowanie-tekst {
	margin: 8px 0 0;
}

.wudw .wudw-podsumowanie-liczby {
	margin: 8px 0 0;
	color: var(--wudw-muted);
	font-size: 14px;
}

.wudw .wudw-podsumowanie-grupy {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.wudw-podsumowanie-grupy li {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	padding: 0 0 10px;
	border-top: 1px solid var(--wudw-soft);
}

/* .wudw z przodu: reguły "a" zestawu Elementora (.elementor-kit-19 a) ładują się później i zdejmują podkreślenie. */
.wudw .wudw-podsumowanie-grupy a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--wudw-action);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wudw .wudw-legenda {
	margin: 0;
	padding: 12px 0 0;
	border-top: 1px solid var(--wudw-soft);
	color: var(--wudw-muted);
	font-size: 14px;
	list-style: none;
}

.wudw-legenda li + li {
	margin-top: 6px;
}

.wudw-legenda strong {
	color: var(--wudw-text);
	font-weight: 600;
}

.wudw-bar {
	display: block;
	height: 12px;
	margin-top: 14px;
	border-radius: 6px;
	background: var(--wudw-soft);
}

.wudw-bar-short {
	width: 60%;
}

.wudw-cta {
	margin-top: 16px;
	padding: 16px;
	border-radius: 10px;
	background: var(--wudw-soft);
}

.wudw .wudw-cta-tekst {
	margin: 0;
}

.wudw .wudw-cta .wudw-button-secondary,
.wudw .wudw-status .wudw-button-secondary {
	box-sizing: border-box;
	width: 100%;
	margin-top: 12px;
	text-decoration: none;
	white-space: normal;
	text-align: center;
}

.wudw-wymagania,
.wudw-zastrzezenie {
	color: var(--wudw-muted);
	font-size: 14px;
}

.wudw-wymagania {
	margin: 16px 0 0;
}

.wudw-wymagania + .wudw-wymagania {
	margin-top: 4px;
}

.wudw-zastrzezenie {
	margin: 24px 0 0;
}

@media (min-width: 600px) {
	.wudw-row {
		flex-direction: row;
	}

	/* Szerokość na "Sprawdzamy (45 s)", żeby pole nie skakało przy starcie ładowania. */
	.wudw .wudw-button {
		min-width: 272px;
	}

	.wudw-grupa-header,
	.wudw-podsumowanie-grupy li {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}

	.wudw-podsumowanie-grupy li {
		padding: 0;
	}

	.wudw .wudw-cta .wudw-button-secondary,
	.wudw .wudw-status .wudw-button-secondary {
		width: auto;
	}

	.wudw-grupa,
	.wudw-podsumowanie {
		padding: 20px 24px;
	}
}
