/* ============================================================
   骏烨 Junyeah · 快速报价表单（Hero 卡片内）
   独立文件，不改动 style.css，避免影响既有页面
   ============================================================ */

.quote-form {
  margin-top: 18px;
  display: grid;
  gap: 9px;
}

.quote-form input,
.quote-form textarea {
  width: 100%;
  padding: 10px 12px;
  font: inherit;
  font-size: 14px;
  color: #fff;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--radius);
  outline: none;
  transition: border-color .15s, background .15s;
}

.quote-form textarea {
  resize: vertical;
  min-height: 56px;
  line-height: 1.5;
}

.quote-form input::placeholder,
.quote-form textarea::placeholder {
  color: rgba(255, 255, 255, .45);
}

.quote-form input:focus,
.quote-form textarea:focus {
  border-color: var(--accent);
  background: rgba(255, 255, 255, .11);
}

.quote-form input.invalid,
.quote-form textarea.invalid {
  border-color: #ff8a70;
}

.quote-form .btn-accent {
  margin-top: 3px;
  padding: 11px 16px;
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  font-weight: 600;
}

.quote-form .btn-accent:hover {
  background: var(--accent-dk);
  border-color: var(--accent-dk);
  color: #fff;
}

.quote-form .btn-accent:disabled {
  opacity: .6;
  cursor: not-allowed;
}

/* 提交中的加载态 */
.quote-form .btn-accent.loading::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 8px;
  vertical-align: -1px;
  border: 2px solid rgba(255, 255, 255, .4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: quote-spin .7s linear infinite;
}

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

/* 提示信息 */
.quote-msg {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}
.quote-msg:empty { display: none; }
.quote-msg.ok { color: #6ee7a8; }
.quote-msg.err { color: #ffb4a2; }

/* 提交成功：收起表单，仅留提示与 WhatsApp 通道 */
.quote-form.done { display: none; }

/* 「或直接联系」区 */
.quote-alt {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  display: grid;
  gap: 8px;
}

.quote-or {
  font-size: 12px;
  letter-spacing: .04em;
  color: rgba(255, 255, 255, .5);
}

.quote-num {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-disp);
  font-size: 15px;
  letter-spacing: .04em;
  color: rgba(255, 255, 255, .75);
}
