/* The admission and enquiry forms, in the site's own design tokens
   (defined by the GAEWCT theme; sensible fallbacks if it is not active). */

.gx-form {
	background: var(--gx-surface, #fff);
	border: 1px solid var(--gx-line-soft, rgba(0, 0, 0, .06));
	border-radius: var(--gx-r-lg, 24px);
	box-shadow: var(--gx-shadow-sm, 0 1px 2px rgba(0, 0, 0, .05));
	padding: clamp(20px, 3.5vw, 34px);
}
.gx-form__head {
	margin: 30px 0 14px;
	font-size: 1.2rem;
	letter-spacing: -.02em;
}
.gx-form__head:first-child { margin-top: 0; }

.gx-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px 16px; }

.gx-field { margin: 0 0 14px; }
.gx-grid2 .gx-field { margin: 0; }
.gx-field label { display: block; font-size: .875rem; font-weight: 600; margin-bottom: 6px; }
.gx-field small { display: block; margin-top: 5px; font-size: .8125rem; color: var(--gx-ink3, #86868b); }
.gx-req { color: var(--gx-brand, #0f6d97); }

.gx-input {
	width: 100%;
	box-sizing: border-box;
	padding: 11px 14px;
	font: inherit;
	color: var(--gx-ink, #1d1d1f);
	background: var(--gx-bg, #fff);
	border: 1.5px solid var(--gx-line, rgba(0, 0, 0, .12));
	border-radius: 12px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.gx-input:focus {
	outline: none;
	border-color: var(--gx-brand, #0f6d97);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gx-brand, #0f6d97) 22%, transparent);
}
textarea.gx-input { resize: vertical; }
/* A phone zooms the whole page into any field set below 16px the moment
   it is tapped, and leaves it zoomed. */
@media (pointer: coarse) { .gx-input { font-size: max(16px, 1em); } }
input[type="file"].gx-input { padding: 9px 12px; }

.gx-checks { margin: 6px 0 14px; }
.gx-check { display: flex; gap: 9px; align-items: flex-start; font-size: .9375rem; line-height: 1.5; }
.gx-check input { margin-top: 4px; width: 17px; height: 17px; accent-color: var(--gx-brand, #0f6d97); flex: none; }
.gx-consent {
	margin-top: 6px;
	padding: 14px 16px;
	border: 1.5px solid color-mix(in srgb, var(--gx-brand, #0f6d97) 30%, transparent);
	border-radius: 14px;
	background: var(--gx-brand-soft, #eaf4f9);
}

.gx-form__foot { margin-top: 22px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.gx-form__foot button { cursor: pointer; border: 0; }
.gx-form__foot button:disabled { opacity: .6; cursor: wait; }
.gx-form__note { margin: 0; font-size: .9375rem; }
.gx-form__note.is-ok { color: #1e7b45; }
.gx-form__note.is-bad { color: var(--gx-danger, #b3241b); }

/* The honeypot: off the page for people, present for bots. */
.gx-nectar { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; margin: 0; }

@media (prefers-color-scheme: dark) {
	.gx-form__note.is-ok { color: #4cc38a; }
}
