/* =========================================================
   speakers.css — 登壇者紹介ページ専用スタイル
   ※ page-hero / breadcrumb / block-title / notice / overview は
     event.css を併用して読み込むこと。
   ========================================================= */

/* ===== 記事レイアウト（サイドバーなし・1カラム） ===== */
.article-narrow{max-width:1180px;margin:0 auto;padding:48px 28px 8px}

/* ===== 登壇者カード（上：アバター＋氏名／下：プロフィール表） ===== */
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}

.sp-card{display:flex;flex-direction:column;
  border:1px solid #e7ecf2;border-radius:14px;background:#fff;
  box-shadow:0 2px 12px rgba(20,40,70,.05);padding:26px 28px;
  transition:box-shadow .25s,transform .25s}
.sp-card:hover{box-shadow:0 8px 22px rgba(20,40,70,.1);transform:translateY(-2px)}

/* 上段：アバター＋氏名を横並び */
.sp-head{display:flex;align-items:center;gap:20px;
  padding-bottom:18px;border-bottom:1px solid #eef2f6}

/* 写真枠（アバター）。写真を入れるまではシルエットを表示 */
.sp-photo{flex:none;width:92px;height:92px;border-radius:50%;
  background:linear-gradient(160deg,#eef4fb,#dbe7f5) center/cover no-repeat;
  border:1px solid #d8e3f0;box-shadow:0 4px 14px rgba(20,40,70,.1);
  display:flex;align-items:center;justify-content:center;color:#a8bdd6;overflow:hidden}
.sp-photo svg{width:40px;height:40px;opacity:.9}

.sp-headtext{min-width:0}
/* 氏名＋職種バッジを同じ行に（所属・役職は下のプロフィール表に集約） */
.sp-nameline{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}
.sp-name{font-size:26px;font-weight:700;color:var(--navy);line-height:1.35;letter-spacing:.06em}
.sp-role{display:inline-block;font-size:11px;font-weight:700;color:#fff;
  background:var(--navy);padding:4px 12px;border-radius:999px;letter-spacing:.03em;
  position:relative;top:-2px}
.sp-name-en{font-size:12px;color:#8d99a8;letter-spacing:.09em;margin-top:5px}

/* プロフィール表（参考デザイン準拠：左に淡いブルーのラベル） */
.sp-table{display:grid;grid-template-columns:132px 1fr;gap:8px 14px;margin-top:18px;align-items:start}
.sp-table dt{background:#eaf2fc;color:var(--navy);font-size:13px;font-weight:700;
  text-align:center;padding:8px 10px;border-radius:5px;line-height:1.5}
.sp-table dd{font-size:13.5px;color:#41526a;line-height:1.8;padding:8px 0;min-width:0}
.sp-table dd b{color:#1c2a3a}

/* 仮テキストのバッジ（本人確認後に行ごと削除する） */
.sp-tempnote{margin-top:16px}

/* 未確定項目のバッジ（開催概要の「調整中」など） */
.tbd{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:#9aa7b6;
  padding:3px 11px;border-radius:999px;margin-right:8px;letter-spacing:.04em}

/* 補足行 */
.sp-note{font-size:13px;color:#7d8896;line-height:1.9;margin-top:18px}

/* ===== 講話の見どころ ===== */
.point-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.point{border:1px solid #e7ecf2;border-radius:12px;background:#fff;padding:22px 20px;
  box-shadow:0 2px 10px rgba(20,40,70,.04)}
.point .ico{width:42px;height:42px;border-radius:10px;background:#eaf2fc;
  display:flex;align-items:center;justify-content:center;margin-bottom:13px}
.point .t{font-size:15.5px;font-weight:700;color:#1c2a3a;margin-bottom:7px;line-height:1.6}
.point .d{font-size:13px;color:#67727f;line-height:1.85}

/* ===== おすすめリスト ===== */
.check-list{display:flex;flex-direction:column;gap:11px}
.check-list li{list-style:none;display:flex;gap:11px;align-items:flex-start;
  font-size:14.5px;color:#41526a;line-height:1.8}
.check-list li svg{flex:none;margin-top:4px}

/* ===== イベントページへの誘導バナー ===== */
.event-link-card{display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  border:1px solid #c9d9ee;border-radius:14px;overflow:hidden;background:#fff;
  box-shadow:0 4px 16px rgba(20,40,70,.07);padding:22px 24px}
.event-link-card .elc-icon{width:56px;height:56px;border-radius:12px;flex:none;
  background:linear-gradient(135deg,#2a6abf,#1c4e8a);display:flex;align-items:center;justify-content:center}
.event-link-card .elc-text{flex:1;min-width:220px}
.event-link-card .elc-lbl{font-size:11.5px;font-weight:700;color:var(--navy);letter-spacing:.06em;margin-bottom:5px}
.event-link-card .elc-ttl{font-size:17px;font-weight:700;color:#1c2a3a;line-height:1.6;margin-bottom:5px}
.event-link-card .elc-sub{font-size:13px;color:#67727f;line-height:1.7}
.event-link-card .elc-btn{flex:none;display:inline-flex;align-items:center;gap:8px;
  background:var(--navy);color:#fff;font-size:14.5px;font-weight:700;padding:14px 24px;
  border-radius:8px;box-shadow:0 4px 12px rgba(28,78,138,.25);transition:filter .2s}
.event-link-card .elc-btn:hover{filter:brightness(1.08)}

/* ===== レスポンシブ ===== */
@media (max-width:1000px){
  .sp-table{grid-template-columns:112px 1fr}
  .sp-name{font-size:24px}
}
@media (max-width:900px){
  .point-grid{grid-template-columns:1fr}
  .sp-grid{grid-template-columns:1fr}
  .sp-name{font-size:26px}
  .sp-table{grid-template-columns:132px 1fr}
}
@media (max-width:768px){
  .article-narrow{padding:32px 24px 8px}
  .sp-grid{gap:18px}
  .sp-card{padding:24px 22px}
  .sp-name{font-size:24px}
  .sp-table{grid-template-columns:118px 1fr}
  .event-link-card{padding:18px}
  .event-link-card .elc-btn{width:100%;justify-content:center}
}
@media (max-width:520px){
  .sp-head{gap:16px}
  .sp-photo{width:76px;height:76px}
  .sp-photo svg{width:34px;height:34px}
  .sp-name{font-size:22px}
  .sp-table{grid-template-columns:1fr;gap:0;margin-top:16px}
  .sp-table dt{margin-top:10px}
  .sp-table dd{padding:8px 2px 0}
}
