/*
 * Gradespace Core: public forms (gsc/contact-form, and kits' forms that
 * use the same classes). Coloured by the theme's tokens; mobile first.
 */
.gsc-form-wrap { color: var(--gsc-ink, #14213d); }
.gsc-form { display: grid; gap: 0.25rem; margin: 0; }
.gsc-form__grid { display: grid; gap: 0 1rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .gsc-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gsc-form__field { display: grid; gap: 0.35rem; margin: 0 0 0.9rem; min-width: 0; }
.gsc-form__field label { font-weight: 600; font-size: 0.9375rem; }
.gsc-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .gsc-form select, .gsc-form textarea {
	width: 100%; min-height: 3rem; padding: 0.7rem 0.9rem; border: 1px solid var(--gsc-line, #d5dbe5); border-radius: var(--gsc-radius, 12px);
	background: var(--gsc-surface, #fff); color: inherit; font: inherit; font-size: max(16px, 1rem); line-height: 1.4;
}
.gsc-form textarea { min-height: 8rem; resize: vertical; }
.gsc-form :is(input, select, textarea):focus-visible { outline: 2px solid var(--gsc-brand, #2f5bd3); outline-offset: 1px; border-color: var(--gsc-brand, #2f5bd3); }
.gsc-form [aria-invalid="true"] { border-color: var(--gsc-danger, #c4283f) !important; }
.gsc-form__error { margin: 0; color: var(--gsc-danger, #c4283f); font-size: 0.875rem; font-weight: 600; }
.gsc-form__error:empty { display: none; }
.gsc-form__small { margin: 0 0 0.75rem; color: var(--gsc-muted, #5a6474); font-size: 0.875rem; }
.gsc-form__small a { color: inherit; }
.gsc-form__submit[disabled] { opacity: 0.6; cursor: progress; }
.gsc-form__status { margin: 0.25rem 0 0; font-weight: 600; }
.gsc-form__status:empty { display: none; }
.gsc-form__status.is-error { color: var(--gsc-danger, #c4283f); }
.gsc-form__done { padding: 1.25rem 1.4rem; border-radius: var(--gsc-radius, 12px); background: var(--gsc-tint, #eef2fb); }
.gsc-form__done strong { display: block; font-size: 1.125rem; }
.gsc-form__done p { margin: 0.35rem 0 0; }
.gsc-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
