.form-required-note {
  margin: 0 0 18px;
  color: #637080;
  font-size: 13px;
}

.form-required-note > span,
.required-marker {
  color: #b42318;
  font-weight: 800;
}

.application-method-title {
  margin-bottom: 8px;
  color: #062443;
  font-size: 12px;
  font-weight: 700;
}

.application-form .input-validation-error,
.application-form [aria-invalid="true"] {
  border-color: #b42318 !important;
  box-shadow: 0 0 0 3px rgba(180, 35, 24, .12);
}

.application-form .field-validation-error {
  margin-top: 5px;
  color: #b42318;
  font-size: 12px;
  font-weight: 600;
}

.application-form input::placeholder,
.application-form textarea::placeholder {
  color: #a9b1ba;
  opacity: 1;
}

.application-form .validation-summary-valid {
  display: none;
}

.application-form .validation-summary-errors:focus,
.application-success:focus {
  outline: 3px solid rgba(201, 149, 46, .45);
  outline-offset: 6px;
}

#application {
  scroll-margin-top: 90px;
}

.application-form select {
  width: 100%;
  min-height: 45px;
  padding: 12px 40px 12px 13px;
  border: 1px solid #d9dfe4;
  border-radius: 8px;
  background-color: #fff;
  color: #243442;
  font: inherit;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #536171 50%),
                    linear-gradient(135deg, #536171 50%, transparent 50%);
  background-position: calc(100% - 18px) 19px, calc(100% - 13px) 19px;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
}

.application-form select:focus {
  border-color: #c9952e;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(201, 149, 46, .14);
}

.application-form input[type="date"].date-picker-empty {
  color: transparent;
}

.application-form input[type="date"].date-picker-empty::-webkit-datetime-edit,
.application-form input[type="date"].date-picker-empty::-webkit-datetime-edit-fields-wrapper {
  visibility: hidden;
  opacity: 0;
}

.application-form input[type="date"].date-picker-empty::-webkit-calendar-picker-indicator {
  visibility: visible;
  opacity: 1;
}

.application-form input[type="date"] {
  cursor: pointer;
}

.photo-upload-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 20px;
  align-items: start;
}

.photo-preview {
  overflow: hidden;
  border: 1px solid #e4dccd;
  border-radius: 12px;
  background: #fff;
}

.photo-preview img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.photo-preview button {
  width: 100%;
  padding: 8px;
  border: 0;
  border-top: 1px solid #e4dccd;
  background: #fff;
  color: #b42318;
  font-weight: 700;
}

.repeatable-field {
  padding: 18px;
  border: 1px solid #e4dccd;
  border-radius: 12px;
  background: #fff;
}

.repeatable-list {
  display: grid;
  gap: 10px;
}

.repeatable-head,
.repeatable-row {
  display: grid;
  grid-template-columns: repeat(var(--repeatable-columns, 1), minmax(110px, 1fr)) auto;
  gap: 9px;
}

.repeatable-head {
  align-items: end;
  margin-bottom: 7px;
  color: #536171;
  font-size: 12px;
  font-weight: 700;
}

.repeatable-field > label {
  display: block;
  margin: -18px -18px 16px;
  padding: 12px 18px;
  border-bottom: 1px solid #e4dccd;
  border-radius: 12px 12px 0 0;
  background: #f5f5f4;
  color: #243442;
}

.repeatable-row {
  align-items: end;
}

.repeatable-cell { min-width: 0; }

.repeatable-caption {
  display: none;
  margin-bottom: 6px;
  color: #536171;
  font-size: 12px;
  font-weight: 600;
}

.repeatable-cell input,
.repeatable-cell select { width: 100%; }

.repeatable-add,
.repeatable-row-add,
.repeatable-remove {
  border: 1px solid #c9952e;
  border-radius: 8px;
  background: #fff;
  color: #8b641b;
  font-weight: 700;
  cursor: pointer;
}

.repeatable-add {
  margin-top: 11px;
  padding: 9px 13px;
}

.repeatable-remove {
  padding: 9px 12px;
  border-color: #dc8a84;
  color: #a52b22;
}

.repeatable-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.repeatable-row-add,
.repeatable-remove {
  width: 40px;
  height: 45px;
  min-height: 45px;
  font-size: 20px;
  line-height: 1;
}

.repeatable-row-add { color: #176b3a; border-color: #79b591; }

.repeatable-add:hover,
.repeatable-add:focus,
.repeatable-row-add:hover,
.repeatable-row-add:focus { background: #edf8f1; }
.repeatable-remove:hover,
.repeatable-remove:focus { background: #fff0ef; }

@media (max-width: 820px) {
  .photo-upload-row {
    grid-template-columns: 1fr;
  }

  .photo-preview {
    width: 140px;
  }

  .repeatable-row {
    grid-template-columns: 1fr;
    padding: 14px;
    border: 1px solid #e4dccd;
    border-radius: 10px;
    background: #fbfaf7;
  }

  .repeatable-head { display: none; }

  .repeatable-caption { display: block; }

  .repeatable-actions {
    justify-self: start;
  }
}
