/* ============================================================
   전문위원회 구성 - 탭 컴포넌트 스타일 (신규)
   위원 카드 스타일은 기존 /css/committee.css 를 함께 사용합니다.
   ============================================================ */
.expert-tabs { display:flex; gap:6px; border-bottom:2px solid #E1E5E9; margin-bottom:50px; }
.expert-tab { flex:1; padding:18px 12px; font-family:inherit; font-size:19px; font-weight:600; color:#666; background:none; border:none; border-bottom:3px solid transparent; margin-bottom:-2px; cursor:pointer; white-space:nowrap; transition:color .2s, border-color .2s; }
.expert-tab:hover { color:#005770; }
.expert-tab.active { color:#005770; font-weight:700; border-bottom-color:#005770; }
.expert-tab:focus-visible { outline:2px solid #005770; outline-offset:2px; border-radius:4px; }
.expert-panel { display:none; }
.expert-panel.active { display:block; }
/* 하위 항목( - 로 시작): 둥근 점 제거, 대시 유지 */
.member-card .info-list li.sub-li::before { display:none; }
/* 임기 (전문분야 아래) */
.member-card .info-header .term { font-size:14px; color:#666; margin-top:4px; line-height:1.6; }
/* 비고(전문위원장 등) 배지 */
.role-badge { display:inline-block; margin-left:8px; vertical-align:middle; font-size:13px; font-weight:600; color:#005770; background:#E8F4F6; border-radius:4px; padding:3px 10px; line-height:1.5; }
/* 반응형: 기존 본문 브레이크포인트(1300px)와 동일 */
@media (max-width:1300px) {
  .expert-tabs { flex-wrap:wrap; gap:0; }
  .expert-tab { flex:1 1 50%; font-size:17px; padding:15px 8px; border:1px solid #ddd; border-bottom:none; margin:0; background:#fff; }
  .expert-tab.active { background:#F8FBFB; border-color:#ddd; border-bottom:3px solid #005770; }
}
@media (max-width:480px) { .expert-tab { font-size:15px; padding:13px 4px; } }

/* ===== 전문위원회 개요 (신규) ===== */
.ov { margin-bottom:54px; }
/* committee.css의 .group-title은 .member-group 안에 중첩 선언되어 있어 여기서 동일 스타일을 명시 */
.ov .group-title { font-size:27px; font-weight:700; color:#005770; position:relative;
  padding-top:15px; margin-bottom:24px; line-height:1.4; word-break:keep-all; }
.ov .group-title::before { content:''; position:absolute; top:0; left:0; width:40px; height:3px; background-color:#005770; }
.ov-a .ov-list { background:#F8FBFB; border:1px solid #DCE7EB; border-radius:8px; padding:6px 26px; margin:0; }
.ov-a .ov-row { display:flex; gap:22px; padding:20px 0; border-bottom:1px dashed #D7E2E6; }
.ov-a .ov-row:last-child { border-bottom:none; }
.ov-a dt { flex:0 0 86px; align-self:flex-start; font-size:18px; font-weight:700; color:#fff;
  background:#005770; border-radius:4px; padding:5px 0; text-align:center; letter-spacing:-.02em; }
.ov-a dd { flex:1; min-width:0; margin:0; font-size:22px; color:#252525; font-weight:500; line-height:1.7; word-break:keep-all; }
.ov-a dd sup { color:#005770; font-weight:700; }
.ov-a .ov-sub { font-size:15px; color:#7A8890; }
.ov-note { margin-top:12px; padding:14px 18px; background:#fff; border:1px solid #E3E9EC; border-radius:6px; }
.ov-note-t { font-size:18px; font-weight:600; color:#005770; margin:0 0 8px; }
.ov-note-list { margin:0; padding-left:20px; list-style:decimal; }
.ov-note-list li { font-size:18px; color:#5E6B72; line-height:1.65; margin-bottom:4px; word-break:keep-all; }
.ov-sublist { list-style:none; margin:10px 0 0; padding:0; }
.ov-sublist li { position:relative; padding-left:16px; font-size:16px; color:#5E6B72;
  line-height:1.7; word-break:keep-all; }
.ov-sublist li::before { content:''; position:absolute; left:0; top:10px; width:5px; height:5px;
  background-color:#005770; border-radius:50%; }
@media (max-width:1300px) {
  .ov-a .ov-list { padding:4px 18px; }
  .ov-a .ov-row { flex-direction:column; gap:10px; padding:16px 0; }
  .ov-a dt { flex:none; width:82px; }
  .ov-a dd { font-size:18px; }
}
