/**
 * @file
 * Accessibility helpers for public forms (required legend, error focus).
 */

.form-required-legend {
  margin: 0 0 1rem;
}

.cci-a11y-form > .form-required-legend,
.cci-a11y-form > .form-error-summary {
  flex: 1 0 100%;
  width: 100%;
}

.order__info .form-required-legend,
.order__info .form-error-summary {
  font-size: 1.4rem
}

.form-error-summary {
  margin: 1rem 0 2rem 0;
}

.webform-submission-form .form-error-summary {
  padding: 1.5rem 2rem;
  color: #fff;
  background: #f00000;
}

.form-error-summary p {
  margin: 0;
}

.form-error-summary:focus {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.cci-a11y-form .form-radio:focus-visible + .form-label::before,
.cci-a11y-form .form-radio:focus-visible + span::before,
.cci-a11y-form .form-checkbox:focus-visible + .form-label::before,
.cci-a11y-form .form-checkbox:focus-visible + span::before {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.cci-a11y-form .form-item--error-message {
  display: flex;
  align-items: center;
  margin-top: 0.5rem;
}

.cci-a11y-form .field--widget-options-buttons .form-item--error-message {
  margin-bottom: 2rem;
}

.cci-a11y-form .form-item--error-message:before {
  flex-shrink: 0;
  margin-bottom: 1px;
  margin-right: 3px;
  vertical-align: middle;
}

#cci-user-phone-requirement {
  margin-bottom: 1.5rem;
}