.jelly-form {
  width: 100%;
  position: relative;
}
.jelly-form .jelly-form-fields {
  display: block;
}
.jelly-form .form-field {
  margin-bottom: 16px;
}
.jelly-form .form-field label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
}
.jelly-form .form-field input,
.jelly-form .form-field textarea {
  width: 100%;
  padding: 10px;
  font-size: 14px;
  box-sizing: border-box;
}
.jelly-form .form-field textarea {
  resize: vertical;
  min-height: 120px;
}
.jelly-form .form-submit {
  width: 100%;
}
.jelly-form.jelly-form--two-column .jelly-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}
.jelly-form.jelly-form--two-column .form-field {
  margin-bottom: 0;
}
.jelly-form.jelly-form--two-column .form-field--full {
  grid-column: 1 / -1;
}
.jelly-form .form-response {
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0;
  transform: translateY(-10px) scale(0);
  transition: all 0.3s ease;
}
.jelly-form .form-response.ok,
.jelly-form .form-response.error {
  opacity: 1;
  transform: translateY(0) scale(1);
  margin: 12px 0;
  padding: 12px 16px;
}
.jelly-form .form-response.ok {
  color: #1b7f3a;
  background-color: rgba(27, 127, 58, 0.1);
  border: 1px solid rgba(27, 127, 58, 0.2);
}
.jelly-form .form-response.error {
  color: #b00020;
  background-color: rgba(176, 0, 32, 0.1);
  border: 1px solid rgba(176, 0, 32, 0.2);
}
.jelly-form .required {
  color: #e53935;
}

/* 表单提交加载动画 */
.jelly-form {
  position: relative;
}

.jelly-form-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  pointer-events: none;
}

.jelly-form-loading-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.jelly-form-spinner {
  position: relative;
  animation: spin 1.2s linear infinite;
}

/* 圆点容器 - 使用绝对定位在中心 */
.jelly-form-spinner-dot {
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: #111827;
  border-radius: 50%;
  opacity: 0.5;
  /* 所有圆点都从中心开始定位 */
  left: 50%;
  top: 50%;
  transform-origin: 0 0; /* 以左上角为旋转原点 */
}

/* 12 个圆点均匀分布在半径为 26px 的圆上 */
/* 使用 transform: rotate() translateX() 来精确定位 */
.jelly-form-spinner-dot:nth-child(1) { transform: rotate(0deg) translateX(25px); }
.jelly-form-spinner-dot:nth-child(2) { transform: rotate(30deg) translateX(25px); }
.jelly-form-spinner-dot:nth-child(3) { transform: rotate(60deg) translateX(25px); }
.jelly-form-spinner-dot:nth-child(4) { transform: rotate(90deg) translateX(25px); }
.jelly-form-spinner-dot:nth-child(5) { transform: rotate(120deg) translateX(25px); }
.jelly-form-spinner-dot:nth-child(6) { transform: rotate(150deg) translateX(25px); }
.jelly-form-spinner-dot:nth-child(7) { transform: rotate(180deg) translateX(25px); }
.jelly-form-spinner-dot:nth-child(8) { transform: rotate(210deg) translateX(25px); }
.jelly-form-spinner-dot:nth-child(9) { transform: rotate(240deg) translateX(25px); }
.jelly-form-spinner-dot:nth-child(10) { transform: rotate(270deg) translateX(25px); }
.jelly-form-spinner-dot:nth-child(11) { transform: rotate(300deg) translateX(25px); }
.jelly-form-spinner-dot:nth-child(12) { transform: rotate(330deg) translateX(25px); }

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.jelly-form--two-column {
  position: relative;
}

.jelly-form-modal .jelly-form-popup {
  position: relative;
}

.jelly-form-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: none;
  justify-content: center;
  align-items: center;
}
.jelly-form-modal .jelly-form-popup {
  background: #fff;
  border-radius: 8px;
  padding: 30px;
  max-width: 480px;
  width: 90%;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
  box-sizing: border-box;
}
.jelly-form-modal .jelly-form-popup .jelly-form-popup-title {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 32px;
  text-align: center;
}
.jelly-form-modal .jelly-form-popup .jelly-form-popup-description {
  text-align: center;
  margin-bottom: 25px;
}
.jelly-form-modal .jelly-form-popup-close {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 24px;
  font-weight: bold;
  color: #aaa;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.jelly-form-modal .jelly-form-popup-close:hover {
  color: #333;
}

@media (max-width: 747px) {
  .jelly-form.jelly-form--two-column .jelly-form-fields {
    grid-template-columns: 1fr;
  }
  .jelly-form.jelly-form--two-column .form-field--full {
    grid-column: auto;
  }
  .jelly-form-modal .jelly-form-popup {
    padding: 20px;
    width: 85%;
  }
  .jelly-form-modal .jelly-form-popup .jelly-form-popup-title {
    font-size: 20px;
  }
} /*# sourceMappingURL=jelly-form.css.map */
