/* Theme-safe overrides loaded after the main form stylesheet. */
.give-kurs-app .give-language-switch button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 44px;
	height: 34px;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent;
	color: #4b657b;
	font: 800 13px/1 Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none;
	cursor: pointer;
}

.give-kurs-app .give-language-switch .give-language-flag {
	display: inline-block;
	font-size: 15px;
	line-height: 1;
}

.give-kurs-app .give-language-switch button:hover,
.give-kurs-app .give-language-switch button:focus,
.give-kurs-app .give-language-switch button:active {
	border-radius: 999px !important;
	box-shadow: none;
}

.give-kurs-app .give-language-switch button:focus-visible {
	outline: 3px solid rgba(22, 119, 200, 0.2);
	outline-offset: 2px;
}

.give-kurs-app .give-language-switch button.is-active {
	background: var(--give-blue);
	color: #fff;
}

/* WordPress admin expands native choice controls unless their dimensions are reset. */
.give-kurs-app input[type="radio"],
.give-kurs-app input[type="checkbox"] {
	display: inline-block !important;
	width: 16px !important;
	min-width: 16px !important;
	height: 16px !important;
	min-height: 16px !important;
	margin: 3px 0 0 !important;
	padding: 0 !important;
	appearance: auto !important;
	-webkit-appearance: auto !important;
	box-shadow: none !important;
	accent-color: var(--give-blue);
	flex: 0 0 16px !important;
}

/* Only the direct child span is the numbered circle. Language spans are labels. */
.give-kurs-progress li b .give-lang {
	position: static;
	z-index: auto;
	width: auto;
	height: auto;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
}

.give-kurs-app[data-language="tr"] .give-kurs-progress li b .give-lang--tr,
.give-kurs-app[data-language="de"] .give-kurs-progress li b .give-lang--de {
	display: inline;
}

.give-kurs-app[data-language="tr"] .give-kurs-progress li b .give-lang--de,
.give-kurs-app[data-language="de"] .give-kurs-progress li b .give-lang--tr {
	display: none;
}

.give-kurs-grid label.give-member-check {
	display: flex;
	align-items: flex-start;
	gap: 11px;
}

.give-member-check > input {
	width: 18px;
	height: 18px;
	min-height: 18px;
	margin: 3px 0 0;
	flex: 0 0 18px;
	accent-color: var(--give-blue);
}

.give-member-check > span {
	display: grid;
	gap: 2px;
}

.give-kurs-app .give-membership-choice {
	grid-column: 1 / -1;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.give-kurs-app .give-membership-choice > legend {
	margin-bottom: 8px;
	color: var(--give-navy);
	font-weight: 800;
}

.give-kurs-app .give-membership-choice__options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
}

.give-kurs-app .give-membership-choice__options > label {
	display: inline-flex;
	align-items: flex-start;
	gap: 7px;
	min-width: 0;
	padding: 3px 0;
	color: var(--give-navy);
	cursor: pointer;
}

.give-kurs-app .give-membership-choice__options input[type="radio"] {
	width: 16px !important;
	height: 16px !important;
	min-height: 16px !important;
	margin: 3px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	accent-color: var(--give-blue);
	appearance: auto;
	-webkit-appearance: radio;
	flex: 0 0 16px;
}

.give-kurs-app .give-membership-choice__options > label > span {
	display: grid;
	gap: 1px;
}

.give-kurs-app[data-language="tr"] .give-membership-choice .give-lang--de,
.give-kurs-app[data-language="de"] .give-membership-choice .give-lang--tr {
	display: none;
}

.give-kurs-app[data-language="tr"] .give-membership-choice .give-lang--tr,
.give-kurs-app[data-language="de"] .give-membership-choice .give-lang--de {
	display: inline;
}

.give-kurs-app .give-membership-choice__options small {
	max-width: 285px;
	color: var(--give-muted);
	font-size: 11px;
	line-height: 1.3;
}

.give-kurs-app .give-membership-fields input[readonly] {
	background: #edf2f5 !important;
	color: #5e7180 !important;
	cursor: not-allowed;
}

.give-kurs-app .give-membership-bank-choice {
	margin: 22px 0 0;
	padding: 0;
	border: 0;
}

.give-kurs-app .give-membership-bank-choice > legend {
	margin-bottom: 10px;
	color: var(--give-navy);
	font-weight: 800;
}

.give-kurs-app .give-membership-bank-help {
	margin: 12px 0 8px;
	color: var(--give-muted);
	font-size: 13px;
}

.give-kurs-app .give-membership-bank-fields {
	padding: 16px;
	border: 1px solid var(--give-line);
	border-radius: 12px;
	background: #fff;
}

.give-kurs-app .give-membership-bank-fields.is-readonly {
	background: #f4f7f9;
}

@media (max-width: 700px) {
	.give-kurs-app .give-membership-choice__options {
		display: grid;
		gap: 8px;
	}
}

.give-payment-summary__discount {
	grid-column: 1;
	color: #9fe0ba;
	font-weight: 800;
}

.give-kurs-progress li.is-clickable {
	cursor: pointer;
	user-select: none;
}

.give-kurs-progress li.is-clickable > span {
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.give-kurs-progress li.is-clickable:hover > span {
	transform: translateY(-2px);
	box-shadow: 0 5px 12px rgba(22, 119, 200, 0.25);
}

.give-kurs-progress li.is-clickable:hover > b {
	color: var(--give-blue-dark);
}

.give-kurs-progress li.is-clickable:focus-visible {
	outline: none;
}

.give-kurs-progress li.is-clickable:focus-visible > span {
	outline: 3px solid rgba(22, 119, 200, 0.24);
	outline-offset: 3px;
}

/* Keep the verification code field hidden until a code is sent. */
.give-kurs-app .give-verification-actions > label[hidden] {
	display: none !important;
}

/* Prevent the theme from stripping the verification input's field styling. */
.give-kurs-app .give-verification-actions input[name="verification_code"] {
	width: 150px;
	min-height: 48px;
	padding: 11px 13px !important;
	border: 2px solid #a8bfd2 !important;
	border-radius: 10px !important;
	background: #f8fbfe !important;
	color: #243a4e !important;
	font: inherit;
	letter-spacing: 0.18em;
	box-shadow: inset 0 1px 0 rgba(23, 50, 77, 0.05), 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

.give-kurs-app .give-verification-actions input[name="verification_code"]:focus {
	outline: 4px solid rgba(22, 119, 200, 0.18) !important;
	border-color: var(--give-blue) !important;
	background: #fff !important;
}

@media (max-width: 700px) {
	.give-kurs-app .give-verification-actions input[name="verification_code"] {
		width: 100%;
	}
}

.give-capacity-status {
	margin-top: 14px;
	padding: 12px 14px;
	border: 1px solid #9bcde9;
	border-radius: 10px;
	background: #eef8fe;
	color: #174b70;
	font-weight: 750;
}

.give-capacity-status.is-full {
	border-color: #efb5b0;
	background: #fff3f2;
	color: #9f241c;
}

.give-review--detailed {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.give-review--detailed .give-review-card {
	padding: 20px;
	border: 1px solid var(--give-line);
	border-radius: 14px;
	background: #f9fcfe;
}

.give-review--detailed .give-review-card--wide {
	grid-column: 1 / -1;
}

.give-review--detailed h4,
.give-review--detailed h5 {
	margin: 0;
	color: var(--give-navy);
}

.give-review--detailed h4 {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--give-line);
	font-size: 17px;
}

.give-review--detailed h5 {
	font-size: 15px;
}

.give-review--detailed dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 18px;
	margin: 14px 0 0;
}

.give-review--detailed dl > div {
	min-width: 0;
}

.give-review--detailed .give-review-wide {
	grid-column: 1 / -1;
}

.give-review--detailed dt {
	color: var(--give-muted);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.give-review--detailed dd {
	margin: 3px 0 0;
	color: var(--give-navy);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.give-review--detailed [data-review="parent-contact"] {
	white-space: pre-line;
	overflow-wrap: anywhere;
}

.give-review-break {
	overflow-wrap: anywhere;
}

.give-review-children {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.give-review-children article {
	padding: 16px;
	border: 1px solid #d8e6f0;
	border-radius: 12px;
	background: #fff;
}

.give-review-children article dl {
	margin-top: 10px;
}

@media (max-width: 700px) {
	.give-review--detailed,
	.give-review-children,
	.give-review--detailed dl {
		grid-template-columns: 1fr;
	}
}

.give-payment-summary {
	display: block;
	padding: 24px;
}

.give-payment-summary__heading {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: center;
	margin-bottom: 16px;
}

.give-payment-summary__heading > span,
.give-payment-summary__dates > span {
	color: #bad8ef;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.give-payment-summary__hero {
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 16px;
	background: linear-gradient(135deg, #197fcf, #0d5d9f);
	text-align: center;
	box-shadow: 0 14px 34px rgba(3, 32, 57, 0.25);
}

.give-payment-summary__hero > span {
	display: block;
	color: #d9efff;
	font-size: 13px;
	font-weight: 750;
}

.give-payment-summary__installment {
	display: block;
	margin: 3px 0;
	color: #fff;
	font-size: clamp(42px, 8vw, 64px);
	font-weight: 900;
	letter-spacing: -0.04em;
	line-height: 1.05;
}

.give-payment-summary__installment-note {
	color: #d9efff;
	font-weight: 650;
}

.give-payment-summary__details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 16px;
}

.give-payment-summary__details > div {
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.07);
}

.give-payment-summary__details span {
	display: block;
	color: #bad8ef;
	font-size: 11px;
}

.give-payment-summary__details b {
	display: block;
	margin-top: 3px;
	color: #fff;
	font-size: 15px;
}

.give-payment-summary__dates {
	margin-top: 18px;
}

.give-payment-summary__dates > div {
	display: grid;
	gap: 8px;
	margin-top: 8px;
}

.give-payment-summary__dates .give-payment-date-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 11px 14px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.1);
	color: #eaf6ff;
	font-size: 13px;
}

.give-payment-date-row__label {
	font-weight: 750;
}

.give-payment-date-row time {
	color: #d5eafb;
}

.give-payment-date-row b {
	min-width: 54px;
	color: #fff;
	font-size: 14px;
	text-align: right;
}

@media (max-width: 700px) {
	.give-payment-summary__heading {
		display: grid;
	}

	.give-payment-summary__details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.give-payment-summary__dates .give-payment-date-row {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 5px 12px;
	}

	.give-payment-date-row__label {
		grid-column: 1 / -1;
	}
}

.give-age-status {
	display: block;
	grid-column: 1 / -1;
	margin-top: -2px;
	color: #9f241c;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
}

.give-age-status[hidden] {
	display: none;
}

.give-age-status.is-invalid::before {
	content: '⚠ ';
}

.give-public-cancellation {
	max-width: 760px;
	margin: 30px auto;
	padding: 28px;
	border: 1px solid #dce7f0;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 18px 55px rgba(26, 72, 105, .09);
}

.give-cancellation-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

.give-cancellation-heading h2 {
	margin: 0 0 6px;
	color: var(--give-navy, #17324d);
}

.give-cancellation-heading p,
.give-cancellation-help {
	margin: 0;
	color: #526b7f;
}

.give-public-cancellation em {
	color: #b42318;
	font-style: normal;
	font-weight: 800;
}

.give-public-cancellation .give-language-switch {
	display: inline-flex;
	flex: 0 0 auto;
	padding: 4px;
	border: 1px solid #c9dbe9;
	border-radius: 999px;
	background: #fff;
}

.give-public-cancellation .give-language-switch button {
	min-width: 48px;
	height: 36px;
	padding: 0 10px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #4b657b;
	font: 800 13px/1 Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	cursor: pointer;
}

.give-public-cancellation .give-language-switch button.is-active {
	background: var(--give-blue, #1677c8);
	color: #fff;
}

.give-language-flag {
	display: inline-block;
	margin-right: 4px;
	font-size: 15px;
	line-height: 1;
}

.give-cancellation-notice {
	margin: 18px 0 22px;
	padding: 14px 16px;
	border-left: 4px solid var(--give-blue, #1677c8);
	border-radius: 10px;
	background: #eef8ff;
	color: #174b70;
}

.give-cancellation-notice p {
	margin: 5px 0 0;
}

.give-payment-summary .give-cancellation-notice p {
	color: #174b70;
}

.give-public-cancellation fieldset {
	margin: 0 0 18px;
	padding: 18px;
	border: 1px solid #dce7f0;
	border-radius: 12px;
}

.give-public-cancellation legend {
	padding: 0 8px;
	color: var(--give-navy, #17324d);
	font-weight: 800;
}

.give-cancellation-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 14px;
}

.give-public-cancellation form,
.give-public-cancellation form label {
	display: grid;
	gap: 8px;
}

.give-public-cancellation form {
	gap: 16px;
}

.give-public-cancellation form input:not([type="checkbox"]):not([type="hidden"]),
.give-public-cancellation form textarea {
	width: 100%;
	display: block !important;
	min-height: 48px !important;
	box-sizing: border-box;
	padding: 11px 13px !important;
	border: 2px solid #7f9db5 !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(23, 50, 77, .08) !important;
	color: #243a4e !important;
	font: inherit;
}

.give-public-cancellation form input:not([type="checkbox"]):not([type="hidden"]):focus,
.give-public-cancellation form textarea:focus {
	outline: 3px solid rgba(22, 119, 200, .18) !important;
	border-color: var(--give-blue, #1677c8) !important;
}

.give-public-cancellation form textarea {
	min-height: 130px !important;
}

.give-cancellation-verification {
	display: grid;
	gap: 10px;
	padding: 16px;
	border: 1px solid #c9dbe9;
	border-radius: 12px;
	background: #f7fbff;
}

.give-cancellation-verification__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.give-cancellation-verification__code {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 12px;
}

.give-cancellation-verification__code[hidden] {
	display: none;
}

.give-cancellation-verification__status {
	margin: 0;
	color: #47657e;
	font-size: 14px;
	font-weight: 700;
}

.give-cancellation-verification__status[data-state="success"] {
	color: #157347;
}

.give-cancellation-verification__status[data-state="error"] {
	color: #b42318;
}

.give-public-cancellation .give-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.give-public-cancellation .give-check input {
	width: 18px;
	min-height: 18px;
	margin-top: 3px;
	flex: 0 0 18px;
	accent-color: var(--give-blue, #1677c8);
}

.give-cancellation-error {
	margin: 12px 0 0;
	padding: 10px 12px;
	border: 1px solid #f2b8b5;
	border-radius: 10px;
	background: #fff4f3;
	color: #b42318;
	font-weight: 700;
}

@media (max-width: 700px) {
	.give-cancellation-heading,
	.give-cancellation-grid,
	.give-cancellation-verification__code {
		display: grid;
		grid-template-columns: 1fr;
	}
	.give-cancellation-heading {
		gap: 12px;
	}
	.give-public-cancellation {
		margin: 16px;
		padding: 22px;
	}
}
