/* ═══════════════════════════════════════════════════════════════
   PriceStocker 静的ドキュメント/フォームページ部品（doc.css / v0.182）
   - 対象: 法務4ページ（terms/privacy/disclaimer/tokushoho）・register.php
   - グローバルchromeは本体共通（ps.css）を読み込む前提
     （参照実装: release_notes.php ＋ rn.css。本ファイルは本文部品のみ）
   - 色・線はトークン参照のみ（直書き禁止）。角R統一ルール: コンテンツ部品=7px（v0.175）
   - フラット原則: backdrop-filter/グラデーション/影ぼかし 不使用
   - 正典: 本番のフラット実装（ps.css のトークン）＋ development_guide.md §3
   ═══════════════════════════════════════════════════════════════ */

/* ── 記事本文（法務ページ・Notion調の行文書） ── */
.doc-body{max-width:760px;}
.doc-body p{font-size:13px;color:var(--text2);line-height:1.9;margin:10px 0;}
.doc-body h2{font-size:13.5px;font-weight:600;color:var(--text);letter-spacing:.02em;margin:26px 0 6px;padding-bottom:7px;border-bottom:1px solid var(--ps-line-2,rgba(255,255,255,.08));}
.doc-body ul{padding-left:20px;margin:8px 0;}
.doc-body li{font-size:13px;color:var(--text2);line-height:1.85;margin-bottom:4px;}
.doc-body li::marker{color:var(--text3);}
.doc-body strong{color:var(--text);font-weight:600;}
.doc-body h3{font-size:12.5px;font-weight:600;color:var(--text);margin:16px 0 2px;}
.doc-body ol{padding-left:20px;margin:8px 0;}
.doc-body .doc-callout{background:var(--surface2);border:1px solid var(--ps-line-3,var(--border));border-radius:7px;padding:12px 16px;}
.doc-body .note{font-size:12px;color:var(--text3);line-height:1.8;}
.doc-body a{color:var(--action);text-decoration:none;}
.doc-body a:hover{text-decoration:underline;}
.doc-body table{width:100%;border-collapse:collapse;margin:12px 0;}
.doc-body th,.doc-body td{font-size:12.5px;text-align:left;padding:9px 10px;border-bottom:1px solid var(--ps-line-row,rgba(255,255,255,.055));line-height:1.7;}
.doc-body th{color:var(--text3);font-weight:500;white-space:nowrap;width:180px;vertical-align:top;}
.doc-body thead th{width:auto;}
.doc-body td{color:var(--text2);}
.doc-foot{margin-top:30px;padding-top:16px;border-top:1px solid var(--ps-line-2,rgba(255,255,255,.08));font-size:12px;color:var(--text3);text-align:center;line-height:1.9;}
.doc-foot a{color:var(--action);text-decoration:none;}
.doc-foot a:hover{text-decoration:underline;}

/* ── 申込フォーム（register.php） ── */
.reg-wrap{max-width:480px;margin:0 auto;}
.reg-card{background:var(--surface);border:1px solid var(--ps-line-3,var(--border));border-radius:7px;padding:28px 26px 24px;}
.reg-sub{font-size:12.5px;color:var(--text2);line-height:1.8;margin-bottom:20px;}
.reg-steps{display:flex;gap:6px;margin-bottom:20px;}
.reg-step{flex:1;text-align:center;padding:8px 4px 9px;border-radius:7px;background:var(--surface2);border:1px solid var(--ps-line-3,var(--border));}
.reg-step.cur{background:var(--ps-badge-gold-bg,rgba(203,175,84,.14));border-color:transparent;}
.reg-step .n{display:block;font-size:10px;color:var(--text3);letter-spacing:.08em;}
.reg-step.cur .n{color:var(--ps-badge-gold-tx,var(--accent2));}
.reg-step .t{font-size:11px;color:var(--text2);}
.reg-step.cur .t{color:var(--text);font-weight:500;}
.reg-label{display:block;font-size:11.5px;color:var(--text2);font-weight:500;margin-bottom:6px;}
.reg-input{width:100%;background:var(--surface2);border:1px solid var(--border2);border-radius:7px;color:var(--text);font-size:14px;font-family:inherit;padding:12px 14px;outline:none;transition:border-color .15s;}
.reg-input::placeholder{color:var(--text3);}
.reg-input:focus{border-color:var(--action);}
.reg-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:16px;padding:13px;background:var(--action);border:1px solid var(--action);border-radius:7px;color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s;letter-spacing:.02em;}
.reg-btn:hover{background:var(--action-h);}
.reg-alert{padding:11px 14px;border-radius:7px;font-size:12px;line-height:1.7;margin-bottom:16px;background:transparent;border:1px solid;}
.reg-alert.err{border-color:var(--danger);color:var(--danger);}
.reg-alert.info{border-color:var(--info,var(--action));color:var(--info,var(--action));}
.reg-note{margin-top:18px;padding-top:16px;border-top:1px solid var(--ps-line-2,rgba(255,255,255,.08));font-size:11px;color:var(--text3);line-height:1.9;}
.reg-note a{color:var(--action);text-decoration:none;}
.reg-note a:hover{text-decoration:underline;}
.reg-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;font-size:10.5px;color:var(--text3);letter-spacing:.03em;}
@media(max-width:520px){.reg-card{padding:22px 18px 20px;}}
