/* Shared Gravity Forms presentation, after the theme's older form styles.
 * Preserve GF grids, conditional visibility and submission behaviour.
 */
.gform_wrapper.gform_wrapper {
  --gf-field-gap: 20px;
  --gf-form-gap-y: 24px;
  --gf-ctrl-radius: var(--radius, 0);
  --gf-ctrl-font-family: inherit;
  font-family: inherit;
}
.gform_wrapper.gform_wrapper .gform_fields {
  row-gap: 20px;
  column-gap: 20px;
}
.gform_wrapper.gform_wrapper .gfield {
  margin-top: 0;
  margin-bottom: 0;
  min-width: 0;
}
.gform_wrapper.gform_wrapper .gfield_label,
.gform_wrapper.gform_wrapper legend.gfield_label {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--text, #252525);
}
.gform_wrapper.gform_wrapper .gfield_label.gfield_label_before_complex {
  margin-bottom: 8px;
}
.gform_wrapper.gform_wrapper .ginput_container {
  margin-top: 0;
}
.gform_wrapper.gform_wrapper .ginput_container :is(input, select, textarea):not(:where([type="hidden"], [type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="image"])) {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 46px;
  margin: 0 !important;
  /* Older modal selectors use six :not() clauses and outrank normal rules. */
  padding: 10px 12px !important;
  font: inherit;
  font-size: 16px !important;
  line-height: 1.5;
  border: 1px solid #b8b8bf !important;
  border-radius: var(--radius, 0);
  background: #fff;
  color: var(--text, #252525);
}
.gform_wrapper.gform_wrapper .ginput_container :is(select, textarea) {
  width: 100%;
}
.gform_wrapper.gform_wrapper .ginput_container textarea {
  min-height: 120px;
  height: auto;
  resize: vertical;
}
.gform_wrapper.gform_wrapper .ginput_container :is(input, select, textarea):focus-visible,
.gform_wrapper.gform_wrapper :is(button, input[type="submit"], input[type="button"], a):focus-visible {
  outline: 2px solid var(--secondary, #24284e) !important;
  outline-offset: 3px;
}
.gform_wrapper.gform_wrapper :is(.gfield_checkbox, .gfield_radio) {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 12px 24px;
  margin: 0;
}
.gform_wrapper.gform_wrapper .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
}
.gform_wrapper.gform_wrapper :is(.gchoice, .ginput_container_consent) label {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}
.gform_wrapper.gform_wrapper input:is([type="checkbox"], [type="radio"]) {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  min-height: 0;
  padding: 0;
  margin: 3px 0 0;
  accent-color: var(--secondary, #24284e);
}
.gform_wrapper.gform_wrapper :is(.gfield_description, .ginput_complex label) {
  margin-left: 0;
  font-size: 14px;
  line-height: 1.5;
}
.gform_wrapper.gform_wrapper :is(.gform_footer, .gform_page_footer) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
}
/* Match the active outline-reverse site buttons; support GF 3 button markup
 * and earlier input markup without replacing IDs or submission attributes.
 */
.gform_wrapper.gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button):is(button, input) {
  box-sizing: border-box;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: auto !important;
  max-width: 100%;
  min-width: 175px;
  min-height: 48px;
  margin: 0;
  padding: 18px 24px;
  border: 2px solid var(--btn-primary-bg-colour, #24284e);
  border-radius: var(--radius, 0);
  background: var(--btn-primary-bg-colour, #24284e);
  color: var(--btn-primary-txt-colour, #fff);
  font-family: inherit;
  font-size: 18px !important;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: normal;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .25s, color .25s, border-color .25s;
}
.gform_wrapper.gform_wrapper .gform_previous_button:is(button, input) {
  color: var(--btn-secondary-txt-colour, #fff);
  background: var(--btn-secondary-bg-colour, #24284e);
  border-color: var(--btn-secondary-bg-colour, #24284e);
}
.gform_wrapper.gform_wrapper :is(.gform_button, .gform_next_button):is(button, input):is(:hover, :focus-visible) {
  background: transparent;
  color: var(--btn-primary-txt-colour-hover, #24284e);
}
.gform_wrapper.gform_wrapper .gform_previous_button:is(button, input):is(:hover, :focus-visible) {
  background: transparent;
  color: var(--btn-secondary-txt-colour-hover, #24284e);
  border-color: var(--btn-secondary-bg-colour-hover, #24284e);
}
.gform_wrapper.gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button):disabled {
  opacity: .6;
  cursor: wait;
}
.gform_wrapper.gform_wrapper .gform_submission_error {
  display: block;
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.5;
}
.gform_wrapper.gform_wrapper .gfield_validation_message {
  position: static;
  margin: 8px 0 0;
  line-height: 1.5;
}
.gform_wrapper.gform_wrapper .gfield_html p {
  margin: 0;
  text-align: left;
}
/* Do not expose labels for fields explicitly configured with hidden labels. */
.gform_wrapper.gform_wrapper .hidden_label > .gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
[data-id="art-modal-form"] {
  padding: 16px;
  box-sizing: border-box;
  overflow-y: auto;
}
[data-id="art-modal-form"] [data-id="art-modal-form-container"] {
  box-sizing: border-box;
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  height: auto;
  overflow-y: auto;
  margin: auto !important;
}
[data-id="art-modal-form-container"] .gform_heading {
  margin-bottom: 24px;
}
[data-id="art-modal-form-container"] .gform_title {
  margin: 0 0 12px;
}
/* Existing offer-specific top padding otherwise duplicates the shared gap. */
.gform_wrapper.gform_wrapper #field_21_6 .gfield_label {
  padding-top: 0;
}
@media (max-width: 650px) {
  [data-id="art-modal-form"] [data-id="art-modal-form-container"] {
    max-width: 100% !important;
    padding: 52px 20px 24px;
  }
  .gform_wrapper.gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button):is(button, input) {
    width: 100% !important;
    min-width: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gform_wrapper.gform_wrapper :is(button, input) {
    transition: none;
  }
}
