/* Shared positioning for radio and checkbox inputs */
.webform-submission-lead-free-ammo-incentive-form .radio input[type=radio],
.webform-submission-lead-free-ammo-incentive-form .checkbox input[type=checkbox] {
  margin-left: 4px !important;
  margin-right: 0 !important;
  position: absolute;
  left: 0;
  top: 2px;
}
/* Suppress native rendering for checkboxes only — the theme uses a
   custom ::before pseudo-element for checkboxes. Radios use the
   native browser control and must not have appearance suppressed. */
.webform-submission-lead-free-ammo-incentive-form .checkbox input[type=checkbox] {
  -webkit-appearance: none;
  appearance: none;
}
/* Restore native appearance on radios explicitly */
.webform-submission-lead-free-ammo-incentive-form .radio input[type=radio] {
  -webkit-appearance: auto !important;
  appearance: auto !important;
  width: 18px;
  height: 18px;
}
.webform-submission-lead-free-ammo-incentive-form .radio label,
.webform-submission-lead-free-ammo-incentive-form .checkbox label {
  padding-left: 32px !important;
  position: relative;
  display: inline-block;
  min-height: 24px;
  cursor: pointer;
}
/* Add gap between custom checkbox box and label text */
.webform-submission-lead-free-ammo-incentive-form .checkbox label::before {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  margin-right: 8px;
}
.webform-submission-lead-free-ammo-incentive-form
#edit-species-selection--wrapper .form-item,
.webform-submission-lead-free-ammo-incentive-form
.form-checkboxes .form-item {
  margin-bottom: 0.5rem;
  position: relative;
}
.webform-submission-lead-free-ammo-incentive-form
#edit-species-selection--wrapper {
  margin-top: 1.25rem;
}
.webform-submission-lead-free-ammo-incentive-form
select#edit-what-national-wildlife-refuge-are-you-claiming-an-incentive-for {
  max-width: 480px;
}

/* ── Step 11: Required asterisks red ─────────────────────────────────
   The FWS theme uses BOTH ::before and ::after on label.form-required
   for the custom checkbox visual (absolute positioned). We cannot use
   either pseudo-element on the label without interfering.
   Instead, target ::after on the <span> inside the label — the span
   is a separate element with its own independent pseudo-element scope
   that does not conflict with the checkbox rendering.              */
.webform-submission-lead-free-ammo-incentive-form
label.form-required span::after,
.webform-submission-lead-free-ammo-incentive-form
label.js-form-required span::after {
  content: ' *';
  color: #c0392b;
  font-weight: bold;
}
/* Asterisk in the 'Fields marked with * are required' note */
.webform-submission-lead-free-ammo-incentive-form .form-required-star {
  color: #c0392b !important;
  font-weight: bold;
  margin: 0 1px;
}

/* ── Step 12a: Submit button disabled state ───────────────────────────
   Visual styling for when JS sets disabled prop on submit button.  */
.webform-submission-lead-free-ammo-incentive-form
.webform-button--submit:disabled,
.webform-submission-lead-free-ammo-incentive-form
.webform-button--submit[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

/* ── Step 12b: File list item spacing ────────────────────────────────
   Drupal's managed_file widget renders icon, filename, filesize,
   and Remove button with no spacing. Add gap and alignment.       */
.webform-submission-lead-free-ammo-incentive-form .file-size {
  margin-left: 6px;
  margin-right: 10px;
  color: #595959;
  white-space: nowrap;
}
.webform-submission-lead-free-ammo-incentive-form
.js-form-managed-file .file,
.webform-submission-lead-free-ammo-incentive-form
.form-managed-file .file {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
}
.webform-submission-lead-free-ammo-incentive-form
.js-form-managed-file .file a,
.webform-submission-lead-free-ammo-incentive-form
.form-managed-file .file a {
  margin-right: 4px;
}
.webform-submission-lead-free-ammo-incentive-form
.js-form-managed-file .button--danger,
.webform-submission-lead-free-ammo-incentive-form
.form-managed-file .button--danger {
  margin-left: 8px;
}

/* ── File link: render as plain text (private file workaround) ───────
   Drupal wraps uploaded filenames in an anchor pointing to the private
   file path. Since private files are inaccessible to users, suppress
   link appearance and behavior without removing the element.        */
.webform-submission-lead-free-ammo-incentive-form .file a {
  pointer-events: none;
  text-decoration: none;
  color: inherit;
  cursor: default;
}
/* Helper/description text: darken to #595959 (7:1 contrast, WCAG AA) */
.webform-submission-lead-free-ammo-incentive-form .form-item .description,
.webform-submission-lead-free-ammo-incentive-form .form-item .help-block {
  color: #595959 !important;
}
/* Species selector required indicator — matches theme label.form-required span::after */
.webform-submission-lead-free-ammo-incentive-form span.js-form-required::after {
  content: " *";
  color: rgb(192, 57, 43);
}