/* ─────────────────────────────────────────────────────────────────────
 * adeline_2nd · 그누보드 게시판/폼/회원 페이지를 2nd 디자인에 맞게 보정.
 * - 게시판 본문은 .doc--bbs 컨테이너 안에 들어옴 (theme/head.php 참조)
 * - 그누보드의 기본 클래스(.bo_list, .bo_v, .write_div 등) 만 손대고,
 *   skin 별 추가 스킨 디자인은 건드리지 않는다.
 * ───────────────────────────────────────────────────────────────────── */

.page--bbs { padding: clamp(40px, 6vw, 80px) 0 clamp(64px, 8vw, 100px); }

/* 게시판 페이지는 사이드 메뉴(240px) + 표(5컬럼) 가 동시에 들어가므로
   사이트 기본 wrap(1280px) 보다 한 단계 더 넓혀 본문 줄바꿈을 줄인다.
   (헤더/푸터의 .site-wrap 은 영향받지 않음 — .page--bbs 직계 자식만 적용) */
.page--bbs > .site-wrap {
    max-width: 1480px;
}
.page--bbs > .site-wrap.page__grid {
    grid-template-columns: 220px 1fr;
    gap: clamp(28px, 3.5vw, 56px);
}

.doc--bbs {
    color: var(--ink);
    font-family: var(--sans);
    line-height: 1.7;
    min-width: 0; /* grid item 이 내부 표/긴 단어로 컨테이너를 밀어내지 않게 */
}
/* 사이드 메뉴가 없는 게시판 (예: 회원/검색/팝업 등) */
.doc--bbs.doc--solo { max-width: 1200px; margin: 0 auto; }

/* 게시판/페이지 안의 일반 폰트 톤 */
.doc--bbs h2,
.doc--bbs h3 { font-family: var(--serif); color: var(--emerald-dark); }
.doc--bbs a  { color: var(--emerald); }
.doc--bbs a:hover { color: var(--emerald-dark); }

/* ── 그누보드 게시판 LIST (.bo_list) ─────────────────────────────────── */
.doc--bbs .bo_fx,
.doc--bbs .bo_sch_wrap {
    margin: 0 0 18px;
    padding: 12px 14px;
    background: var(--ivory-2);
    border: 1px solid var(--line);
    border-radius: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}
.doc--bbs .btn_bo_user { display: flex; gap: 6px; }
.doc--bbs .btn_b01, .doc--bbs .btn_b02, .doc--bbs .btn_admin {
    display: inline-block;
    padding: 8px 16px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    border: 1px solid var(--emerald);
    color: var(--emerald);
    background: #fff;
    border-radius: 3px;
    text-decoration: none;
    transition: 0.15s;
}
.doc--bbs .btn_b01 { background: var(--emerald); color: var(--ivory); }
.doc--bbs .btn_b01:hover,
.doc--bbs .btn_b02:hover { background: var(--emerald-dark); border-color: var(--emerald-dark); color: var(--ivory); }
.doc--bbs .btn_admin { border-color: var(--brass); color: var(--brass-dark); }
.doc--bbs .btn_admin:hover { background: var(--brass); color: #fff; }

.doc--bbs .tbl_head01 table,
.doc--bbs .bo_v_tbl,
.doc--bbs .write_div {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 18px;
}

.doc--bbs .tbl_head01 thead th {
    padding: 14px 10px;
    background: var(--emerald-dark);
    color: var(--ivory);
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    border: none;
    text-align: center;
}
/* 헤더 안의 정렬 링크 (예: 날짜/조회 의 subject_sort_link) 색이
   .doc--bbs a 의 emerald 와 헤더 배경(emerald-dark)이 겹쳐 안 보이는 문제 보정 */
.doc--bbs .tbl_head01 thead th a,
.doc--bbs .tbl_head01 thead th a:link,
.doc--bbs .tbl_head01 thead th a:visited {
    color: var(--ivory);
    text-decoration: none;
}
.doc--bbs .tbl_head01 thead th a:hover { color: var(--brass-light); }
.doc--bbs .tbl_head01 tbody td {
    padding: 14px 12px;
    border-bottom: 1px solid var(--line);
    font-size: 0.92rem;
    color: var(--ink);
    text-align: center;
    background: #fff;
}
.doc--bbs .tbl_head01 tbody td.td_subject,
.doc--bbs .tbl_head01 tbody td.td_subject2 { text-align: left; }
.doc--bbs .tbl_head01 tbody tr:hover td { background: var(--ivory-2); }

/* 컬럼 폭 조정 — skin/board/basic/style.css 의 좁은 기본값(td_date 60px 등)이
   우리 셀 padding 12px 와 합쳐져 날짜 등이 두 줄로 떨어지는 문제 보정 */
.doc--bbs .tbl_head01 .td_num     { width: 64px;  white-space: nowrap; }
.doc--bbs .tbl_head01 .td_name    { width: 120px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.doc--bbs .tbl_head01 .td_date    { width: 100px; white-space: nowrap; }
.doc--bbs .tbl_head01 .td_datetime{ width: 130px; white-space: nowrap; }
.doc--bbs .tbl_head01 .td_chk     { width: 36px; }

/* reply2 스킨 (sub04_1 등) 의 td_name 안 '답글있음 / 답글없음' 알약 배지 — 사이트 톤 통일.
   행 높이가 들쭉날쭉하지 않도록 둘 다 동일한 padding/line-height 사용. */
.doc--bbs .reply-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.4;
    vertical-align: middle;
    white-space: nowrap;
}
.doc--bbs .reply-badge--on {
    background: var(--emerald);
    color: var(--ivory);
}
.doc--bbs .reply-badge--off {
    background: var(--ivory-2);
    color: var(--ink-muted);
}

/* 글 읽기(view) 페이지의 상단 액션 버튼 영역 숨김.
   skin/board/basic/view.skin.php 는 #bo_v_top 에서 한 번 렌더하고
   같은 내용을 ob_get_contents() 로 받아 #bo_v_bot 에서 또 출력하기 때문에
   위/아래 동일한 [이전글/다음글/수정/삭제/복사/이동/목록/답변/글쓰기] 가
   중복 노출되는 문제와, 상단의 dash 잔여 표시까지 한번에 정리. */
.doc--bbs #bo_v_top { display: none !important; }

/* 글 읽기 페이지에서 제목 위쪽에 '---' 두 줄이 보이던 원인 정리:
   ① #bo_v_table : 게시판 이름을 한 번 더 보여주는 박스 — page-hero 의 제목과
      중복이라 숨김.
   ② #bo_v_info > h2 ('페이지 정보') 등 그누보드 보조 h2 들이 site.css 의
      .doc h2 규칙(emerald 하단 라인 + 황동 점 마커) 을 그대로 흡수해 가짜
      구분선처럼 보이는 문제 보정. ('페이지 정보' 라벨은 sound_only 처럼 숨기고,
      '첨부파일/관련링크/댓글' 같은 의미있는 h2 는 마커/라인만 떨어냄). */
.doc--bbs #bo_v_table { display: none !important; }

/* 목록(list) 페이지의 #container_title — '{게시판이름} 목록' 헤딩이 page-hero 의
   제목과 중복이라 시각 숨김. 접근성을 위해 sound_only 패턴 사용. */
.doc--bbs #container_title {
    position: absolute !important;
    width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    border: 0 !important;
}

.doc--bbs #bo_v_info > h2 {
    position: absolute !important;
    width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    border: 0 !important;
}

.doc--bbs #bo_v h2::before,
.doc--bbs #bo_v_file h2::before,
.doc--bbs #bo_v_link h2::before,
.doc--bbs #bo_vc h2::before,
.doc--bbs section[id^='bo_vc'] h2::before { display: none !important; content: none !important; }

.doc--bbs #bo_v h2,
.doc--bbs #bo_v_file h2,
.doc--bbs #bo_v_link h2,
.doc--bbs #bo_vc h2,
.doc--bbs section[id^='bo_vc'] h2 {
    padding-left: 0;
    border-bottom: none;
}

/* 제목 셀 — 제목 + 비밀글/첨부/새글 등 아이콘이 셀 폭을 넘어가도 줄바꿈되지
   않게 flex 로 묶고, 제목 링크만 ellipsis 처리. 아이콘은 항상 우측에 노출. */
.doc--bbs .tbl_head01 tbody td.td_subject {
    display: flex;
    align-items: center;
    gap: 4px;
    text-align: left;
    min-width: 0;
}
.doc--bbs .tbl_head01 tbody td.td_subject > a:not(.bo_cate_link) {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: keep-all;
}
.doc--bbs .tbl_head01 tbody td.td_subject > .bo_cate_link,
.doc--bbs .tbl_head01 tbody td.td_subject > img,
.doc--bbs .tbl_head01 tbody td.td_subject > strong,
.doc--bbs .tbl_head01 tbody td.td_subject > span {
    flex-shrink: 0;
    vertical-align: middle;
}
.doc--bbs .tbl_head01 tbody tr.bo_notice td {
    background: var(--ivory-2);
    font-weight: 600;
}
.doc--bbs .bo_tit a { color: var(--ink); text-decoration: none; }
.doc--bbs .bo_tit a:hover { color: var(--emerald); }

/* 페이지네이션 */
.doc--bbs .pg_wrap {
    margin: 24px 0;
    text-align: center;
}
.doc--bbs .pg_page,
.doc--bbs .pg_current,
.doc--bbs .pg_start, .doc--bbs .pg_prev,
.doc--bbs .pg_end,   .doc--bbs .pg_next {
    display: inline-block;
    min-width: 36px;
    padding: 8px 12px;
    margin: 0 2px;
    font-size: 0.85rem;
    color: var(--ink-muted);
    text-decoration: none;
    border: 1px solid var(--line);
    background: #fff;
}
.doc--bbs .pg_current {
    color: var(--ivory);
    background: var(--emerald);
    border-color: var(--emerald);
    font-weight: 700;
}
.doc--bbs .pg_page:hover { background: var(--ivory-2); color: var(--emerald); }

/* 검색 박스 */
.doc--bbs .bo_sch_wrap form,
.doc--bbs .bo_sch_wrap fieldset { display: flex; gap: 6px; align-items: center; }
.doc--bbs .bo_sch_wrap select,
.doc--bbs .bo_sch_wrap input[type="text"] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--line);
    background: #fff;
    font-size: 0.9rem;
    border-radius: 3px;
}
.doc--bbs .bo_sch_wrap input[type="submit"],
.doc--bbs .bo_sch_wrap .btn_submit {
    height: 36px;
    padding: 0 16px;
    background: var(--emerald);
    color: var(--ivory);
    border: none;
    cursor: pointer;
    font-size: 0.85rem;
    border-radius: 3px;
}

/* ── 게시글 상세 (.bo_v) ─────────────────────────────────────────────── */
.doc--bbs #bo_v {
    padding: 0;
}
.doc--bbs #bo_v_title,
.doc--bbs .bo_v_tit {
    margin: 0 0 14px;
    padding: 0 0 18px;
    font-family: var(--serif);
    font-size: clamp(1.3rem, 2.4vw, 1.75rem);
    color: var(--emerald-dark);
    border-bottom: 1px solid var(--line);
    font-weight: 700;
}
.doc--bbs #bo_v_info,
.doc--bbs .bo_v_info {
    margin: 0 0 24px;
    padding: 12px 0;
    font-size: 0.85rem;
    color: var(--ink-muted);
    border-bottom: 1px dashed var(--line);
}
.doc--bbs #bo_v_info strong,
.doc--bbs .bo_v_info strong { color: var(--ink); margin-right: 4px; }
.doc--bbs #bo_v_info .if_date,
.doc--bbs #bo_v_info .sound_only { color: var(--ink-muted); }

.doc--bbs #bo_v_file,
.doc--bbs .bo_v_file {
    margin: 0 0 24px;
    padding: 14px 18px;
    background: var(--ivory-2);
    border: 1px solid var(--line);
    border-radius: 4px;
}
.doc--bbs #bo_v_file h2,
.doc--bbs #bo_v_file h3 {
    margin: 0 0 10px;
    font-size: 0.95rem;
    color: var(--emerald-dark);
}
.doc--bbs #bo_v_file ul { list-style: none; margin: 0; padding: 0; }
.doc--bbs #bo_v_file li { padding: 6px 0; border-top: 1px dashed var(--line); }
.doc--bbs #bo_v_file li:first-child { border-top: none; }
.doc--bbs #bo_v_file a { color: var(--ink); text-decoration: none; }
.doc--bbs #bo_v_file a:hover { color: var(--emerald); }

.doc--bbs #bo_v_atc,
.doc--bbs #bo_v_con,
.doc--bbs .bo_v_con {
    padding: 32px 4px;
    font-size: 1rem;
    line-height: 1.85;
    color: var(--ink);
    min-height: 200px;
}
.doc--bbs #bo_v_con img,
.doc--bbs .bo_v_con img {
    max-width: 100%;
    height: auto;
    margin: 12px 0;
    border-radius: 4px;
}

/* 댓글 영역 */
.doc--bbs #bo_vc,
.doc--bbs section[id^="bo_vc"] {
    margin: 32px 0 0;
    padding: 28px 0 0;
    border-top: 1px solid var(--line);
}
.doc--bbs #bo_vc h2,
.doc--bbs section[id^="bo_vc"] h2 {
    margin: 0 0 16px;
    font-family: var(--serif);
    color: var(--emerald-dark);
    font-size: 1.1rem;
}
.doc--bbs .cmt_contents {
    padding: 14px 16px;
    background: var(--ivory);
    border: 1px solid var(--line);
    border-radius: 4px;
    margin: 0 0 8px;
}

/* ── 글쓰기 폼 (.write_div) ──────────────────────────────────────────── */
.doc--bbs .write_div {
    border-top: 2px solid var(--emerald);
}
.doc--bbs .write_div th {
    width: 130px;
    padding: 16px 14px;
    background: var(--ivory-2);
    color: var(--emerald-dark);
    font-weight: 600;
    font-size: 0.9rem;
    text-align: left;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
}
.doc--bbs .write_div td {
    padding: 14px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    font-size: 0.92rem;
}
.doc--bbs .write_div input[type="text"],
.doc--bbs .write_div input[type="password"],
.doc--bbs .write_div input[type="email"],
.doc--bbs .write_div input[type="tel"],
.doc--bbs .write_div select,
.doc--bbs .write_div textarea {
    width: 100%;
    max-width: 480px;
    padding: 9px 12px;
    border: 1px solid var(--line);
    background: #fff;
    font-size: 0.95rem;
    color: var(--ink);
    border-radius: 3px;
    box-sizing: border-box;
}
.doc--bbs .write_div input:focus,
.doc--bbs .write_div select:focus,
.doc--bbs .write_div textarea:focus {
    outline: none;
    border-color: var(--emerald);
    box-shadow: 0 0 0 2px rgba(28,82,66,0.08);
}
.doc--bbs .write_div textarea { min-height: 220px; max-width: 100%; }

/* 글쓰기 하단 버튼 영역 — 폼의 마무리 액션이므로 가운데 정렬 + 살짝 큰 사이즈.
   view 페이지의 .btn_b01 / .btn_b02 와 같은 톤(emerald 채움/윤곽)을 유지하되
   <input type="submit"> 와 <a> 의 브라우저 기본 차이는 appearance/font 통일로 제거.
   주의: 스킨이 <section id="bo_w"> 로 ID 를 쓰므로 ID 선택자(#bo_w)로 매칭. */
.doc--bbs #bo_w .btn_confirm {
    margin: 32px 0 0;
    padding: 24px 0 0;
    border-top: 1px solid var(--line);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    text-align: center; /* IE/구브라우저 호환 */
}
.doc--bbs #bo_w .btn_submit,
.doc--bbs #bo_w .btn_cancel,
.doc--bbs #bo_w .btn {
    display: inline-block;
    margin: 0;
    padding: 10px 26px;
    min-width: 110px;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.4;
    border: 1px solid var(--emerald);
    border-radius: 3px;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: 0.15s;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
}
/* 작성완료 — 채움 */
.doc--bbs #bo_w .btn_submit {
    background: var(--emerald);
    color: var(--ivory);
}
.doc--bbs #bo_w .btn_submit:hover {
    background: var(--emerald-dark);
    border-color: var(--emerald-dark);
    color: var(--ivory);
}
/* 취소 — 윤곽 */
.doc--bbs #bo_w .btn_cancel,
.doc--bbs #bo_w .btn {
    background: #fff;
    color: var(--emerald);
}
.doc--bbs #bo_w .btn_cancel:hover,
.doc--bbs #bo_w .btn:hover {
    background: var(--emerald-dark);
    border-color: var(--emerald-dark);
    color: var(--ivory);
}

/* ── 회원/로그인/검색 등 공용 폼 ─────────────────────────────────────── */
.doc--bbs .tbl_frm01 th { padding: 14px; background: var(--ivory-2); color: var(--emerald-dark); }
.doc--bbs .tbl_frm01 td { padding: 12px 14px; background: #fff; }
.doc--bbs .tbl_frm01 input,
.doc--bbs .tbl_frm01 select,
.doc--bbs .tbl_frm01 textarea {
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 3px;
}

/* 안내 박스 (.empty_table 등) */
.doc--bbs .empty_table,
.doc--bbs .empty_list {
    padding: 60px 0;
    text-align: center;
    color: var(--ink-muted);
    font-size: 0.95rem;
}

/* 비밀번호 확인 페이지 */
.doc--bbs #bo_w fieldset legend { font-size: 0; line-height: 0; }

/* ─────────────────────────────────────────────────────────────────────
 * site.css 의 본문 ul 대시 마커(.doc ul > li::before) 가 그누보드 UI 리스트
 * (수정/삭제/목록/이전글/다음글 등 .bo_v_nb, .bo_v_com, .btn_bo_user,
 *  .btn_bo_adm, 페이지네이션 등) 에까지 새어들어와 버튼 왼쪽에 "-" 가
 * 표시되는 문제를 정리한다. 게시글 본문(#bo_v_con) 안의 리스트는 dash 유지.
 * ───────────────────────────────────────────────────────────────────── */
.doc--bbs ul > li::before { content: none !important; background: none !important; display: none !important; }
.doc--bbs ul > li { padding-left: 0; }

/* 단, 글 본문 영역의 리스트는 황동 대시 마커를 다시 살린다 */
.doc--bbs #bo_v_con ul > li,
.doc--bbs .bo_v_con ul > li {
    position: relative;
    padding: 6px 0 6px 22px;
    list-style: none;
}
.doc--bbs #bo_v_con ul > li::before,
.doc--bbs .bo_v_con ul > li::before {
    content: '' !important;
    display: block !important;
    position: absolute;
    left: 0; top: 18px;
    width: 10px;
    height: 1px;
    background: var(--brass) !important;
}

/* ─────────────────────────────────────────────────────────────────────
 * 그누보드의 시각 숨김 유틸 (.sound_only / .msg_sound_only) — 우리 테마
 * default.css 를 로드하지 않으므로 직접 정의. ("회원아이디 필수" 라벨의
 * '필수' 가 그대로 노출되는 문제 보정)
 * ───────────────────────────────────────────────────────────────────── */
.sound_only, .msg_sound_only {
    position: absolute !important;
    width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────────
 * 회원 / 로그인 / 회원가입 / 비밀번호 찾기 — 그누보드 .mbskin 페이지 보정
 * ───────────────────────────────────────────────────────────────────── */
.doc--bbs .mbskin {
    max-width: 520px;
    margin: 0 auto;
}
/* 페이지 hero 의 제목과 중복되는 .mbskin h1 은 시각적으로 숨김 */
.doc--bbs .mbskin > h1 {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}
.doc--bbs .mbskin h2 {
    margin: 0 0 14px;
    padding: 0;
    border: none;
    font-family: var(--serif);
    font-size: 1.05rem;
    color: var(--emerald-dark);
}
.doc--bbs .mbskin h2::before { display: none !important; content: none !important; } /* .doc h2::before 황동 점 마커 제거 */
.doc--bbs .mbskin fieldset {
    margin: 0 0 24px;
    padding: 28px 26px 24px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 4px;
}
.doc--bbs .mbskin fieldset legend {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}
.doc--bbs .mbskin label {
    display: block;
    margin: 0 0 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--emerald-dark);
    letter-spacing: 0.02em;
}
.doc--bbs .mbskin label[for='login_auto_login'] {
    display: inline-block;
    margin: 4px 0 0 6px;
    font-weight: 400;
    color: var(--ink-muted);
    font-size: 0.88rem;
    vertical-align: middle;
}
.doc--bbs .mbskin input[type='text'],
.doc--bbs .mbskin input[type='password'],
.doc--bbs .mbskin input[type='email'],
.doc--bbs .mbskin input[type='tel'],
.doc--bbs .mbskin select,
.doc--bbs .mbskin textarea,
.doc--bbs .mbskin .frm_input {
    width: 100%;
    height: 44px;
    padding: 0 14px;
    margin: 0 0 14px;
    font-size: 0.95rem;
    color: var(--ink);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 3px;
    box-sizing: border-box;
}
.doc--bbs .mbskin textarea { height: auto; padding: 12px 14px; min-height: 120px; }
.doc--bbs .mbskin input[type='checkbox'],
.doc--bbs .mbskin input[type='radio'] {
    width: auto; height: auto;
    margin: 4px 0 0;
    vertical-align: middle;
}
.doc--bbs .mbskin input:focus,
.doc--bbs .mbskin select:focus,
.doc--bbs .mbskin textarea:focus,
.doc--bbs .mbskin .frm_input:focus {
    outline: none;
    border-color: var(--emerald);
    box-shadow: 0 0 0 2px rgba(28,82,66,0.08);
}
.doc--bbs .mbskin .btn_submit {
    display: block;
    width: 100%;
    height: 48px;
    margin: 6px 0 12px;
    padding: 0;
    background: var(--emerald);
    color: var(--ivory);
    border: none;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    cursor: pointer;
    border-radius: 3px;
    text-decoration: none;
    transition: background 0.2s;
}
.doc--bbs .mbskin .btn_submit:hover { background: var(--emerald-dark); }

/* 로그인 안내 박스 */
.doc--bbs .mbskin #login_info,
.doc--bbs .mbskin .mb_info {
    margin: 0 0 24px;
    padding: 22px 24px;
    background: var(--ivory-2);
    border: 1px solid var(--line);
    border-radius: 4px;
}
.doc--bbs .mbskin #login_info p,
.doc--bbs .mbskin .mb_info p {
    margin: 0 0 14px;
    color: var(--ink-muted);
    font-size: 0.92rem;
    line-height: 1.7;
}
.doc--bbs .mbskin #login_info > div,
.doc--bbs .mbskin .mb_info > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}
.doc--bbs .mbskin a.btn01,
.doc--bbs .mbskin a.btn02 {
    display: inline-block;
    padding: 8px 16px;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 3px;
    text-decoration: none;
    transition: 0.15s;
    letter-spacing: 0.02em;
}
.doc--bbs .mbskin a.btn01 {
    background: var(--emerald);
    color: var(--ivory);
    border: 1px solid var(--emerald);
}
.doc--bbs .mbskin a.btn01:hover {
    background: var(--emerald-dark);
    border-color: var(--emerald-dark);
    color: var(--ivory);
}
.doc--bbs .mbskin a.btn02 {
    background: #fff;
    color: var(--emerald);
    border: 1px solid var(--emerald);
}
.doc--bbs .mbskin a.btn02:hover {
    background: var(--ivory-2);
    color: var(--emerald-dark);
}

/* 메인으로 돌아가기 등 하단 보조 링크 */
.doc--bbs .mbskin .btn_confirm {
    margin: 8px 0 0;
    padding: 16px 0 0;
    text-align: center;
    border-top: 1px dashed var(--line);
}
.doc--bbs .mbskin .btn_confirm a {
    font-size: 0.88rem;
    color: var(--ink-muted);
    text-decoration: none;
}
.doc--bbs .mbskin .btn_confirm a:hover { color: var(--emerald); }

/* 회원가입 / 비밀번호 찾기 등 — 폼이 더 길어지므로 폭 확장 */
.doc--bbs #fregister,
.doc--bbs #find_info { max-width: 720px; margin: 0 auto; }
.doc--bbs #fregister fieldset legend,
.doc--bbs #find_info fieldset legend {
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
}
