/* gcb/donation-form — UI formularza wpłat i sandboxa Przelewy24 */

.gcb-donation-form [hidden] {
	display: none !important;
}

.gcb-donation-form .gdf-form {
	margin: 0;
}

.gcb-donation-form .gdf-step:focus {
	outline: none;
}

.gcb-donation-form.is-centered .donation-brief,
.gcb-donation-form.is-centered .donation-content {
	margin-left: auto;
	margin-right: auto;
}

.gcb-donation-form.is-centered .donation-brief {
	text-align: center;
}

.gcb-donation-form .gdf-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* Główne zakładki — jeden połączony tabstrip, nie dwa pillsy. */
.gcb-donation-form .gdf-primary-tabs {
	display: flex;
	gap: 0;
	margin: 0 0 1.75rem;
	border-bottom: 2px solid #d9d9d9;
}

.gcb-donation-form .gdf-primary-tabs .gdf-tab {
	flex: 1 1 50%;
	margin: 0 0 -2px;
	padding: 0.85rem 1.25rem 0.75rem;
	border: 0;
	border-bottom: 4px solid transparent;
	border-radius: 0;
	background: transparent;
	color: #5d5d5d;
	font: inherit;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.25;
	text-transform: none;
	cursor: pointer;
}

.gcb-donation-form .gdf-primary-tabs .gdf-tab.is-active {
	border-bottom-color: #ea4d7f;
	background: rgba(234, 77, 127, 0.055);
	color: #a41546;
}

/* Wszystkie propozycje wraz z "dowolną kwotą" w jednym rzędzie na desktopie. */
.gcb-donation-form .gdf-amounts {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

.gcb-donation-form .gdf-amount {
	box-sizing: border-box;
	min-width: 0;
	margin: 0;
	padding: 0.55rem 0.65rem;
	border: 2px solid #ea4d7f;
	border-radius: 999px;
	background: #fff;
	color: #a41546;
	font: inherit;
	font-size: 0.82em;
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.35;
	text-align: center;
	text-transform: lowercase;
	cursor: pointer;
}

.gcb-donation-form .gdf-amount.is-active {
	background: #ea4d7f;
	color: #fff;
}

.gcb-donation-form .gdf-amount-custom {
	display: flex;
	align-items: center;
	justify-content: center;
}

.gcb-donation-form .gdf-amount-custom input.gdf-custom-input[type="number"] {
	box-sizing: border-box;
	min-width: 0;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	-moz-appearance: textfield;
}

.gcb-donation-form .gdf-amount-custom.is-active input.gdf-custom-input[type="number"] {
	/* The theme applies a gray input color with !important. */
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	caret-color: #fff;
}

.gcb-donation-form .gdf-amount-custom input::placeholder {
	color: inherit;
	opacity: 0.85;
}

.gcb-donation-form .gdf-amount-custom input::-webkit-outer-spin-button,
.gcb-donation-form .gdf-amount-custom input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.gcb-donation-form .gdf-description {
	min-height: 1.5em;
	margin-bottom: 1.25rem;
	font-size: 1.05em;
}

.gcb-donation-form .gdf-error {
	margin: 0 0 1.25rem;
	padding-left: 1rem;
	border-left: 3px solid #c82020;
	color: #9e1515;
	font-size: 0.9em;
}

/* CTA pierwszego kroku jest po lewej. */
.gcb-donation-form .gdf-actions {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 1rem;
	margin-top: 1.5rem;
}

.gcb-donation-form .gdf-actions-split {
	justify-content: flex-start;
}

.gcb-donation-form .gdf-actions .fancy {
	font-size: 1.05em;
}

.gcb-donation-form .gdf-back {
	padding: 0.5em 0;
	border: 0;
	background: transparent;
	color: #666;
	font-weight: 400;
	letter-spacing: normal;
	text-transform: none;
	cursor: pointer;
}

.gcb-donation-form .gdf-back:hover,
.gcb-donation-form .gdf-back:focus {
	color: #0279b0;
	background: transparent;
}

.gcb-donation-form .gdf-summary {
	margin-bottom: 1.25rem;
	font-size: 1.05em;
}

.gcb-donation-form .gdf-group {
	min-width: 0;
	margin: 0 0 0.5rem;
	padding: 0;
	border: 0;
}

.gcb-donation-form .gdf-group legend {
	margin-bottom: 0.5em;
	padding: 0;
	color: #a41546;
	font-weight: 700;
}

.gcb-donation-form .gdf-fields {
	margin: 0 0 0.5rem;
}

.gcb-donation-form .gdf-manual-note {
	margin: 0.75rem 0 0;
	font-size: 0.95em;
}

.gcb-donation-form .gdf-declaration-status {
	margin-top: 1rem;
}

.gcb-donation-form .gdf-declaration-status.is-error {
	color: #a41546;
}

.gcb-donation-form .g-form .form-data {
	margin-bottom: 1.25rem;
}

.gcb-donation-form .g-form .form-control.full-span {
	flex-basis: 100%;
	width: 100%;
}

.gcb-donation-form .g-form .form-control input:not([type="checkbox"]) {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	line-height: 1.25;
}

.gcb-donation-form .g-form .form-control .error-message:not([hidden]) {
	display: block;
	margin-top: 0.35em;
}

.gcb-donation-form .gdf-consents .form-rodo {
	margin-bottom: 0.6em;
}

.gcb-donation-form .gdf-payment-heading {
	margin: 0 0 1rem;
	font-size: 1.18em;
	font-weight: 700;
}

.gcb-donation-form .gdf-payment-summary {
	display: grid;
	gap: 0.4rem;
	margin: 0 0 1.5rem;
	padding: 1rem 1.15rem;
	border: 1px solid #dedede;
	border-radius: 0.5rem;
	background: #fafafa;
}

.gcb-donation-form .gdf-payment-summary > div {
	display: grid;
	grid-template-columns: minmax(12rem, auto) 1fr;
	gap: 0.75rem;
}

.gcb-donation-form .gdf-payment-summary dt {
	font-weight: 700;
}

.gcb-donation-form .gdf-payment-summary dd {
	margin: 0;
}

.gcb-donation-form .gdf-secondary-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin-bottom: 1.15rem;
	border-bottom: 1px solid #d6d6d6;
}

.gcb-donation-form .gdf-secondary-tabs .gdf-ptab {
	margin: 0 0 -1px;
	padding: 0.55rem 0.8rem;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	background: transparent;
	color: #555;
	font: inherit;
	font-size: calc(0.8em + 1.3333px);
	font-weight: 600;
	letter-spacing: normal;
	text-transform: none;
	cursor: pointer;
}

.gcb-donation-form .gdf-secondary-tabs .gdf-ptab.is-active {
	border-bottom-color: #ea4d7f;
	color: #a41546;
}

/* Polecenie zapłaty / zlecenie stałe: zwykła waga, także aktywne. */
.gcb-donation-form .gdf-secondary-tabs .gdf-ptab[data-ptab="direct_debit"],
.gcb-donation-form .gdf-secondary-tabs .gdf-ptab[data-ptab="standing_order"] {
	font-weight: 400;
}

/* Metody są kompaktowymi przełącznikami, nie dużymi pillsami. */
.gcb-donation-form .gdf-methods {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-bottom: 1rem;
}

.gcb-donation-form .gdf-method {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	padding: 0.5rem 0.8rem;
	border: 1px solid #a8a8a8;
	border-radius: 0.35rem;
	background: #fff;
	color: #444;
	font: inherit;
	font-size: calc(0.78em + 1.3333px);
	font-weight: 650;
	letter-spacing: normal;
	line-height: 1.3;
	text-transform: none;
	cursor: pointer;
}

.gcb-donation-form .gdf-blik-logo {
	display: block;
	width: 42px;
	height: 20px;
	object-fit: contain;
}

/* Visa / Mastercard przed etykietą karty, białe tło także na aktywnej. */
.gcb-donation-form .gdf-card-logos {
	display: inline-flex;
	gap: 0.25rem;
}

.gcb-donation-form .gdf-card-logo {
	display: block;
	width: 36px;
	height: 24px;
	padding: 1px 3px;
	border-radius: 3px;
	background: #fff;
	object-fit: contain;
}

/* Kontener oficjalnego formularza karty P24 (poza <form>). */
.gcb-donation-form .gdf-card {
	margin-top: 1rem;
}

.gcb-donation-form .gdf-card-slot {
	min-height: 1px;
}


.gcb-donation-form .gdf-method.is-active {
	border-color: #a41546;
	background: #a41546;
	color: #fff;
}

.gcb-donation-form .gdf-method:disabled,
.gcb-donation-form .gdf-secondary-tabs button:disabled {
	cursor: not-allowed;
	opacity: 0.55;
}

/* Zakładki bez ramek/obrysów (także z motywu); fokus: podkreślenie + tło. */
.gcb-donation-form .gdf-primary-tabs .gdf-tab,
.gcb-donation-form .gdf-primary-tabs .gdf-tab:focus,
.gcb-donation-form .gdf-secondary-tabs .gdf-ptab,
.gcb-donation-form .gdf-secondary-tabs .gdf-ptab:focus {
	outline: none;
	box-shadow: none;
}

.gcb-donation-form .gdf-primary-tabs .gdf-tab:focus-visible,
.gcb-donation-form .gdf-secondary-tabs .gdf-ptab:focus-visible {
	background: rgba(234, 77, 127, 0.1);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.gcb-donation-form .gdf-method:focus-visible,
.gcb-donation-form .gdf-amount:focus-visible {
	outline: 3px solid #0298dd;
	outline-offset: 2px;
}

.gcb-donation-form .gdf-blik {
	max-width: 20rem;
	margin-bottom: 1rem;
}

.gcb-donation-form .gdf-blik-hint {
	display: block;
	margin-bottom: 0.55rem;
	font-size: 0.82em;
	line-height: 1.4;
}

.gcb-donation-form .gdf-blik input.gdf-blik-input {
	box-sizing: content-box;
	width: 7ch;
	max-width: 100%;
	font-size: 1.25em;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.16em;
	text-align: center;
}

.gcb-donation-form .gdf-recurring-banks {
	margin: 0 0 1.25rem;
	padding: 0.75rem 0.9rem;
	border-left: 3px solid #0298dd;
	background: rgba(2, 152, 221, 0.06);
	font-size: 0.82em;
	line-height: 1.45;
}

.gcb-donation-form .gdf-recurring-banks a {
	color: #0279b0;
	text-decoration: underline;
}

.gcb-donation-form .gdf-consents .form-rodo label a {
	color: #a41546;
	text-decoration: underline;
}

.gcb-donation-form .gdf-info {
	margin-bottom: 1.25rem;
	padding: 1em 1.25em;
	border-left: 3px solid #ea4d7f;
	background: rgba(234, 77, 127, 0.06);
}

.gcb-donation-form .gdf-info p:last-child {
	margin-bottom: 0;
}

.gcb-donation-form .gdf-payment-status {
	margin-top: 1.25rem;
	padding: 0.85rem 1rem;
	border: 1px solid #9abbd0;
	border-radius: 0.4rem;
	background: #eef8fd;
	color: #194d69;
}

.gcb-donation-form .gdf-payment-status.is-error {
	border-color: #d59696;
	background: #fff0f0;
	color: #8c1717;
}

.gcb-donation-form .gdf-payment-status.is-success {
	border-color: #78ad81;
	background: #eef9f0;
	color: #235c2c;
}

@media (max-width: 767.98px) {

	.gcb-donation-form .gdf-amounts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gcb-donation-form .gdf-amount-custom {
		grid-column: 1 / -1;
	}

	.gcb-donation-form .gdf-payment-summary > div {
		grid-template-columns: 1fr;
		gap: 0.05rem;
	}
}

@media (max-width: 575.98px) {

	.gcb-donation-form .gdf-primary-tabs .gdf-tab {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	.gcb-donation-form .gdf-actions-split {
		flex-direction: column;
		align-items: stretch;
	}

	.gcb-donation-form .gdf-actions .fancy {
		width: 100%;
	}

	.gcb-donation-form .gdf-methods {
		align-items: stretch;
		flex-direction: column;
	}
}

@media (min-width: 992px) {

	.gcb-donation-form.gdf-has-details .donation-content {
		background-image: none;
	}
}

/*
 * Official P24 card form (#przelewy24RPCCardForm built by ajax.js
 * in #P24FormContainer). Scoped to this block; matches the block's
 * fields and the .fancy CTA (em: the theme scales the body font).
 * Ids/classes are defined by P24.
 */
/* stylelint-disable selector-id-pattern, selector-class-pattern */
.gcb-donation-form .gdf-card #przelewy24RPCCardForm {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -0.5em;
	font-family: inherit;
	letter-spacing: 0.5px;
}

.gcb-donation-form .gdf-card #przelewy24RPCCardForm p {
	box-sizing: border-box;
	flex: 1 1 100%;
	margin: 0 0 0.75em;
	padding: 0 0.5em;
	color: #222;
	font-size: 1em;
	line-height: 1.6;
}

.gcb-donation-form .gdf-card #przelewy24RPCCardForm label {
	display: block;
	padding-left: 1em;
	color: #000;
	font-size: 1em;
	font-weight: 400;
	line-height: 1.6;
}

.gcb-donation-form .gdf-card #przelewy24RPCCardForm input:not([type="hidden"]) {
	box-sizing: border-box;
	width: 100%;
	height: 2.5em;
	margin: 0;
	padding: 0 1em;
	border: 0.125em solid #808080;
	border-radius: 9em;
	background: transparent;
	box-shadow: none;
	color: #222;
	font-family: inherit;
	font-size: 1em;
	font-weight: 300;
	line-height: 1;
}

.gcb-donation-form .gdf-card #przelewy24RPCCardForm input:focus {
	border-color: #222;
	outline: none;
}

.gcb-donation-form .gdf-card #przelewy24RPCCardForm input:focus-visible {
	box-shadow: 0 0 0 2px rgba(234, 77, 127, 0.35);
}

/*
 * P24 local validation mark: same specificity as the base input rule,
 * declared after it (a bare .P24_input_error lost to it)
 */
.gcb-donation-form .gdf-card #przelewy24RPCCardForm input.P24_input_error,
.gcb-donation-form .gdf-card #przelewy24RPCCardForm input[aria-invalid="true"] {
	border-color: #c82020;
}

.gcb-donation-form .gdf-card #przelewy24RPCCardForm .gdf-card-field-error {
	display: block;
	padding: 0.25em 0 0 1em;
	color: #9e1515;
	font-size: 0.85em;
	line-height: 1.4;
}

.gcb-donation-form .gdf-card #przelewy24RPCCardForm .gdf-card-validation {
	box-sizing: border-box;
	flex: 1 1 100%;
	margin: 0 0.5em 0.5em;
}

/* expiry: month / year side by side in one field row */
.gcb-donation-form .gdf-card #przelewy24RPCCardForm #P24_expMonth,
.gcb-donation-form .gdf-card #przelewy24RPCCardForm #P24_expYear {
	width: calc(50% - 0.75em);
	text-align: center;
}

.gcb-donation-form .gdf-card #przelewy24RPCCardForm [type="submit"] {
	display: block;
	margin: 0;
	padding: 0.5em 3em;
	border: 0.12em solid #ea4d7f;
	border-radius: 9em;
	background: #ea4d7f;
	color: #fff;
	cursor: pointer;
	font-family: inherit;
	font-size: 1.05em;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1;
	text-transform: uppercase;
}

.gcb-donation-form .gdf-card #przelewy24RPCCardForm [type="submit"]:hover,
.gcb-donation-form .gdf-card #przelewy24RPCCardForm [type="submit"]:focus-visible {
	border-color: #a41546;
	background: #a41546;
}

.gcb-donation-form .gdf-card #przelewy24RPCCardForm [type="submit"]:disabled {
	cursor: wait;
	opacity: 0.6;
}

@media (min-width: 576px) {

	/* CVC and expiry share one row like the block's half-width fields */
	.gcb-donation-form .gdf-card #przelewy24RPCCardForm p:nth-of-type(3),
	.gcb-donation-form .gdf-card #przelewy24RPCCardForm p:nth-of-type(4) {
		flex-basis: 50%;
	}
}
/* stylelint-enable selector-id-pattern, selector-class-pattern */

/* back + provider pay button: one row under the card fields */
.gcb-donation-form .gdf-card .gdf-card-actions {
	box-sizing: border-box;
	flex: 1 1 100%;
	margin: 0.75em 0 0;
	padding: 0 0.5em;
}

/* direct debit data (birth date, own account, address) inside its panel */
.gcb-donation-form .gdf-pz-fields {
	margin: 1em 0;
}

.gcb-donation-form .gdf-pz-heading {
	margin: 0 0 0.5em;
	font-weight: 700;
}

/* stylelint-disable no-descending-specificity -- colour only */

/*
 * Entered values are near-black (the theme's grey made filled fields look
 * disabled); placeholders stay lighter; disabled fields keep their own look.
 * The custom amount is excluded: on the active red button it stays white.
 */
.gcb-donation-form input:not([type="checkbox"]):not([type="radio"]):not(.gdf-custom-input):not(:disabled),
.gcb-donation-form select:not(:disabled),
.gcb-donation-form textarea:not(:disabled) {
	color: #222 !important;
	-webkit-text-fill-color: #222;
}

.gcb-donation-form input:not(.gdf-custom-input)::placeholder,
.gcb-donation-form textarea::placeholder {
	color: #8a8a8a;
	-webkit-text-fill-color: #8a8a8a;
	opacity: 1;
}

.gcb-donation-form input:not(.gdf-custom-input):-webkit-autofill,
.gcb-donation-form input:not(.gdf-custom-input):-webkit-autofill:hover,
.gcb-donation-form input:not(.gdf-custom-input):-webkit-autofill:focus {
	-webkit-text-fill-color: #222 !important;
	caret-color: #222;
}
/* stylelint-enable no-descending-specificity */
