/* One native customization form, with or without the sign editor workflow. */
.product-customization:has(.awo-native-form) {
  padding: 1.25rem;
  border-color: var(--awo-line);
  border-radius: .75rem;
  background: #fff;
}
.product-customization:has(.awo-native-form) > .product-customization__title {
  margin-bottom: 1.25rem;
  padding-inline-start: .75rem;
  border-inline-start: 3px solid var(--awo-yellow);
  color: var(--awo-dark);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}
.awo-native-form { min-width: 0; }
.awo-native-form .awo-native-fields {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.awo-native-form .awo-native-field {
  margin: 0;
  padding: 0;
  border: 0;
}
.awo-native-form .awo-native-field[hidden] { display: none !important; }
.awo-native-form .product-customization__label {
  margin-bottom: .4rem;
  color: var(--awo-dark);
  font-size: .9375rem;
  font-weight: 600;
}
.awo-native-form .product-customization__field .product-message {
  min-height: 6rem;
  resize: vertical;
}
.awo-native-form .awo-native-field__footer {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: .5rem 1rem;
  margin-top: .375rem;
}
.awo-native-form .awo-native-field__footer .form-text {
  margin: 0;
  color: var(--awo-muted);
  font-size: .75rem;
}
.awo-native-form .awo-native-field__footer .form-text:empty { display: none; }
.awo-native-form .awo-native-field__footer .awo-native-character-count {
  flex: 0 0 auto;
  margin-inline-start: auto;
}
.awo-native-form .awo-native-upload {
  position: relative;
  padding: 1rem;
  border: 1px dashed var(--awo-control-border);
  border-radius: .625rem;
  background: #f8f9fb;
}
/* The transparent file input needs a visible focus indicator on its wrapper. */
.awo-native-form .awo-native-upload:focus-within {
  border-color: var(--awo-dark);
  outline: 3px solid var(--awo-dark);
  outline-offset: 3px;
}
.awo-native-form .awo-native-upload__intro {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .75rem;
  font-size: .875rem;
}
.awo-native-form .awo-native-upload__icon {
  flex: 0 0 auto;
  font-size: 1.4rem;
}
.awo-native-form .awo-native-upload input[type="file"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  min-width: 0;
  background: #fff;
  font-size: .8125rem;
}
.awo-native-form .awo-native-upload__filename {
  min-width: 0;
  font-size: .8125rem;
  overflow-wrap: anywhere;
}
.awo-native-form .awo-native-saved-attachment {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: .75rem;
}
.awo-native-form .awo-native-saved-attachment .product-customization__image {
  width: 4rem;
  height: 4rem;
  max-height: 4rem;
  border: 1px solid var(--awo-line);
  border-radius: .375rem;
  object-fit: contain;
}
.awo-native-form .awo-native-saved-attachment .product-customization__image-remove {
  position: static;
  font-size: .8125rem;
}
.awo-native-form .awo-native-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .875rem;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--awo-line);
}
.awo-native-form .awo-native-status {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: .375rem;
  margin: 0;
  padding: .625rem .75rem;
  color: var(--bs-alert-color, var(--awo-muted));
  font-size: .8125rem;
}
.awo-native-form .awo-native-status .material-icons { font-size: 1.15rem; }
.awo-native-form .awo-native-save {
  gap: .5rem;
  white-space: normal;
}
.awo-native-form .awo-native-save .material-icons { font-size: 1.25rem; }
.awo-native-form .awo-native-save-note {
  flex-basis: 100%;
  color: var(--awo-muted);
  font-size: .75rem;
  line-height: 1.4;
}
@media (max-width: 575.98px) {
  .awo-native-form .awo-native-field__footer,
  .awo-native-form .awo-native-upload__selection { flex-wrap: wrap; }
  .awo-native-form .awo-native-upload__filename { flex-basis: 100%; }
  .awo-native-form .awo-native-footer { align-items: stretch; }
  .awo-native-form .awo-native-status,
  .awo-native-form .awo-native-save { width: 100%; }
  .awo-native-form .awo-native-upload { padding: .875rem; }
}
