/* Orin Form Icons */

.orf-submit-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  fill: currentColor;
  vertical-align: middle;
  font-style: normal;
  transition: transform 0.3s ease;
}

/* Icon definitions using CSS pseudo-elements */
.orf-icon-arrow-right::before {
  content: "→";
  font-weight: inherit;
}

.orf-icon-arrow-right-empty::before {
  content: "🢧";
  font-weight: inherit;
}

.orf-icon-send::before {
  content: "➤";
  font-weight: inherit;
}

.orf-icon-chevron-right::before {
  content: "❯";
  font-weight: inherit;
}

.orf-icon-check::before {
  content: "✓";
  font-weight: inherit;
}

.orf-icon-plus::before {
  content: "+";
  font-weight: inherit;
}

.orf-icon-upload::before {
  content: "⇧";
  font-weight: inherit;
}

.orf-icon-save::before {
  content: "⇩";
  font-weight: inherit;
}

/* Hover Animation Styles - Only on hover, not during form submission */
.orf-form[data-icon-animation="1"]
  .orf-submit-btn:hover:not(:disabled)
  .orf-submit-icon {
  animation-duration: 0.6s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.orf-form[data-icon-animation="1"][data-icon-animation-type="move-right"]
  .orf-submit-btn:hover:not(:disabled)
  .orf-submit-icon {
  animation-name: orf-icon-move-right;
}

.orf-form[data-icon-animation="1"][data-icon-animation-type="move-up"]
  .orf-submit-btn:hover:not(:disabled)
  .orf-submit-icon {
  animation-name: orf-icon-move-up;
}

.orf-form[data-icon-animation="1"][data-icon-animation-type="move-down"]
  .orf-submit-btn:hover:not(:disabled)
  .orf-submit-icon {
  animation-name: orf-icon-move-down;
}

.orf-form[data-icon-animation="1"][data-icon-animation-type="scale"]
  .orf-submit-btn:hover:not(:disabled)
  .orf-submit-icon {
  animation-name: orf-icon-scale;
}

/* Animation Keyframes */
@keyframes orf-icon-move-right {
  0%,
  100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(6px);
  }
}

@keyframes orf-icon-move-up {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

@keyframes orf-icon-move-down {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(6px);
  }
}

@keyframes orf-icon-scale {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
}

/* Stop animations when button is disabled or during submission */
.orf-submit-btn:disabled .orf-icon,
.orf-submit-btn.orf-submitting .orf-submit-icon {
  animation: none !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .orf-submit-content {
    gap: 6px;
  }
}
