.mik-fast-form {
  position: relative;
}

.mik-fast-form input,
.mik-fast-form textarea,
.mik-fast-form button {
  box-sizing: border-box;
}

.mik-fast-form input:focus-visible,
.mik-fast-form textarea:focus-visible,
.mik-fast-form button:focus-visible {
  outline: 3px solid rgba(246, 183, 28, 0.35);
  outline-offset: 2px;
}

.mik-fast-form .mik-submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  cursor: pointer;
}

.cform-contact .col-button .mik-submit {
  width: 100%;
  background-color: var(--e-global-color-primary);
  border: 0;
  border-radius: 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 13px 24px;
  text-transform: uppercase;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.cform-contact .col-button .mik-submit:hover {
  box-shadow: 0 3px 13px rgb(0 0 0 / 15%);
  transform: translateY(-2px);
}

.mik-fast-form .mik-submit:disabled {
  cursor: wait;
  opacity: 0.78;
  transform: none;
}

.mik-submit-spinner {
  display: none;
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: mik-spin 0.7s linear infinite;
}

.mik-submit.is-loading .mik-submit-spinner {
  display: inline-block;
}

.mik-inline-feedback {
  display: none;
  margin: 10px 0 0 !important;
  padding: 10px 12px;
  border-left: 4px solid transparent;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.mik-inline-feedback.is-info,
.mik-inline-feedback.is-success,
.mik-inline-feedback.is-error {
  display: block;
}

.mik-inline-feedback.is-info {
  color: #12345a !important;
  background: #eaf3fb;
  border-left-color: #2a6da8;
}

.mik-inline-feedback.is-success {
  color: #0b5f35 !important;
  background: #e8f6ee;
  border-left-color: #16864d;
}

.mik-inline-feedback.is-error {
  color: #8a281c !important;
  background: #fff0ed;
  border-left-color: #c84938;
}

.form-footer-items .mik-inline-feedback {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.1);
}

.form-footer-items .mik-inline-feedback.is-success {
  border-left-color: #50d890;
}

.form-footer-items .mik-inline-feedback.is-error {
  border-left-color: #ff8878;
}

.mik-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

@keyframes mik-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .mik-submit-spinner { animation-duration: 1.4s; }
  .mik-fast-form .mik-submit { transition: none; }
}
