/* EMII Components — Form Validator v5.25 */
.emii-form-validator,
[data-emii-validate],
[data-emii-form-validator] {
  position: relative;
}

.emii-validation-summary {
  display: none;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--emii-red) 28%, var(--emii-line));
  background: color-mix(in srgb, var(--emii-red) 9%, var(--emii-surface));
  color: var(--emii-text);
  padding: 12px 14px;
  margin-bottom: 14px;
  box-shadow: 0 10px 28px rgba(255, 59, 48, .08);
}

.emii-validation-summary.is-visible {
  display: block;
}

.emii-validation-summary strong {
  display: block;
  color: var(--emii-red);
  font-size: 13px;
  font-weight: 950;
  margin-bottom: 7px;
}

.emii-validation-summary ul {
  margin: 0;
  padding: 0 18px 0 0;
  color: var(--emii-muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.9;
}

.emii-field.is-invalid .emii-input,
.emii-field.is-invalid .emii-select,
.emii-field.is-invalid .emii-textarea,
.emii-field.is-invalid .emii-price-input {
  box-shadow: 0 0 0 4px var(--emii-red-soft), inset 0 1px 0 rgba(255,255,255,.52);
  border-color: color-mix(in srgb, var(--emii-red) 54%, var(--emii-line));
}

.emii-field.is-valid .emii-input,
.emii-field.is-valid .emii-select,
.emii-field.is-valid .emii-textarea,
.emii-field.is-valid .emii-price-input {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--emii-green) 15%, transparent), inset 0 1px 0 rgba(255,255,255,.42);
}

.emii-field-error {
  color: var(--emii-red);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.7;
  margin: 6px 4px 0;
}

.emii-field-help {
  color: var(--emii-muted);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.7;
  margin: 6px 4px 0;
}

.emii-required-mark {
  color: var(--emii-red);
  font-weight: 950;
  margin-inline-start: 3px;
}

[data-emii-validation-state="invalid"] [type="submit"].emii-btn-primary,
[data-emii-validation-state="invalid"] button[data-emii-validator-submit].emii-btn-primary {
  box-shadow: 0 10px 24px rgba(255, 59, 48, .16);
}

.emii-app[data-theme="dark"] .emii-validation-summary {
  background: color-mix(in srgb, var(--emii-red) 13%, rgba(28,28,30,.92));
  border-color: color-mix(in srgb, var(--emii-red) 32%, rgba(255,255,255,.08));
}

@media (max-width: 640px) {
  .emii-validation-summary {
    border-radius: 16px;
    padding: 11px 12px;
  }
}
