  /* Applies to every Gravity Form (.gform_wrapper) automatically.
     Tunable values are CSS vars set via OAE Settings → Gravity Forms.
     Fallbacks below match the original design. */

  /* Title & Description */
  .gform_wrapper .form-title {
    font: var(--gfc-title-weight, 700) var(--gfc-title-size, 28px)/var(--gfc-title-line-height, 38px) 'Open Sans', sans-serif;
    text-align: center;
    color: var(--gfc-title-color, #054F8C);
    margin-bottom: var(--gfc-title-margin-bottom, 20px);
  }
  .gform_wrapper .form-description {
    font: var(--gfc-desc-weight, 500) var(--gfc-desc-size, 14px)/var(--gfc-desc-line-height, 20px) 'Open Sans', sans-serif;
    text-align: center;
    color: var(--gfc-desc-color, #1A1A1A);
    margin-bottom: var(--gfc-desc-margin-bottom, 20px);
  }

  /* Form wrapper card */
  .gform_wrapper .gform_wrapper {
    background: var(--gfc-form-bg, transparent);
    padding: var(--gfc-form-padding, 0);
    border-radius: var(--gfc-form-radius, 0);
    border: var(--gfc-form-border-width, 0) solid var(--gfc-form-border-color, transparent);
    max-width: var(--gfc-form-max-width, none);
    margin-inline: auto;
  }

  /* Field labels */
  .gform_wrapper .gfield_label {
    display: block;
    font: var(--gfc-label-weight, 600) var(--gfc-label-size, 14px)/1.4 'Open Sans', sans-serif;
    color: var(--gfc-label-color, #1A1A1A);
    margin-bottom: var(--gfc-label-margin-bottom, 4px);
  }
  .gform_wrapper .gfield { margin-bottom: var(--gfc-field-margin-bottom, 0); }
  .gform_wrapper .gfield_required { color: var(--gfc-error-color, #D63637); }

  /* Fields gap */
  .gform_wrapper .gform_fields {
    display: flex;
    flex-direction: column;
    gap: var(--gfc-fields-gap, 11px) !important;
  }

  /* Multi-column rows (name fields, 2-3 inputs side by side) */
  .gform_wrapper .gform-grid-row {
    column-gap: var(--gfc-col-gap, 8px) !important;
    row-gap: var(--gfc-row-gap, 8px) !important;
    display: flex !important;
  }
  .gform_wrapper .name_first.gform-grid-col {
    padding-right: 0 !important;
  }
  .gform_wrapper .name_last.gform-grid-col {
    padding-left: 0 !important;
  }

  .gform_wrapper .gform-grid-col--size-auto {
    flex: 1 !important;
    min-width: 0 !important;
  }
  .gform_wrapper .name_first input,
  .gform_wrapper .name_last input {
    width: 100% !important;
  }

  /* Inputs */
  .gform_wrapper input[type="text"],
  .gform_wrapper input[type="tel"],
  .gform_wrapper input[type="email"],
  .gform_wrapper input[type="number"],
  .gform_wrapper input[type="date"],
  .gform_wrapper input.datepicker,
  .gform_wrapper select,
  .gform_wrapper textarea {
    border: 1px solid var(--gfc-input-border-color, #B8B8B8) !important;
    border-radius: var(--gfc-input-radius, 5px) !important;
    padding: var(--gfc-input-padding, 8px) !important;
    font: var(--gfc-input-weight, 500) var(--gfc-input-font-size, 14px)/var(--gfc-input-line-height, 16px) 'Open Sans', sans-serif !important;
    color: var(--gfc-input-text-color, #505050) !important;
    height: var(--gfc-input-height, 40px) !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
    cursor: text !important;
  }
  .gform_wrapper input::placeholder,
  .gform_wrapper textarea::placeholder {
    font-size: var(--gfc-placeholder-font-size, 12px) !important;
    color: var(--gfc-placeholder-color, #9C9C9C) !important;
  }
  .gform_wrapper input[type="text"]:focus,
  .gform_wrapper input[type="tel"]:focus,
  .gform_wrapper input[type="email"]:focus,
  .gform_wrapper input[type="number"]:focus,
  .gform_wrapper input[type="date"]:focus,
  .gform_wrapper input.datepicker:focus,
  .gform_wrapper select:focus,
  .gform_wrapper textarea:focus {
    border-color: var(--gfc-input-focus-border-color, #D0D0D0) !important;
    box-shadow: 0 0 0 var(--gfc-focus-shadow-size, 1px) var(--gfc-focus-shadow-color, rgba(0,0,0,0.05)) !important;
  }
  .gform_wrapper textarea {
    min-height: var(--gfc-textarea-height, 60px);
    resize: vertical !important;
  }

  /* Checkbox */
  .gform_wrapper .gfield_checkbox { gap: 0 !important; }
  .gform_wrapper .gchoice {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .gform_wrapper input[type="checkbox"] {
    width: var(--gfc-checkbox-size, 13px) !important;
    height: var(--gfc-checkbox-size, 13px) !important;
    border: 1.17px solid #828282 !important;
    border-radius: 3.5px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    outline: none !important;
  }
  .gform_wrapper input[type="checkbox"]:focus { box-shadow: none !important; }
  .gform_wrapper input[type="checkbox"]:checked {
    background: var(--gfc-accent-color, #054F8C) !important;
    border-color: var(--gfc-accent-color, #054F8C) !important;
  }
  .gform_wrapper input[type="radio"] { accent-color: var(--gfc-accent-color, #054F8C); }
  .gform_wrapper .gchoice label {
    font: 500 var(--gfc-checkbox-label-size, 12px)/16px 'Open Sans', sans-serif !important;
    color: var(--gfc-checkbox-label-color, #505050) !important;
    margin: 0 !important;
  }

  /* Button */
  .gform_wrapper .gform_button {
    background: var(--gfc-btn-bg, #054F8C) !important;
    color: var(--gfc-btn-text-color, #fff) !important;
    border-radius: var(--gfc-btn-radius, 10px) !important;
    font: var(--gfc-btn-weight, 700) var(--gfc-btn-font-size, 18px)/25px 'Open Sans', sans-serif !important;
    width: var(--gfc-btn-width, 218px) !important;
    height: var(--gfc-btn-height, 50px) !important;
    display: block !important;
    margin-block-start: 11px !important;
    margin-inline: var(--gfc-btn-align, auto) !important;
  }

  .gform_wrapper .gform_button:hover {
    background: var(--gfc-btn-bg-hover, #D3AF6E) !important;
    color: var(--gfc-btn-hover-text-color, #054F8C) !important;
  }

  .gform-body.gform_body fieldset {
    padding: 0;
    border: none;
  }

  /* GF framework textarea height follows our var */
  .gform-theme--framework .gfield--type-textarea .ginput_container_textarea textarea {
    min-block-size: var(--gfc-textarea-height, 60px) !important;
    height: var(--gfc-textarea-height, 60px) !important;
  }

  .gform-theme--framework .gform_footer, .gform-theme--foundation .gform_page_footer {
    --gf-form-footer-margin-y-start: 7px;
  }

  /* Hidden labels (respects Gravity Forms field setting) */
  .gform_wrapper .hidden_label .gfield_label,
  .gform_wrapper .hidden_sub_label,
  .gform_wrapper .screen-reader-text {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }

  /* Date Picker Fix — structural, applies to all GF forms */
  .gform_wrapper .ginput_container_date input.datepicker,
  .gform_wrapper .ginput_container_date input.datepicker_with_icon {
    width: 100%;
  }
  .gform_wrapper .ginput_container_date .gform-datepicker-toggle {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%) !important;
    margin: 0;
    background: transparent;
    border: none;
    padding: 0;
  }
  .gform_wrapper .ginput_container_date {
    position: relative;
  }

  /* Validation & confirmation */
  .gform_wrapper .gfield_validation_message,
  .gform_wrapper .validation_message {
    color: var(--gfc-error-color, #D63637);
    font-size: var(--gfc-error-size, 13px);
  }
  .gform_wrapper .gfield_error input,
  .gform_wrapper .gfield_error select,
  .gform_wrapper .gfield_error textarea {
    border-color: var(--gfc-error-border-color, #D63637) !important;
  }
  .gform_wrapper .gform_confirmation_message,
  .gform_confirmation_wrapper .gform_confirmation_message {
    color: var(--gfc-confirm-color, #1A1A1A);
    font-size: var(--gfc-confirm-size, 16px);
    background: var(--gfc-confirm-bg, transparent);
  }
