/* Typography */

.webform-submission-form h3 {
  color: var(--heading__color);
  font-size: var(--font-size--h4);
  font-weight: 500;
}

.form__label.form-required {
  &::after {
    color: var(--color--red);
    content: ' *';
  }
}

.label--long {
  .form__label:not(.option) {
    font-size: var(--font-size--p);
    font-weight: 600;
    letter-spacing: var(--letter-spacing--p);
    line-height: var(--base__line-height);
    text-transform: none;
  }
}

/* Form Fields - Layout */

.form__fields {
  &:not(:last-child) {
    margin-bottom: var(--gap--sm);
  }
}

.form__fields .form-item {
  grid-column: 1 / -1;
}

@media only screen and (min-width: 1024px) {
  .form__fields .form-item {
    grid-column: span 6;

    &:not(:last-child) {
      margin-bottom: 0;
    }
  }
}

.form-item,
.js-form-wrapper {
  &:not(:last-child) {
    margin-bottom: var(--gap--sm);
  }
}

/* Form Actions */

.webform-submission-form .form-actions {
  margin-top: var(--gap--sm);
}

/* Address Form Fields - Layout */

.webform-address--wrapper .fieldset-wrapper {
  display: grid;
  gap: var(--gap--sm) var(--gap-static--xs);
  grid-template-columns: repeat(12, 1fr);
}

.webform-address--wrapper .fieldset-wrapper .form-item {
  grid-column: 1 / -1;

  &:not(:last-child) {
    margin-bottom: 0;
  }
}

.webform-address--wrapper .fieldset-wrapper :is(.form-item-address-city,
  .form-item-address-state-province,
  .form-item-address-postal-code, .form-item-address-country) {
  grid-column: 1 / -1;
}

@media only screen and (min-width: 1024px) {
  .webform-address--wrapper .fieldset-wrapper :is(.form-item-address-city,
      .form-item-address-state-province,
      .form-item-address-postal-code, .form-item-address-country) {
    grid-column: span 6;
  }
}

wm-button:has(input[disabled]) {
  filter: grayscale(1);
  opacity: 0.25;
  pointer-events: none;
}
