@charset "utf-8";
/* 의료진 소개 뷰 스킨 doctor
   기본 그누보드 뷰 크롬(#bo_v_info 등)이 전역 CSS 부재로 스타일이 빠져 깨져 보이는 문제를 보정.
   모든 선택자는 #bo_v 안으로 스코프하여 다른 게시판에 영향 없음. */

/* ---- 스크린리더 전용 텍스트 숨김(전역 default.css 부재 보완) ---- */
#bo_v .sound_only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ---- 섹션 숨김 제목("페이지 정보"/"본문" 등) ---- */
#bo_v_info > h2,
#bo_v_atc_title,
#bo_v_file > h2,
#bo_v_link > h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

/* ---- 게시글 컨테이너 ---- */
#bo_v { max-width: 900px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }

/* ---- 제목(성명) ---- */
#bo_v_title { margin: 0 0 20px; font-size: clamp(24px, 3vw, 34px); font-weight: 700; color: #111; letter-spacing: -0.02em; line-height: 1.3; }
#bo_v_title .bo_v_cate { display: inline-block; margin-right: 8px; padding: 4px 12px; border-radius: 50px; background: #2d4557; color: #fff; font-size: 0.5em; font-weight: 600; vertical-align: middle; }

/* ---- 상단 정보 바(#bo_v_info) ---- */
#bo_v_info { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 24px; padding: 16px 0; border-top: 1px solid #e5e8ec; border-bottom: 1px solid #e5e8ec; }
#bo_v_info .profile_info { display: flex; align-items: center; gap: 14px; min-width: 0; }
#bo_v_info .pf_img img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; display: block; }
#bo_v_info .pf_img:empty { display: none; }
#bo_v_info .profile_info_ct { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: 14px; color: #6b7684; line-height: 1.4; }
#bo_v_info .profile_info_ct strong { font-weight: 500; color: #6b7684; }
#bo_v_info .profile_info_ct > strong:first-of-type { font-weight: 600; color: #111; }
#bo_v_info .profile_info_ct br { display: none; }
#bo_v_info .profile_info_ct i { margin-right: 4px; color: #98a2b3; }

/* ---- 상단 버튼 ---- */
#bo_v_top { position: relative; margin-left: auto; }
#bo_v_top .btn_bo_user { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
#bo_v_top .btn_bo_user > li { margin: 0; }
#bo_v_top .btn_b01 { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid #d5dae1; border-radius: 8px; background: #fff; color: #4b5563; font-size: 15px; cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
#bo_v_top .btn_b01:hover { background: #0d171f; border-color: #0d171f; color: #fff; }
#bo_v_top .more_opt { position: absolute; right: 0; top: calc(100% + 6px); z-index: 10; display: none; min-width: 130px; margin: 0; padding: 6px 0; list-style: none; background: #fff; border: 1px solid #e5e8ec; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
#bo_v_top .more_opt li { margin: 0; }
#bo_v_top .more_opt a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 16px; color: #333; font-size: 14px; text-decoration: none; }
#bo_v_top .more_opt a:hover { background: #f3f5f7; }

/* ---- 본문(경력/논문) ---- */
#bo_v_atc { margin: 0; }
#bo_v_share { margin: 0 0 10px; }
#bo_v_con.dr-view { padding: 8px 0 10px; }
.dr-view__career { margin: 0 0 clamp(24px, 3vw, 36px); }
.dr-view__label { margin: 0 0 12px; font-size: clamp(17px, 1.6vw, 20px); font-weight: 700; color: #2d4557; letter-spacing: -0.02em; }
.dr-view__career ul { list-style: none; margin: 0; padding: 0; }
.dr-view__career ul + ul { margin-top: 18px; }
.dr-view__career li { position: relative; padding-left: 16px; font-size: clamp(15px, 1.2vw, 17px); line-height: 1.85; color: #333; letter-spacing: -0.02em; }
.dr-view__career li::before { content: ""; position: absolute; left: 2px; top: 0.82em; width: 5px; height: 5px; border-radius: 50%; background: #2d4557; }

/* ---- 이전/다음 글 ---- */
.bo_v_nb { list-style: none; margin: 30px 0 0; padding: 0; border-top: 1px solid #e5e8ec; }
.bo_v_nb li { display: flex; align-items: center; gap: 10px; padding: 14px 4px; border-bottom: 1px solid #eef1f4; font-size: 14px; }
.bo_v_nb .nb_tit { flex: 0 0 auto; color: #6b7684; font-weight: 600; }
.bo_v_nb a { color: #333; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo_v_nb a:hover { color: #2d4557; text-decoration: underline; }
.bo_v_nb .nb_date { margin-left: auto; color: #98a2b3; flex: 0 0 auto; }

/* ---- 첨부/링크 ---- */
#bo_v_file ul, #bo_v_link ul { list-style: none; margin: 20px 0 0; padding: 16px; background: #f7f9fa; border-radius: 10px; }
#bo_v_file li, #bo_v_link li { font-size: 14px; line-height: 1.6; }
#bo_v_file a, #bo_v_link a { color: #2d4557; text-decoration: none; }

/* ---- 반응형 ---- */
@media (max-width: 768px) {
    #bo_v { padding: 0 16px; }
    #bo_v_info { align-items: flex-start; }
    #bo_v_top { margin-left: 0; width: 100%; }
    #bo_v_top .btn_bo_user { justify-content: flex-start; }
    .bo_v_nb li { flex-wrap: wrap; }
    .bo_v_nb .nb_date { width: 100%; margin-left: 0; }
}
