/**
 * CED Gravity Forms
 *
 * Use the Gravity Forms Orbital theme.
 *
 * Applies the CED design language to every Gravity Form. Orbital injects
 * form-specific custom properties using ID-level selectors, so the shared
 * Gravity Forms properties below use !important. Component declarations use
 * normal cascade specificity.
 */
body .gform_wrapper.gform-theme {
  --ced-form-navy: #082f4f;
  --ced-form-blue: #0063a1;
  --ced-form-blue-dark: #06558a;
  --ced-form-blue-light: #edf6fc;
  --ced-form-border: #ccd9e3;
  --ced-form-field-bg: #f8fbfe;
  --ced-form-muted: #5c7182;
  --ced-form-error: #b42318; /* Orbital/Foundation design tokens. */
  --gf-color-primary: var(--ced-form-blue) !important;
  --gf-color-primary-rgb: 0, 99, 161 !important;
  --gf-color-primary-contrast: #fff !important;
  --gf-color-primary-darker: var(--ced-form-blue-dark) !important;
  --gf-color-primary-lighter: #1783c5 !important;
  --gf-color-in-ctrl-primary: var(--ced-form-blue) !important;
  --gf-color-in-ctrl-primary-rgb: 0, 99, 161 !important;
  --gf-color-in-ctrl-primary-contrast: #fff !important;
  --gf-color-in-ctrl-primary-darker: var(--ced-form-blue-dark) !important;
  --gf-color-in-ctrl-primary-lighter: #1783c5 !important;
  --gf-color-in-ctrl-contrast: var(--ced-form-navy) !important;
  --gf-color-out-ctrl-dark: var(--ced-form-muted) !important;
  --gf-ctrl-border-color: var(--ced-form-border) !important;
  --gf-ctrl-label-color-primary: var(--ced-form-navy) !important;
  --gf-ctrl-label-color-secondary: var(--ced-form-muted) !important;
  --gf-radius: 10px !important;
  max-width: 920px;
  margin-inline: auto;
  padding: clamp(28px, 5vw, 56px);
  border: 1px solid rgba(8, 47, 79, 0.08);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(8, 47, 79, 0.09);
  color: var(--ced-form-navy);
}
.gform_required_legend { display: none; }
body .gform_wrapper.gform-theme
.gform_fields { row-gap: 24px; }
body .gform_wrapper.gform-theme
.gfield { margin: 0; }
body .gform_wrapper.gform-theme:is(.gfield_label, .gform-field-label) { color: var(--ced-form-navy); font-family: inherit; font-size: 15px; font-weight: 700; letter-spacing: 0; line-height: 1.4; }
body .gform_wrapper.gform-theme
.gfield_required { color: var(--ced-form-error); font-size: 12px; font-weight: 600; }
body .gform_wrapper.gform-theme
.ginput_complex { gap: 16px; }
body .gform_wrapper.gform-theme:is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], input[type="date"], select, textarea) { min-height: 54px; padding: 13px 16px; border: 1px solid var(--ced-form-border); border-radius: 10px; background-color: var(--ced-form-field-bg); box-shadow: none; color: var(--ced-form-navy); font-family: inherit; font-size: 16px; line-height: 1.4; transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease; }
body .gform_wrapper.gform-theme
textarea { min-height: 140px; resize: vertical; }
body .gform_wrapper.gform-theme:is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], input[type="date"], select, textarea)::placeholder { color: #7c8e9c; opacity: 1; }
body .gform_wrapper.gform-theme:is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], input[type="date"], select, textarea):focus { border-color: var(--ced-form-blue); outline: 0; background-color: #fff; box-shadow: 0 0 0 4px rgba(0, 99, 161, 0.14); }
body .gform_wrapper.gform-theme
.ginput_container_date { position: relative; }
body .gform_wrapper.gform-theme
.ginput_container_date
input { padding-right: 52px; }
body .gform_wrapper.gform-theme
.ui-datepicker-trigger { position: absolute; top: 50%; right: 16px; width: 21px; height: 21px; margin: 0; transform: translateY(-50%); opacity: 0.68; }
body .gform_wrapper.gform-theme:is(.gfield_description, .gform-field-label--type-sub) { color: var(--ced-form-muted); font-size: 13px; line-height: 1.55; }

/* File-upload field, including the enhanced drag-and-drop control. */
body .gform_wrapper.gform-theme:is(.ginput_container_fileupload, .gform_drop_area) { border-radius: 12px; }
body .gform_wrapper.gform-theme
.gform_drop_area { padding: 28px 22px; border: 1px dashed rgba(0, 99, 161, 0.42); background: var(--ced-form-blue-light); text-align: center; }
body .gform_wrapper.gform-theme
input[type="file"] { max-width: 100%; color: var(--ced-form-muted); font-size: 14px; }
body .gform_wrapper.gform-theme
input[type="file"]::file-selector-button, body .gform_wrapper.gform-theme
.gform_button_select_files { margin-right: 12px; padding: 10px 18px; border: 1px solid var(--ced-form-blue); border-radius: 999px; background: #fff; color: var(--ced-form-blue); font-family: inherit; font-weight: 700; cursor: pointer; }

/* Apply `ced-cancellation-policy` to the policy HTML field. */
body .gform_wrapper.gform-theme
.ced-cancellation-policy { padding: 25px 22px; border-left: 5px solid var(--ced-form-blue); border-radius: 0 12px 12px 0; background: var(--ced-form-blue-light); color: var(--ced-form-navy); }
body .gform_wrapper.gform-theme
.ced-cancellation-policy:last-child { margin-bottom: 0; }
/* Agreement checkbox: apply `ced-policy-agreement` to the field. */
body .gform_wrapper.gform-theme
.ced-policy-agreement
.gchoice { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: start; gap: 5px; }
body .gform_wrapper.gform-theme
.ced-policy-agreement
input[type="checkbox"] { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--ced-form-blue); }
body .gform_wrapper.gform-theme
.ced-policy-agreement
label { color: var(--ced-form-navy); font-size: 14px; line-height: 1.55; }
body .gform_wrapper.gform-theme
.gform-footer, body .gform_wrapper.gform-theme
.gform_footer { justify-content: flex-start; margin-top: 32px; padding: 0; }
body .gform_wrapper.gform-theme
.gform_footer:is(input[type="submit"].gform_button, button[type="submit"].gform_button) { min-height: 50px !important; padding: 13px 50px !important; border: 1px solid var(--ced-form-blue) !important; border-radius: 999px !important; background: var(--ced-form-blue) !important; box-shadow: 0 7px 18px rgba(8, 47, 79, 0.12) !important; color: #fff !important; font-family: inherit !important; font-size: 18px !important; font-weight: 600 !important; line-height: 1.2 !important; cursor: pointer; transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
body .gform_wrapper.gform-theme
.gform_footer:is(input[type="submit"].gform_button, button[type="submit"].gform_button):hover { border-color: var(--ast-global-color-1) !important; background: var(--ast-global-color-1) !important;   /* box-shadow: 0 9px 22px rgba(8, 47, 79, 0.18) !important; */ transform: translateY(-1px); }
body .gform_wrapper.gform-theme
.gform_footer:is(input[type="submit"].gform_button, button[type="submit"].gform_button):focus-visible { outline: 3px solid rgba(0, 99, 161, 0.28); outline-offset: 3px; }
.ced-cancellation-policy p { font-size: 16px; }
.ced-cancellation-policy p:last-child { margin-bottom: 0; }
.ced-cancellation-policy__title { display: block; margin-bottom: 5px; }
/* Validation and submission feedback. */
body .gform_wrapper.gform-theme
.gform_validation_errors { padding: 18px 20px; border: 1px solid rgba(180, 35, 24, 0.28); border-radius: 12px; background: #fff4f2; box-shadow: none; }
body .gform_wrapper.gform-theme
.gfield_error:is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], select, textarea) { border-color: var(--ced-form-error); }
body .gform_wrapper.gform-theme
.validation_message { color: var(--ced-form-error); font-size: 13px; font-weight: 600; }
@media (max-width:640px) {
    body .gform_wrapper.gform-theme { padding: 26px 20px; border-radius: 18px; }
    body .gform_wrapper.gform-theme
    .ginput_complex { grid-template-columns: 1fr; gap: 18px; }
    body .gform_wrapper.gform-theme
    .gform_footer:is(input[type="submit"].gform_button, button[type="submit"].gform_button) { width: 100% !important; }
}
