/* ============================================================================
   site.css — CB案 v3 のデザイン（styles.css / refinements.css / v3.css）を
   本番の仕組みに載せるための追加分だけを書く。見た目の正本は上の3ファイル。
   2026-10-02 ビーグル
   ============================================================================ */

/* ---- 招待の振り分け（site.js ではなく <head> の小さなスクリプトが html[data-invite] を付ける）----
   通常（shikanoba）と「ご招待の先生へ」の両方をHTMLに置き、CSSで片方だけ見せる。
   JSより先に効くので、読み込み中に通常の案内が一瞬見える（ちらつき）ことがない。
   🔴 special 側には秘密のコードを書かない（個別連絡の案内だけ）。 */
[data-invite-view="special"] { display: none !important; }
html[data-invite="special"] [data-invite-view="general"] { display: none !important; }
html[data-invite="special"] [data-invite-view="special"] { display: revert !important; }

/* 固定バー：special 側の「招待のご案内」は1つ目の子ではなくなるので、デザインの指定を写す */
.sticky-download > a[data-invite-view] { font-size: 10px; text-decoration: none; line-height: 1.7; min-width: 88px; }
@media (min-width: 761px) { .sticky-download { display: none; } }

/* 特別招待のFAQ枠（v3 指定文） */
.benefit-detail { padding: 22px 26px; border: 1px solid var(--line); border-radius: 16px; background: #f3f9ff; }

/* ---- 社内アクセスの印（デザイン internal-badge.html の .internal-badge を使う）---- */
.internal-badge { pointer-events: none; }

/* ---- コピーのトースト ---- */
#toast.show { display: block; }

/* ---- ダイアログ（デザイン form-*.html の内側を、既存の <dialog> に載せる）----
   refinements.css の .inquiry-dialog は見本用に position:relative / margin:0 auto を持つため、
   本物の <dialog> では中央寄せとスクロール枠（runtime-dialog）を優先させる。 */
dialog.runtime-dialog.inquiry-dialog { margin: auto; padding: 32px; border-radius: 22px; background: #fff; }
dialog.runtime-dialog .inquiry-success { display: none; }
dialog.runtime-dialog .inquiry-success.show { display: block; }
dialog.runtime-dialog .inquiry-form.is-done { display: none; }
/* 入力欄の見た目は styles.css の .form-shell が正本。ここでは複数選択の「チップ」だけ補う（デザインCSSに無いため） */
.chip-check-group { display: flex; flex-wrap: wrap; gap: 8px; }
.chip-check { display: inline-flex !important; align-items: center; gap: 6px; padding: 8px 14px; border: 1px solid #c9dcec; border-radius: 999px; font-weight: 600 !important; font-size: 14px !important; cursor: pointer; margin: 0 !important; }
.chip-check input { margin: 0; }
.chip-check-group[aria-invalid="true"] { outline: 2px solid #c64646; outline-offset: 4px; border-radius: 12px; }
.check-inline { display: flex !important; align-items: center; gap: 8px; }
.inquiry-error a { color: inherit; text-decoration: underline; }
@media (max-width: 760px) { dialog.runtime-dialog.inquiry-dialog { padding: 25px 20px; } }

/* ---- 規約類：本文は一字も変えず、元ページの表・枠の体裁をデザインの色に合わせて写す ---- */
.legal table { width: 100%; border-collapse: collapse; margin: 12px 0 18px; font-size: 13.5px; background: #fff; }
.legal th, .legal td { text-align: left; padding: 10px 14px; border: 1px solid var(--line); vertical-align: top; }
.legal th { background: #f3f9ff; font-weight: 700; color: var(--navy); }
.legal .lead { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px 20px; margin-bottom: 8px; font-size: inherit; max-width: none; }
.legal .lead p { margin: 0; }
.legal .warn, .legal .note { background: #fff8e6; border: 1px solid #f0d9a0; border-radius: 10px; padding: 14px 18px; margin: 16px 0; }
.legal .warn p, .legal .note p { margin: 0; font-size: 13.5px; }
.legal .ng { color: #b91c1c; font-weight: 700; }
.legal .ok { color: #15803d; font-weight: 700; }
.legal .steps { list-style: revert; counter-reset: none; padding: 16px 20px 16px 40px; background: #fff; border: 1px solid var(--line); border-radius: 12px; margin: 12px 0; }
.legal .steps li { display: list-item; padding: 0; border: 0; margin-bottom: 6px; }
.legal .steps li:before { content: none; }
.legal .placeholder { background: #fff3cd; padding: 2px 6px; border-radius: 4px; }
.legal.tokushoho th { width: 180px; }
.legal.clinic-terms td:last-child, .legal.clinic-terms th:last-child { text-align: right; }
@media (max-width: 760px) { .legal.tokushoho th { width: auto; white-space: normal; } .legal table { font-size: 12.5px; } }

/* ---- 記事・セミナーの共有ページ（a.php / s.php）---- */
.share-actions .button[hidden] { display: none !important; } /* [hidden] を display 指定で潰さない */
.share-actions .button.ok { border-color: #059669; color: #059669; }
.share-actions .button.ng { border-color: #dc2626; color: #dc2626; }
.summary-card .lines { margin: 0; padding: 0; list-style: none; }
.summary-card .lines li { margin: 0 0 12px; }
.article-visual.has-image { padding: 0; overflow: hidden; min-height: 0; background: #eef6fd; }
.article-visual.has-image img { width: 100%; height: auto; display: block; }
.seminar-blurb { white-space: pre-wrap; }
.share-cta-note { font-size: 13px; color: var(--muted); margin: 8px 0 0; }
.reading .share-heading { font-size: 15px; margin: 30px 0 0; }

/* sponsor / recruit のスマホ固定CTA（デザインの .sticky-download の帯に、ボタン1つだけ）。PCでは出さない */
.sticky-download.sticky-single .button { flex: 1; }
