/* 相談対応者 一覧・詳細・申し込み 個別CSS */

.consultantsnotice { font-size: 0.85rem; color: var(--ink-soft); margin: 0 0 var(--space-4); }
.consultantsnotice--success {
  color: var(--confirm);
  font-weight: 700;
  padding: var(--space-3) var(--space-4);
  background: var(--confirm-soft);
  border-radius: var(--radius-md);
}
.consultantcard__area { font-size: 0.85rem !important; font-weight: 700 !important; color: var(--ink-faint) !important; }

/* ---- 詳細 ---- */
.consultant-detail { padding-top: var(--space-6); padding-bottom: var(--space-8); max-width: 840px; }
.backlink { display: inline-block; font-size: 0.82rem; color: var(--ink-soft); text-decoration: none; margin-bottom: var(--space-4); }
.backlink:hover { color: var(--accent); }
.consultant-detail__profession { font-size: 0.82rem; color: var(--ink-faint); margin: 0 0 var(--space-1); }
.consultant-detail h1 { font-size: 1.5rem; margin: 0 0 var(--space-2); }
.consultant-detail__affiliation { font-size: 0.9rem; color: var(--ink-soft); margin: 0 0 var(--space-2); }
.consultant-detail__area { font-size: 0.85rem; font-weight: 700; color: var(--ink-faint); margin: 0 0 var(--space-2); }
.consultant-detail__body { font-size: 0.94rem; line-height: 1.9; margin: 0; }
.consultant-detail__paynotice { font-size: 0.78rem; color: var(--ink-faint); margin-top: var(--space-3); }

/* ---- ページ内メニュー（③地域団体詳細の.org-subnavと同じ見せ方） ---- */
.consultant-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: var(--space-4) 0;
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--line);
}
.consultant-subnav a {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--ink-soft);
  text-decoration: none;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  background: var(--surface);
}
.consultant-subnav a:hover { color: var(--accent); border-color: var(--accent); }

/* ---- セクションカード ---- */
.consultant-detail__section {
  scroll-margin-top: var(--space-4);
  margin: var(--space-6) 0;
  padding: var(--space-6);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}
.consultant-detail__section h2 { margin: 0 0 var(--space-4); font-size: 1.1rem; }
.consultant-detail__section:first-of-type { margin-top: 0; }
.consultant-detail__lede { font-size: 0.85rem; color: var(--ink-soft); margin: 0 0 var(--space-3); }

/* ---- レビュー ---- */
.consultant-detail__reviewsummary { font-size: 1rem; font-weight: 800; color: var(--accent); margin: 0 0 var(--space-3); }
.reviewlist { display: flex; flex-direction: column; gap: var(--space-3); }
.reviewitem { padding: var(--space-3); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); }
.reviewitem__head { display: flex; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-1); font-size: 0.85rem; }
.reviewitem__stars { color: var(--accent); font-weight: 700; }
.reviewitem__name { font-weight: 700; }
.reviewitem__date { color: var(--ink-faint); font-size: 0.76rem; }
.reviewitem__comment { font-size: 0.88rem; color: var(--ink-soft); margin: 0; line-height: 1.7; }

/* プラン一覧（MENTA型：対応者ごとに複数プラン） */
.planlist { display: flex; flex-direction: column; gap: var(--space-3); margin: var(--space-3) 0; }
.plancard {
  padding: var(--space-4);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}
.plancard__head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-2); }
.plancard__head h3 { margin: 0; font-size: 1rem; }
.plancard__price { margin: 0; font-size: 1.1rem; font-weight: 800; color: var(--accent); white-space: nowrap; }
.plancard__billing { font-size: 0.75rem; font-weight: 400; color: var(--ink-soft); }
.plancard__desc { font-size: 0.85rem; color: var(--ink-soft); margin: 0 0 var(--space-3); line-height: 1.7; }

.planstatus { display: inline-block; padding: 0.2rem 0.7rem; border-radius: var(--radius-pill); font-size: 0.78rem; font-weight: 700; margin: 0 0 var(--space-3); }
.planstatus--published { background: var(--confirm-soft); color: var(--confirm); }
.planstatus--draft { background: var(--pending-soft); color: var(--pending); }

/* ---- 申し込みフォーム ---- */
.plansummary {
  padding: var(--space-4);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-3);
}
.plansummary__consultant { font-size: 0.82rem; color: var(--ink-soft); margin: 0 0 var(--space-1); }
.plansummary__price { margin: 0; font-size: 1.2rem; font-weight: 800; color: var(--accent); }
.plansummary__price span { font-size: 0.78rem; font-weight: 400; color: var(--ink-soft); }
