/* ============================================
   医疗陪诊模块 · 样式(深蓝+金色,移动端优先)
   依赖 style.css 的 :root 变量
   ============================================ */
.pz-body{background:var(--bg)}

/* ---------- 顶部 ---------- */
.pz-top{background:linear-gradient(135deg,var(--primary-dark),var(--primary) 55%,#15528F);color:#fff;padding:10px 0;position:relative}
.pz-top::after{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--gold),#E8C98A 40%,var(--gold));position:absolute;left:0;right:0;bottom:0}
.pz-top-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.pz-brand{display:flex;align-items:center;gap:10px}
.pz-brand-badge{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--gold),#8A6B33);display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff;font-weight:800;letter-spacing:0}
.pz-brand-text{font-size:19px;font-weight:700;letter-spacing:1px;color:#fff}
.pz-brand-text small{display:block;font-size:10px;font-weight:400;color:#A8C4E4;letter-spacing:1px}
.pz-top-links{margin-left:auto;display:flex;gap:14px;font-size:13px;align-items:center}
.pz-top-links a{color:#DCE8F7}
.pz-top-links a:hover{color:var(--gold)}
.pz-top-links .pz-top-strong{background:var(--gold);color:#fff;padding:6px 14px;border-radius:16px;font-weight:700}
.pz-top-links .pz-top-strong:hover{background:var(--gold-dark);color:#fff}

/* ---------- 导航 ---------- */
.pz-nav{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:60;box-shadow:0 1px 6px rgba(15,61,110,.05)}
.pz-nav-inner{display:flex;flex-wrap:wrap;gap:2px;overflow-x:auto}
.pz-nav-inner a{display:block;padding:12px 15px;font-size:14px;color:var(--text);font-weight:500;white-space:nowrap}
.pz-nav-inner a:hover{color:var(--primary)}
.pz-nav-inner a.active{color:var(--primary);font-weight:700;box-shadow:inset 0 -3px 0 var(--gold)}

/* ---------- 通用 ---------- */
.pz-wrap{padding:18px 0 40px}
.pz-flash{background:#E8F5EC;border:1px solid #B7E0C4;color:#1B7A3D;padding:10px 16px;border-radius:8px;margin:14px 0;font-size:14px;font-weight:600}
.pz-err{background:#FDECEA;border:1px solid #F5C2BE;color:#B42318;padding:10px 16px;border-radius:8px;margin:14px 0;font-size:14px}
.pz-hero{background:linear-gradient(135deg,#0F3D6E,#1B5AA8);color:#fff;border-radius:14px;padding:26px 22px;margin-bottom:18px;position:relative;overflow:hidden}
.pz-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:rgba(201,160,99,.16)}
.pz-hero h1{font-size:24px;margin-bottom:10px;letter-spacing:1px}
.pz-hero p{color:#CBDAEC;font-size:14px;max-width:720px}
.pz-hero .pz-hero-tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.pz-hero .pz-hero-tags span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:4px 12px;border-radius:14px;font-size:12px}
.pz-hero-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:2}
.pz-btn{display:inline-block;padding:11px 24px;border-radius:22px;font-weight:700;font-size:14px;border:none;cursor:pointer;transition:all .2s}
.pz-btn-gold{background:var(--gold);color:#fff}
.pz-btn-gold:hover{background:var(--gold-dark);color:#fff}
.pz-btn-line{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6)}
.pz-btn-line:hover{background:rgba(255,255,255,.14);color:#fff}
.pz-btn-primary{background:var(--primary);color:#fff}
.pz-btn-primary:hover{background:var(--primary-light);color:#fff}
.pz-btn-gray{background:#EDF1F7;color:var(--text)}
.pz-btn-gray:hover{background:#DDE5EF}
.pz-btn-sm{padding:6px 14px;font-size:13px;border-radius:16px}
.pz-btn-block{display:block;width:100%;text-align:center;padding:13px 0;font-size:15px}
.pz-btn:disabled{opacity:.55;cursor:not-allowed}

.pz-grid{display:grid;gap:16px}
.pz-g2{grid-template-columns:repeat(2,1fr)}
.pz-g3{grid-template-columns:repeat(3,1fr)}
.pz-g4{grid-template-columns:repeat(4,1fr)}
.pz-card{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:18px;margin-bottom:16px}
.pz-card-h{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--primary);padding-bottom:12px;margin-bottom:14px;border-bottom:2px solid var(--gold-light)}
.pz-card-h::before{content:"";width:4px;height:16px;background:var(--gold);border-radius:2px}
.pz-card-h .more{margin-left:auto;font-size:12px;font-weight:400;color:var(--text-sub)}

/* ---------- 入口卡 ---------- */
.pz-entry{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.pz-entry-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:var(--shadow);transition:all .2s;display:block}
.pz-entry-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--gold)}
.pz-entry-ico{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;margin-bottom:12px}
.pz-entry-card.gold .pz-entry-ico{background:linear-gradient(135deg,var(--gold),#8A6B33)}
.pz-entry-card h3{font-size:16px;color:var(--primary);margin-bottom:6px}
.pz-entry-card p{font-size:13px;color:var(--text-sub);line-height:1.65}

/* ---------- 服务卡 ---------- */
.pz-svc{border:1px solid var(--border);border-radius:12px;background:#fff;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.pz-svc-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.pz-svc-name{font-size:15px;font-weight:700;color:var(--primary);flex:1}
.pz-svc-hot{background:#FDECEA;color:#C0392B;font-size:11px;padding:2px 8px;border-radius:10px;font-weight:700;flex-shrink:0}
.pz-svc-price{color:#C0392B;font-weight:800;font-size:20px;white-space:nowrap}
.pz-svc-price small{font-size:12px;font-weight:400;color:var(--text-sub);margin-left:2px}
.pz-svc-intro{font-size:13px;color:var(--text-sub);margin-bottom:10px;min-height:38px}
.pz-svc-items{list-style:none;font-size:13px;color:var(--text);flex:1}
.pz-svc-items li{padding-left:16px;position:relative;margin-bottom:5px;line-height:1.6}
.pz-svc-items li::before{content:"";position:absolute;left:2px;top:8px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.pz-svc-notice{font-size:12px;color:#B07C2A;background:#FDF6E8;border-radius:6px;padding:7px 10px;margin:10px 0}
.pz-svc-foot{margin-top:10px;display:flex;gap:8px;align-items:center}
.pz-cat-title{font-size:16px;font-weight:700;color:var(--primary);margin:22px 0 12px;padding-left:12px;border-left:4px solid var(--gold)}

/* ---------- 流程 ---------- */
.pz-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:step}
.pz-flow-item{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px;position:relative}
.pz-flow-item b{display:block;font-size:14px;color:var(--primary);margin-bottom:6px}
.pz-flow-item p{font-size:13px;color:var(--text-sub);line-height:1.6}
.pz-flow-item::before{counter-increment:step;content:counter(step);position:absolute;right:12px;top:10px;font-size:22px;font-weight:800;color:var(--gold-light)}

/* ---------- 表格 ---------- */
.pz-table{width:100%;border-collapse:collapse;font-size:13px}
.pz-table th{background:#F5F8FC;color:var(--primary);font-weight:700;text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
.pz-table td{padding:10px 12px;border-bottom:1px solid #EEF2F7;vertical-align:top}
.pz-table tr:hover td{background:#FAFCFE}
.pz-tag{display:inline-block;font-size:11px;padding:2px 9px;border-radius:10px;background:#EDF1F7;color:var(--text-sub);font-weight:600}
.pz-tag.green{background:#E8F5EC;color:#1B7A3D}
.pz-tag.red{background:#FDECEA;color:#B42318}
.pz-tag.orange{background:#FDF3E3;color:#B07C2A}
.pz-tag.blue{background:#EAF1FA;color:var(--primary)}
.pz-mono{font-family:Consolas,Monaco,monospace;letter-spacing:.5px}

/* ---------- 表单 ---------- */
.pz-form-row{margin-bottom:16px}
.pz-form-row>label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:7px}
.pz-form-row>label .req{color:#C0392B;margin-left:3px}
.pz-input,.pz-select,.pz-textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:11px 13px;font-size:14px;font-family:inherit;background:#fff;outline:none;transition:border-color .2s}
.pz-input:focus,.pz-select:focus,.pz-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,61,110,.08)}
.pz-textarea{min-height:80px;resize:vertical}
.pz-hint{font-size:12px;color:var(--text-sub);margin-top:5px}
.pz-form-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.pz-radio-row{display:flex;flex-wrap:wrap;gap:10px}
.pz-radio-row label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:20px;padding:8px 16px;font-size:13px;cursor:pointer;background:#fff}
.pz-radio-row input{accent-color:var(--primary)}
.pz-radio-row label:has(input:checked){border-color:var(--gold);background:#FDF8EF;font-weight:700;color:var(--primary)}

/* ---------- 订单支付 ---------- */
.pz-pay{background:linear-gradient(135deg,#FFF9EE,#FDF3E3);border:1px dashed var(--gold);border-radius:12px;padding:20px;text-align:center}
.pz-pay-amount{font-size:34px;font-weight:800;color:#C0392B;line-height:1.2}
.pz-pay-amount small{font-size:16px;font-weight:600}
.pz-pay-no{font-family:Consolas,Monaco,monospace;font-size:15px;color:var(--primary);font-weight:700;letter-spacing:1px;margin-top:8px}
.pz-steps{display:flex;gap:0;margin:16px 0;flex-wrap:wrap}
.pz-steps div{flex:1;min-width:86px;text-align:center;font-size:12px;color:var(--text-sub);padding:8px 4px;border-top:3px solid #E3E8F0;position:relative}
.pz-steps div.on{color:var(--primary);font-weight:700;border-top-color:var(--gold)}

/* ---------- 进度条 ---------- */
.pz-bar{height:8px;background:#EDF1F7;border-radius:5px;overflow:hidden;margin:6px 0}
.pz-bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:5px;transition:width .4s}
.pz-bar.gold>i{background:linear-gradient(90deg,var(--gold),#E8C98A)}

/* ---------- 证书 ---------- */
.pz-cert{background:linear-gradient(160deg,#FFFDF8,#FFF7E8);border:3px double var(--gold);border-radius:14px;padding:30px 26px;text-align:center;position:relative;overflow:hidden}
.pz-cert::before{content:"";position:absolute;inset:10px;border:1px solid rgba(201,160,99,.4);border-radius:8px;pointer-events:none}
.pz-cert h2{font-size:22px;color:var(--primary);letter-spacing:3px;margin-bottom:4px}
.pz-cert .en{font-size:10px;color:var(--gold-dark);letter-spacing:2px;margin-bottom:18px}
.pz-cert .who{font-size:26px;font-weight:800;color:var(--primary);border-bottom:2px solid var(--gold);display:inline-block;padding:0 22px 4px;margin:6px 0 14px}
.pz-cert .body{font-size:14px;line-height:2.1;color:var(--text);text-align:left;max-width:620px;margin:0 auto;text-indent:2em}
.pz-cert .meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:13px;text-align:left;max-width:620px;margin:18px auto 0;color:var(--text-sub)}
.pz-cert .meta b{color:var(--primary)}
.pz-cert .seal{margin-top:18px;display:flex;justify-content:space-between;align-items:flex-end;max-width:620px;margin-left:auto;margin-right:auto;flex-wrap:wrap;gap:12px}
.pz-cert .seal .issuer{text-align:right;font-size:13px;line-height:1.9}
.pz-cert .seal .issuer b{color:var(--primary);font-size:15px}
.pz-cert-stamp{width:96px;height:96px;border:3px solid rgba(192,57,43,.55);border-radius:50%;color:rgba(192,57,43,.75);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;line-height:1.3;text-align:center;transform:rotate(-14deg)}
.pz-cert-warn{margin-top:16px;font-size:12px;color:#B07C2A;background:#FDF6E8;border-radius:8px;padding:10px 14px;text-align:left;line-height:1.7}
.pz-verify-ok{background:#E8F5EC;border:1px solid #B7E0C4;border-radius:10px;padding:16px;color:#1B7A3D}
.pz-verify-bad{background:#FDECEA;border:1px solid #F5C2BE;border-radius:10px;padding:16px;color:#B42318}

/* ---------- 课程 ---------- */
.pz-course{border:1px solid var(--border);border-radius:12px;background:#fff;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.pz-course-top{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.pz-course h3{font-size:15px;color:var(--primary);margin-bottom:6px}
.pz-course p{font-size:13px;color:var(--text-sub);flex:1;line-height:1.65}
.pz-course-meta{font-size:12px;color:var(--text-sub);margin:10px 0 6px}
.pz-lesson{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;margin-bottom:8px}
.pz-lesson:hover{border-color:var(--gold)}
.pz-lesson .idx{width:24px;height:24px;border-radius:50%;background:#EDF1F7;color:var(--text-sub);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pz-lesson.done .idx{background:#E8F5EC;color:#1B7A3D}
.pz-lesson .t{flex:1;font-size:14px;color:var(--text)}
.pz-lesson .m{font-size:12px;color:var(--text-sub)}
.pz-article{font-size:15px;line-height:2;color:var(--text)}
.pz-article p{margin-bottom:14px}

/* ---------- 考试 ---------- */
.pz-q{border:1px solid var(--border);border-radius:10px;background:#fff;padding:16px;margin-bottom:14px}
.pz-q .qt{font-size:14px;font-weight:700;color:var(--text);margin-bottom:10px;line-height:1.7}
.pz-q .qt .no{color:var(--gold-dark);margin-right:6px}
.pz-q .qt .type{font-size:11px;font-weight:600;color:var(--text-sub);background:#EDF1F7;padding:2px 8px;border-radius:8px;margin-left:6px}
.pz-opt{display:flex;gap:9px;align-items:flex-start;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:14px;margin-bottom:4px}
.pz-opt:hover{background:#F7FAFD}
.pz-opt input{margin-top:3px;accent-color:var(--primary);flex-shrink:0}
.pz-opt.right{background:#E8F5EC}
.pz-opt.wrong{background:#FDECEA}
.pz-score{text-align:center;padding:26px 16px}
.pz-score .num{font-size:62px;font-weight:800;line-height:1;color:var(--primary)}
.pz-score .num.pass{color:#1B7A3D}
.pz-score .num.fail{color:#C0392B}

/* ---------- 空态 ---------- */
.pz-empty{text-align:center;padding:44px 20px;color:var(--text-sub);font-size:14px}
.pz-empty b{display:block;font-size:16px;color:var(--text);margin-bottom:8px}

/* ---------- 底部 ---------- */
.pz-foot{background:#0A2A4D;color:#9FB6D4;margin-top:30px;padding:28px 0 18px;font-size:13px}
.pz-foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px}
.pz-foot-cols h4{color:#fff;font-size:14px;margin-bottom:10px}
.pz-foot-cols a{display:block;color:#9FB6D4;margin-bottom:6px}
.pz-foot-cols a:hover{color:var(--gold)}
.pz-foot-cols p{margin-bottom:6px}
.pz-foot-cols b{color:var(--gold)}
.pz-foot-note{background:rgba(255,255,255,.06);border-left:3px solid var(--gold);padding:12px 16px;border-radius:6px;line-height:1.8;font-size:12px;color:#B9CBE0}
.pz-foot-note b{color:#F0D9AC}
.pz-foot-copy{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#7A93B0}

/* ---------- 移动端 ---------- */
@media (max-width:900px){
  .pz-g4{grid-template-columns:repeat(2,1fr)}
  .pz-g3{grid-template-columns:1fr}
  .pz-entry{grid-template-columns:1fr}
  .pz-flow{grid-template-columns:repeat(2,1fr)}
  .pz-foot-cols{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .pz-body{font-size:14px}
  .pz-top-inner{gap:10px}
  .pz-brand-text{font-size:17px}
  .pz-top-links{font-size:12px;gap:10px}
  .pz-hero{padding:20px 16px;border-radius:12px}
  .pz-hero h1{font-size:20px}
  .pz-g2,.pz-g4{grid-template-columns:1fr}
  .pz-flow{grid-template-columns:1fr}
  .pz-form-2col{grid-template-columns:1fr}
  .pz-card{padding:14px}
  .pz-pay-amount{font-size:28px}
  .pz-table{font-size:12px}
  .pz-table th,.pz-table td{padding:8px}
  .pz-cert{padding:20px 14px}
  .pz-cert h2{font-size:17px;letter-spacing:1px}
  .pz-cert .who{font-size:21px}
  .pz-cert .body{font-size:13px;line-height:1.95}
  .pz-cert .meta{grid-template-columns:1fr}
  .pz-cert-stamp{width:78px;height:78px;font-size:11px}
  .pz-foot-cols{grid-template-columns:1fr}
  .pz-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* ---------- 表格横向滚动容器 ---------- */
.pz-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------- 底部固定操作条(移动端当 APP 用) ---------- */
.pz-fixbar{display:none}
@media (max-width:640px){
  .pz-fixbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid var(--border);box-shadow:0 -2px 12px rgba(15,61,110,.1);padding:8px 10px;gap:8px}
  .pz-fixbar a{flex:1;text-align:center;padding:10px 0;border-radius:20px;font-size:13px;font-weight:700;background:#EDF1F7;color:var(--primary)}
  .pz-fixbar a.main{background:var(--gold);color:#fff}
  .pz-body{padding-bottom:64px}
}
