/**
 * The guide profile enquiry form.
 *
 * Structural only. The visual design lives in Elementor, and every custom property here is scoped
 * to `.tot-ge` rather than `:root` — three shortcodes can appear on one page and a global would let
 * them fight. `tot.css` scopes to `.tot-dir` and `questionnaire.css` to `.tot-q` for the same
 * reason; this is the third of the same shape, not a new convention.
 */

.tot-ge {
	--tot-ink: #1b252f;
	--tot-deep: #0c4a6e;
	--tot-muted: #52616f;
	--tot-rule: #e2e8f0;
	--tot-paper: #ffffff;
	--tot-radius: 14px;
	box-sizing: border-box;
	max-width: 34rem;
}

.tot-ge *, .tot-ge *::before, .tot-ge *::after { box-sizing: inherit; }

/* Off-screen, not display:none — some bots skip hidden inputs. */
.tot-ge__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.tot-ge__title { margin: 0 0 .5rem; font-size: 1.25rem; }
.tot-ge__standfirst { margin: 0 0 1.25rem; color: var(--tot-muted); font-size: .9375rem; }

.tot-ge__field { display: block; margin-bottom: 1rem; }
.tot-ge__field > span { display: block; margin-bottom: .25rem; font-size: .875rem; font-weight: 600; }
.tot-ge__field input,
.tot-ge__field textarea {
	width: 100%;
	padding: .75rem;
	border: 1px solid var(--tot-rule);
	border-radius: 10px;
	background: var(--tot-paper);
	font: inherit;
}
.tot-ge__field [aria-invalid="true"] { border-color: #b42318; }

.tot-ge__privacy { margin: 0 0 1rem; font-size: .8125rem; line-height: 1.5; color: var(--tot-muted); }
.tot-ge__error { margin: 0 0 1rem; color: #b42318; font-size: .9375rem; }
.tot-ge__error[hidden] { display: none !important; }

.tot-ge__submit {
	padding: .8125rem 1.5rem;
	border: 0;
	border-radius: 999px;
	background: var(--tot-ink);
	color: #fff;
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
}
.tot-ge__submit:hover { background: var(--tot-deep); }
.tot-ge__submit[disabled] { opacity: .6; cursor: progress; }

.tot-ge__alt { margin: 1rem 0 0; font-size: .9375rem; }
