/* ===== TEAM University Online Application - look & feel aligned to the application tool ===== */
:root{
  --tuk-bg:#F8F5EE; --tuk-surface:#FFFFFF; --tuk-primary:#002A5C; --tuk-primary-tint:#103E78;
  --tuk-accent:#E8B83C; --tuk-ink:#0F1626; --tuk-ink-soft:#1F2A44; --tuk-muted:#6B7388;
  --tuk-line:#E2DED1; --tuk-line-soft:#ECE7D9; --tuk-radius:8px; --tuk-radius-lg:14px;
  --tuk-sans:"Geist","Helvetica Neue",Helvetica,Arial,sans-serif;
  --tuk-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --tuk-tr:220ms cubic-bezier(.2,.7,.2,1);
}

/* ---- Card shell ---- */
form.webform-submission-form{
  max-width:760px; margin:1.25rem auto clamp(3rem,6vw,5rem);
  background:var(--tuk-surface); border:1px solid var(--tuk-line); border-radius:var(--tuk-radius-lg);
  padding:clamp(1.5rem,3vw,2.5rem);
  box-shadow:0 1px 3px rgba(15,22,38,.05),0 12px 36px rgba(15,22,38,.05);
  color:var(--tuk-ink); font-family:var(--tuk-sans);
}

/* ---- Progress tracker ---- */
.webform-progress{ max-width:760px; margin:1.5rem auto .25rem; }
.webform-progress .progress-tracker{ margin:0; }
.webform-progress .progress-step .progress-title{
  font:600 .66rem/1.3 var(--tuk-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--tuk-muted);
}
.webform-progress .progress-step.is-active .progress-title{ color:var(--tuk-primary); }
.webform-progress .progress-marker::before{ background:var(--tuk-line); color:#fff; }
.webform-progress .progress-step.is-active .progress-marker::before{ background:var(--tuk-primary); }
.webform-progress .progress-step.is-complete .progress-marker::before{ background:var(--tuk-accent); color:var(--tuk-primary); }
.webform-progress .progress-marker::after{ background:var(--tuk-line); }
.webform-progress .progress-step.is-complete .progress-marker::after{ background:var(--tuk-accent); }

/* ---- Field labels: mono uppercase (not option/checkbox labels) ---- */
form.webform-submission-form .js-form-item > label:not(.option),
form.webform-submission-form .fieldset-legend{
  display:block; font:600 .7rem/1.3 var(--tuk-mono); letter-spacing:.1em; text-transform:uppercase;
  color:var(--tuk-ink-soft); margin-bottom:.5rem;
}
form.webform-submission-form .form-required::after,
form.webform-submission-form .js-form-required::after{ color:var(--tuk-accent); }
form.webform-submission-form .description,
form.webform-submission-form .webform-element-description{ color:var(--tuk-muted); font-size:.82rem; line-height:1.5; }

/* ---- Inputs / selects / textarea: cream filled, rounded ---- */
form.webform-submission-form input.form-text,
form.webform-submission-form input.form-email,
form.webform-submission-form input.form-tel,
form.webform-submission-form input.form-number,
form.webform-submission-form input[type="date"],
form.webform-submission-form textarea,
form.webform-submission-form select.form-select{
  width:100%; padding:.8rem .95rem; border:1px solid var(--tuk-line); border-radius:var(--tuk-radius);
  background:var(--tuk-bg); color:var(--tuk-ink); font:400 .98rem/1.4 var(--tuk-sans); outline:none; transition:var(--tuk-tr);
}
form.webform-submission-form input:focus,
form.webform-submission-form textarea:focus,
form.webform-submission-form select:focus{ border-color:var(--tuk-primary); background:var(--tuk-surface); }
form.webform-submission-form textarea{ resize:vertical; min-height:7rem; }

/* ---- Select2 control to match ---- */
.webform-submission-form .select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--single{
  background:var(--tuk-bg); border:1px solid var(--tuk-line); border-radius:var(--tuk-radius);
  height:auto; min-height:3rem; padding:.6rem .85rem; display:flex; align-items:center;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{ color:var(--tuk-ink); padding:0; line-height:1.4; }
.select2-container--default .select2-selection--single .select2-selection__arrow{ top:50%; transform:translateY(-50%); right:.7rem; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single{ border-color:var(--tuk-primary); background:var(--tuk-surface); }
.select2-dropdown{ border-color:var(--tuk-line); border-radius:var(--tuk-radius); overflow:hidden; }
.select2-container--default .select2-results__option--highlighted[aria-selected]{ background:var(--tuk-primary); }
.select2-container--default .select2-search--dropdown .select2-search__field{ border-color:var(--tuk-line); border-radius:6px; }
.select2-container--default .select2-results__group{ font:600 .72rem var(--tuk-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--tuk-muted); }

/* ---- Radio groups as pills ---- */
form.webform-submission-form .js-form-type-radio{ position:relative; display:inline-flex; margin:0 .45rem .5rem 0; }
form.webform-submission-form .js-form-type-radio input.form-radio{ position:absolute; inset:0; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
form.webform-submission-form .js-form-type-radio label.option{
  display:inline-block; padding:.55rem 1.05rem; border:1px solid var(--tuk-line); border-radius:999px;
  background:var(--tuk-bg); color:var(--tuk-ink); font:500 .9rem var(--tuk-sans); cursor:pointer; transition:var(--tuk-tr); margin:0;
}
form.webform-submission-form .js-form-type-radio:hover label.option{ border-color:var(--tuk-primary); }
form.webform-submission-form .js-form-type-radio:has(input:checked) label.option{
  background:var(--tuk-primary); color:#fff; border-color:var(--tuk-primary);
}
form.webform-submission-form fieldset .fieldset-wrapper{ display:block; padding:0; }

/* ---- Group fieldsets: clean labelled sections (no heavy box) ---- */
form.webform-submission-form fieldset{
  border:0; padding:0; margin:0 0 1.5rem; min-width:0;
}
form.webform-submission-form fieldset > legend,
form.webform-submission-form .fieldset-legend{
  float:none; width:auto; padding:0; margin-bottom:.6rem;
}
/* select-or-other composites: the group title already names the field,
   so hide the duplicate inner select label (keep the "other" text label) */
form.webform-submission-form .webform-type-webform-select-other .js-form-item:has(> select) > label{ display:none; }

/* ---- File upload: dashed ---- */
form.webform-submission-form .form-managed-file{
  border:1px dashed var(--tuk-line); border-radius:var(--tuk-radius); background:var(--tuk-bg); padding:.6rem .75rem;
}
form.webform-submission-form .form-managed-file:hover{ border-color:var(--tuk-primary); }
form.webform-submission-form .form-file{ font-size:.9rem; }

/* ---- Checkboxes (declaration) stay normal ---- */
form.webform-submission-form .js-form-type-checkbox{ display:flex; align-items:flex-start; gap:.6rem; }
form.webform-submission-form .js-form-type-checkbox label.option{
  font:400 .95rem/1.5 var(--tuk-sans); text-transform:none; letter-spacing:0; color:var(--tuk-ink-soft); margin:0;
}
form.webform-submission-form .js-form-type-checkbox input{ accent-color:var(--tuk-primary); margin-top:.15rem; }

/* ---- Buttons ---- */
form.webform-submission-form .form-actions{ display:flex; justify-content:space-between; gap:1rem; margin-top:1.75rem; flex-wrap:wrap; }
form.webform-submission-form .form-actions input[type="submit"],
form.webform-submission-form .form-actions button{
  border-radius:999px; padding:.72rem 1.6rem; font:600 .95rem var(--tuk-sans); cursor:pointer;
  border:1px solid var(--tuk-primary); background:var(--tuk-primary); color:#fff; transition:var(--tuk-tr);
}
form.webform-submission-form .form-actions input[type="submit"]:hover,
form.webform-submission-form .form-actions button:hover{ background:var(--tuk-primary-tint); border-color:var(--tuk-primary-tint); }
form.webform-submission-form .webform-button--previous{ background:transparent !important; color:var(--tuk-primary) !important; }
form.webform-submission-form .webform-button--previous:hover{ background:var(--tuk-line-soft) !important; }

/* ---- Grade tables: hide drag weight column (reordering not needed) ---- */
.webform-multiple-table--weight,
.webform-multiple-table .tabledrag-toggle-weight-wrapper,
.webform-multiple-table .tabledrag-handle{ display:none !important; }
