/* ===========================================================
 * 彭祖学院 · 道场报名表单 回执卡 / 错误提示  v1  ·  2026-09-13
 * 新增文件，不改动 course.css / global.css 任何规则
 * =========================================================== */

/* 页面内错误提示（替代被微信浏览器屏蔽的 alert） */
.pzc-err {
  display: none;
  background: #fdf1ee;
  border: 1px solid #e8b9b0;
  border-radius: 8px;
  padding: 12px 14px;
  margin: 0 0 14px;
  color: #a4341f;
  font-size: 14px;
  line-height: 1.7;
  animation: pzcErrIn .25s ease-out;
}
@keyframes pzcErrIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* 提交按钮禁用态 */
.pzc-submit[disabled] {
  opacity: .62;
  cursor: default;
  filter: saturate(.75);
}

/* ---------------- 提交成功回执卡 ---------------- */
.pzc-receipt {
  background: var(--paper, #fffdf9);
  border: 1px solid var(--line, #e7dcc6);
  border-radius: var(--radius, 12px);
  padding: 26px 18px 22px;
  text-align: center;
  animation: pzcOkIn .32s cubic-bezier(.2, .8, .3, 1);
}
@keyframes pzcOkIn { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }

.pzc-ok-mark {
  width: 54px; height: 54px; line-height: 54px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: var(--pzc-okbg, #e8f4ec);
  color: var(--pzc-okfg, #2e6f4a);
  border: 2px solid #b6d9c2;
  font-size: 28px; font-weight: 700;
}
.pzc-ok-title {
  font-size: 20px;
  color: var(--navy, #22304a);
  margin: 0 0 10px;
  font-weight: 700;
}
.pzc-ok-body {
  font-size: 14.5px;
  color: #5c5346;
  line-height: 1.85;
  margin: 0 0 16px;
  text-align: left;
}
.pzc-ok-no {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--pzc-creambg, #faf5ea);
  border: 1px dashed var(--gold, #c9a227);
  border-radius: 8px;
  padding: 10px 12px;
  margin: 0 0 16px;
  flex-wrap: wrap;
}
.pzc-ok-no span { font-size: 12.5px; color: var(--pzc-muted, #8a6a2e); }
.pzc-ok-no b { font-size: 17px; letter-spacing: .5px; color: #7a5a1c; word-break: break-all; }
.pzc-ok-contact {
  font-size: 13.5px;
  color: #6b5b45;
  margin: 0 0 10px;
  line-height: 1.7;
}
.pzc-ok-btn { display: block; margin: 0 auto 14px; max-width: 340px; }
.pzc-ok-privacy {
  font-size: 12px;
  color: var(--pzc-muted, #8a6a2e);
  line-height: 1.7;
  margin: 0;
  border-top: 1px dashed #efe7d6;
  padding-top: 12px;
}

@media (max-width: 420px) {
  .pzc-receipt { padding: 22px 14px 18px; }
  .pzc-ok-title { font-size: 18px; }
  .pzc-ok-no b { font-size: 16px; }
}

/* 2026-09-19 修：业务校验未过时，高亮出错字段（红框 + 淡红底），输入即自动消除 */
.pzc-invalid,
.pzc-form .pzc-invalid {
  border-color: #c8442a !important;
  background: #fff7f5 !important;
  box-shadow: 0 0 0 3px rgba(200, 68, 42, .12);
  transition: box-shadow .2s, border-color .2s;
}
.pzc-invalid:focus { outline: none; }
