
.jdh-pr { padding:8px 0 72px; }
.jdh-pr-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; max-width:1120px; margin:0 auto; align-items:stretch; }
.jdh-pr-card { position:relative; display:flex; flex-direction:column; padding:32px 28px 28px; border:1px solid var(--jd-line); border-radius:24px; background:rgba(255,255,255,.86); box-shadow:0 18px 40px -32px rgba(24,27,41,.35); }
.jdh-pr-card--hi { border:2px solid var(--jd-teal); background:#fff; box-shadow:0 26px 60px -34px rgba(2,79,95,.55); }
.jdh-pr-badge { position:absolute; top:-14px; left:50%; transform:translateX(-50%); padding:5px 14px; border-radius:999px; background:var(--jd-teal); color:#fff; font-size:13px; font-weight:600; line-height:18px; white-space:nowrap; }
.jdh-pr-badge--soft { background:var(--jd-lav); color:var(--jd-ink); }
.jdh-pr-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; }
.jdh-pr-name { font-family:var(--jd-serif); font-size:28px; line-height:34px; color:var(--jd-ink); }
.jdh-pr-save { flex:none; padding:3px 10px; border-radius:999px; background:rgba(46,160,120,.14); color:#18684A; font-size:12.5px; font-weight:700; line-height:18px; letter-spacing:.02em; white-space:nowrap; }
.jdh-pr-desc { margin-top:8px; min-height:44px; font-size:14px; line-height:22px; color:var(--jd-muted); }
.jdh-pr-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 6px; margin-top:20px; }
.jdh-pr-amount { font-size:48px; line-height:52px; font-weight:700; letter-spacing:-.02em; color:var(--jd-ink); }
.jdh-pr-suffix { font-size:16px; color:var(--jd-body); }
.jdh-pr-line { margin-top:6px; min-height:22px; font-size:14.5px; line-height:22px; color:var(--jd-body); }
.jdh-pr-orig { color:var(--jd-muted); text-decoration:line-through; }
.jdh-pr-ref { margin-top:2px; font-size:12.5px; line-height:18px; color:var(--jd-muted); }
.jdh-pr-cta { margin-top:20px; }
.jdh-pr-btn { width:100%; height:52px; border-radius:999px; border:1.5px solid var(--jd-teal); background:#fff; color:var(--jd-teal-deep); font:inherit; font-size:16px; font-weight:600; cursor:pointer; transition:background .2s var(--jd-ease), color .2s var(--jd-ease), transform .1s; }
.jdh-pr-btn:hover:not(:disabled) { background:var(--jd-lav); }
.jdh-pr-btn--primary { background:var(--jd-teal); color:#fff; }
.jdh-pr-btn--primary:hover:not(:disabled) { background:var(--jd-teal-deep); }
.jdh-pr-btn:active:not(:disabled) { transform:scale(.98); }
.jdh-pr-btn:disabled { opacity:.55; cursor:not-allowed; }
.jdh-pr-err { margin-top:8px; font-size:13px; line-height:20px; color:#A33A3A; }
.jdh-pr-terms { margin-top:12px; font-size:12.5px; line-height:19px; color:var(--jd-muted); }
.jdh-pr-feats { margin-top:22px; padding-top:20px; border-top:1px solid var(--jd-line); display:flex; flex-direction:column; gap:11px; }
.jdh-pr-feats li { display:flex; gap:10px; font-size:15px; line-height:22px; color:var(--jd-body); }
.jdh-pr-feats li b { color:var(--jd-ink); font-weight:600; }
.jdh-pr-feats svg { flex:none; margin-top:3px; color:var(--jd-mint); }
.jdh-pr-mark { margin-left:1px; color:var(--jd-teal-deep); text-decoration:none; font-family:var(--jd-sans); font-size:.7em; vertical-align:super; line-height:0; }
.jdh-pr-mark:hover { text-decoration:underline; }
.jdh-pr-tax { max-width:820px; margin:28px auto 0; text-align:center; font-size:13.5px; line-height:21px; color:var(--jd-body); }
.jdh-pr-note { max-width:820px; margin:8px auto 0; text-align:center; font-size:13px; line-height:21px; color:var(--jd-muted); }
.jdh-pr-foot { max-width:820px; margin:8px auto 0; text-align:center; font-size:13px; line-height:21px; color:var(--jd-body); }
.jdh-pr-foot a { color:var(--jd-teal-deep); text-decoration:underline; text-underline-offset:2px; }
.jdh-pr-empty { max-width:640px; margin:0 auto; padding:28px; border:1px dashed var(--jd-line); border-radius:20px; text-align:center; color:var(--jd-body); }
@media (max-width: 960px) {
  .jdh-pr-grid { grid-template-columns:1fr; max-width:480px; gap:28px; }
  .jdh-pr-desc, .jdh-pr-line { min-height:0; }
}
