/* ============================================================
   Puchuan — section-contact-form.css
   预约演示表单：双栏布局（左文案+联系方式 / 右表单卡）
   表单反馈：成功提示 / 错误提示 / 焦点环（规范 §5.3、§8）
   ============================================================ */

/* ---------- 联系方式列表（左栏） ---------- */
.pc-contact-channel {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* 图标容器：44px 方形浅蓝底 + 主色图标（规范 §5.2 图标容器节奏） */
.pc-contact-channel-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 0.75rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-600);
}

.pc-contact-channel-text {
  display: flex;
  flex-direction: column;
}

.pc-contact-channel-label {
  display: block;
  font-size: 0.75rem;
  color: var(--color-text-muted);
}

.pc-contact-channel-value {
  display: block;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--color-text-primary);
  word-break: break-all;
}

/* ---------- 表单网格 ---------- */
.pc-form-grid {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .pc-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 跨整行（需求说明、成功/错误提示所在容器） */
.pc-field--full {
  grid-column: 1 / -1;
}

/* ---------- 字段 ---------- */
.pc-field-label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text-primary);
}

.pc-field-input {
  width: 100%;
  padding: 0.625rem 0.875rem;
  border-radius: 0.75rem;
  border: 1px solid var(--color-border);
  background-color: var(--color-surface);
  color: inherit;
  font-size: 1rem; /* 16px：避免 iOS Safari 聚焦时自动放大 */
  font-family: inherit;
  transition: border-color 0.2s, box-shadow 0.2s;
}

/* 规范 §8 焦点环：outline 主环（不可删）+ 软光晕视觉增强（对齐 customer.css） */
.pc-field-input:focus {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 2px;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--focus-ring-primary-soft);
}

.pc-field-input::placeholder {
  color: var(--color-text-muted-light);
}

textarea.pc-field-input {
  min-height: 6rem;
  resize: vertical;
}

/* 必填说明（提交按钮上方小字） */
.pc-required-note {
  margin-top: 0.75rem;
  font-size: 0.75rem;
  color: var(--color-text-muted);
}

/* ---------- 表单反馈 ---------- */
/* 成功提示（提交后页面重载并带 ?contact_posted=true） */
.pc-form-success {
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  background-color: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: var(--color-success);
}

.pc-form-success p + p {
  margin-top: 0.25rem;
  color: var(--color-text-secondary);
}

/* 错误提示（default_errors 输出） */
.pc-form-errors {
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  background-color: var(--color-error-soft-bg);
  border: 1px solid var(--color-error-soft-border);
  color: var(--color-error);
  font-size: 0.875rem;
}

/* 区块内提交按钮全宽（btn-primary 基础样式在 base.css） */
.contact-form-section .btn-primary {
  width: 100%;
}

/* ---------- 减少动态效果降级（规范 §7.4） ---------- */
@media (prefers-reduced-motion: reduce) {
  .pc-field-input {
    transition: none;
  }
}
