/* ============================================================================
   법도 그룹 통합 테마 (bupdo) — style.css
   ============================================================================
   정적 사이트의 /css/styles.css가 먼저 로드되어 헤더·푸터·CTA·로고·typography
   전부 그대로 적용된다. 이 파일은 다음 두 가지만 책임:

   1. CSS 변수 시스템 보강 (그누보드 영역에서만 살짝 다른 값 필요할 때)
   2. 그누보드 기본 게시판 클래스(.btn_b01, .frm_input, .tbl_head01 등)를
      우리 골드/미드나잇 톤으로 재정의

   본격 게시판 디자인은 Phase 3D에서 skin/board/bupdo_seo/와 함께 완성.
   ============================================================================ */

/* ── CSS 변수 (정적 사이트와 100% 동일) ── */
:root {
    --bupdo-bg-dark: #0A1830;
    --bupdo-bg-deep: #0F1419;
    --bupdo-bg-mid: #1B2A4E;
    --bupdo-bg-ivory: #FAF8F3;
    --bupdo-bg-white: #FAFAFA;
    --bupdo-gold: #C9A961;
    --bupdo-gold-deep: #D4AF37;
    --bupdo-gold-light: #F5E6B8;
    --bupdo-blue-royal: #1E3A8A;
}

/* ── 한국어 어절 단위 줄바꿈 (전역) ── */
body {
    word-break: keep-all;
    overflow-wrap: break-word;
}

/* ── 메인 컨텐츠 영역 ── */
.bupdo-main {
    min-height: calc(100vh - 220px);
    padding: 70px 0 90px;
    background:
        radial-gradient(ellipse 900px 450px at 50% -5%, rgba(201,169,97,0.06), transparent 70%),
        var(--bupdo-bg-ivory);
    width: 100%;
}

/* ★ 게시판 콘텐츠를 1440px 컨테이너로 묶음 + 좌우 패딩 + 반응형
   #fboardlist (form 래퍼)도 포함 — 그누보드는 list 페이지에서 #fboardlist > #bo_list 구조 */
.bupdo-main > #fboardlist,
.bupdo-main > form#fboardlist,
.bupdo-main > #bo_list,
.bupdo-main > #bo_v,
.bupdo-main > #bo_w,
.bupdo-main > #bo_cl,
.bupdo-main > #bo_sch,
.bupdo-main > #bo_search,
.bupdo-main > .new_win,
.bupdo-main > .write_div,
.bupdo-main > form,
.bupdo-main > #fviewcomment,
.bupdo-main > #faq_wrap,
.bupdo-main > #captcha_wrap,
.bupdo-main > #bo_pop,
.bupdo-main > .pg_wrap {
    max-width: 1440px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
    width: 100%;
}

/* 그누보드가 #wrapper / #container 만들 경우도 대비 */
#wrapper, #container {
    background: var(--bupdo-bg-ivory);
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
    width: 100%;
}

/* 게시글 view 안의 내용·댓글·페이지네이션도 좌우 패딩 살림 */
#bo_v_top, #bo_v_info, #bo_v_atc, #bo_v_link, #bo_v_act,
#bo_v_com, #bo_v_table, #bo_v_file, #bo_v_img {
    max-width: 100%;
    box-sizing: border-box;
}

/* 게시판 안 이미지·미디어 절대 컨테이너 넘치지 않게 */
.bupdo-main img,
.bupdo-main video,
.bupdo-main iframe,
.bupdo-main table {
    max-width: 100%;
    height: auto;
}

.bupdo-main table {
    width: 100% !important;
}

/* ── 모바일 반응형 ── */
@media (max-width: 1024px) {
    .bupdo-main > #bo_list,
    .bupdo-main > #bo_v,
    .bupdo-main > #bo_w,
    .bupdo-main > #bo_cl,
    .bupdo-main > #bo_sch,
    .bupdo-main > form,
    .bupdo-main > .pg_wrap {
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (max-width: 768px) {
    .bupdo-main {
        padding: 40px 0 100px;
    }
    .bupdo-main > #bo_list,
    .bupdo-main > #bo_v,
    .bupdo-main > #bo_w,
    .bupdo-main > #bo_cl,
    .bupdo-main > #bo_sch,
    .bupdo-main > form,
    .bupdo-main > .pg_wrap {
        padding-left: 16px;
        padding-right: 16px;
    }
    /* 모바일에서 게시판 목록 테이블이 가로 스크롤 되도록 안전망 */
    #bo_list .tbl_wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 480px) {
    .bupdo-main > #bo_list,
    .bupdo-main > #bo_v,
    .bupdo-main > #bo_w,
    .bupdo-main > form,
    .bupdo-main > .pg_wrap {
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* ============================================================================
   그누보드 기본 클래스 → 우리 골드 톤 매핑
   ============================================================================ */

/* ── 버튼 (.btn_b01 ~ .btn_b04, .btn_admin, .btn_submit 등) ── */
.btn_b01, .btn_b02, .btn_b03, .btn_b04,
.btn_admin, .btn_cmt, .btn_cancel,
.btn_submit, .btn_frmline,
input[type="submit"].btn_submit,
button.btn_submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 22px;
    font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1;
    text-decoration: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.2, 0.7, 0.2, 1);
    border: 1px solid transparent;
}

/* 주 버튼 (제출·확인) — 골드 그라데이션 */
.btn_submit, .btn_b01,
input[type="submit"].btn_submit,
button.btn_submit {
    background: linear-gradient(135deg, var(--bupdo-gold-deep) 0%, var(--bupdo-gold) 100%);
    color: var(--bupdo-bg-dark);
    border-color: var(--bupdo-gold);
    box-shadow: 0 4px 12px rgba(201, 169, 97, 0.25);
}
.btn_submit:hover, .btn_b01:hover {
    background: linear-gradient(135deg, var(--bupdo-gold-light) 0%, var(--bupdo-gold-deep) 100%);
    box-shadow: 0 6px 18px rgba(201, 169, 97, 0.4);
    transform: translateY(-1px);
}

/* 보조 버튼 (취소·목록·이전) — 다크 아웃라인 */
.btn_b02, .btn_b03, .btn_cancel, .btn_admin {
    background: transparent;
    color: var(--bupdo-bg-dark);
    border-color: rgba(10, 24, 48, 0.3);
}
.btn_b02:hover, .btn_b03:hover, .btn_cancel:hover, .btn_admin:hover {
    background: rgba(10, 24, 48, 0.06);
    border-color: var(--bupdo-bg-dark);
}

/* 위험 버튼 (삭제) — 빨강 톤 */
.btn_b04, .btn_cmt {
    background: transparent;
    color: #8B1F1F;
    border-color: rgba(139, 31, 31, 0.3);
}
.btn_b04:hover {
    background: rgba(139, 31, 31, 0.08);
    border-color: #8B1F1F;
}

/* ── 입력 폼 (.frm_input, .frm_file, textarea) ── */
.frm_input,
input[type="text"].frm_input,
input[type="password"].frm_input,
input[type="email"].frm_input,
input[type="tel"].frm_input,
input[type="number"].frm_input,
textarea.frm_input,
select.frm_input,
textarea {
    height: 44px;
    padding: 0 14px;
    font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
    font-size: 15px;
    color: var(--bupdo-bg-dark);
    background: #FFFFFF;
    border: 1px solid rgba(10, 24, 48, 0.2);
    border-radius: 8px;
    transition: all 0.2s ease-out;
}
.frm_input:focus, textarea:focus, select:focus {
    outline: none;
    border-color: var(--bupdo-gold);
    box-shadow: 0 0 0 3px rgba(201, 169, 97, 0.15);
}
textarea.frm_input, textarea {
    min-height: 160px;
    padding: 12px 14px;
    line-height: 1.6;
    resize: vertical;
}

/* ── 테이블 (.tbl_head01, .tbl_head02, .tbl_wrap) ── */
.tbl_head01, .tbl_head02 {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    margin: 0 0 20px;
    background: #FFFFFF;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.tbl_head01 thead th, .tbl_head02 thead th {
    padding: 14px 12px;
    font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--bupdo-bg-dark);
    background: linear-gradient(180deg, #F7F4EC 0%, #EFE9DB 100%);
    border-bottom: 1.5px solid var(--bupdo-gold);
    text-align: center;
}
.tbl_head01 tbody td, .tbl_head02 tbody td {
    padding: 14px 12px;
    font-size: 14px;
    color: var(--bupdo-bg-dark);
    border-bottom: 1px solid rgba(10, 24, 48, 0.06);
}
.tbl_head01 tbody tr:hover td {
    background: rgba(201, 169, 97, 0.04);
}

/* ── 페이지네이션 (.pg_wrap, .pg_page, .pg_current) ── */
.pg_wrap {
    text-align: center;
    margin: 30px 0;
}
.pg_page, .pg_current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    margin: 0 2px;
    font-family: 'Pretendard Variable', sans-serif;
    font-size: 14px;
    color: var(--bupdo-bg-dark);
    text-decoration: none;
    background: #FFFFFF;
    border: 1px solid rgba(10, 24, 48, 0.15);
    border-radius: 6px;
    transition: all 0.2s ease-out;
}
.pg_page:hover {
    border-color: var(--bupdo-gold);
    color: var(--bupdo-gold-deep);
}
.pg_current {
    background: linear-gradient(135deg, var(--bupdo-gold-deep) 0%, var(--bupdo-gold) 100%);
    color: var(--bupdo-bg-dark);
    border-color: var(--bupdo-gold);
    font-weight: 700;
}

/* ── 그누보드 기본 h2.h2_frm (관리자 폼 제목) ── */
h2.h2_frm, h2.h2_link {
    font-family: 'Playfair Display', 'Pretendard Variable', serif;
    font-size: 28px;
    font-weight: 600;
    color: var(--bupdo-bg-dark);
    margin: 0 0 24px;
    padding: 0 0 14px;
    border-bottom: 1.5px solid var(--bupdo-gold);
    position: relative;
}
h2.h2_frm::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1.5px;
    width: 50px;
    height: 3px;
    background: var(--bupdo-gold-deep);
    border-radius: 2px;
}

/* ── 검색 박스 (.search_wrap, .sch_wrap) ── */
.search_wrap, .sch_wrap, #bo_sch {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px;
    background: #FFFFFF;
    border-radius: 10px;
    margin-bottom: 24px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* ── 컨테이너 제목 (.container_title) — 게시판 페이지 상단 ── */
#container_title, .container_title {
    font-family: 'Playfair Display', 'Pretendard Variable', serif;
    font-size: clamp(1.5rem, 2.5vw, 2.25rem);
    font-weight: 600;
    color: var(--bupdo-bg-dark);
    margin: 0 0 32px;
    padding: 16px 0;
    background: transparent;
    border-bottom: none;
}

/* ============================================================================
   ⚠️ Phase 3D 게시판 SEO 스킨(skin/board/bupdo_seo/)에서 추가될 예정:
   - 게시글 view 페이지 디자인 (Article 카드)
   - 목록 디자인 (리스트형 카드 + 메타 정보)
   - 글쓰기 폼 디자인 (SEO 메타 4필드 입력 UI)
   - 댓글 영역 디자인
   ============================================================================ */

/* ── 게시판 액션 버튼 영역 (상단 #bo_btn_top + 하단 .bo_fx) ── */
#bo_btn_top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
}

#bo_btn_top > div:first-child {
    flex: 1 1 auto;
    margin: 0 !important;
}

/* 우측 상단 액션 아이콘 그룹 (검색·글쓰기·설정·더보기) */
#bo_btn_top .btn_bo_user,
.bo_fx .btn_bo_user {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#bo_btn_top .btn_bo_user li,
.bo_fx .btn_bo_user li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: inline-flex !important;
}

#bo_btn_top .btn_bo_user a,
#bo_btn_top .btn_bo_user button,
.bo_fx .btn_bo_user a,
.bo_fx .btn_bo_user button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    border: 1px solid rgba(10, 24, 48, 0.12) !important;
    background: #FFFFFF !important;
    color: var(--bupdo-bg-dark) !important;
    transition: all 0.2s ease-out !important;
    font-size: 14px !important;
}

#bo_btn_top .btn_bo_user a:hover,
#bo_btn_top .btn_bo_user button:hover,
.bo_fx .btn_bo_user a:hover,
.bo_fx .btn_bo_user button:hover {
    border-color: var(--bupdo-gold) !important;
    color: var(--bupdo-gold-deep) !important;
    box-shadow: 0 2px 8px rgba(201, 169, 97, 0.15);
}

/* 글쓰기 버튼은 골드 강조 */
#bo_btn_top .btn_bo_user .btn_b01,
#bo_btn_top .btn_bo_user .btn_admin,
#bo_btn_top .btn_bo_user a[href*="write"],
.bo_fx .btn_bo_user .btn_b01,
.bo_fx .btn_bo_user a[href*="write"] {
    background: linear-gradient(135deg, var(--bupdo-gold-deep) 0%, var(--bupdo-gold) 100%) !important;
    border-color: var(--bupdo-gold) !important;
    color: var(--bupdo-bg-dark) !important;
    box-shadow: 0 2px 8px rgba(201, 169, 97, 0.25);
}

/* 더보기(⋮) 드롭다운 메뉴 (.more_opt.is_list_btn) — 선택삭제·선택복사·선택이동 */
#bo_btn_top .btn_bo_user > li,
.bo_fx .btn_bo_user > li {
    position: relative !important;
}

#bo_btn_top .btn_bo_user .more_opt,
.bo_fx .btn_bo_user .more_opt {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: auto !important;
    width: auto !important;
    min-width: 170px !important;
    height: auto !important;
    padding: 6px !important;
    margin: 0 !important;
    list-style: none !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(10, 24, 48, 0.08) !important;
    border-radius: 12px !important;
    box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(201, 169, 97, 0.15) !important;
    z-index: 100 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 2px !important;
}

/* 드롭다운 안 li는 가로 폭 다 차지 (위에서 inline-flex 박은 거 override) */
#bo_btn_top .btn_bo_user .more_opt li,
.bo_fx .btn_bo_user .more_opt li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* 드롭다운 안 a/button — 38×38 박스 룰 override + 메뉴 형태로 재정의 */
#bo_btn_top .btn_bo_user .more_opt a,
#bo_btn_top .btn_bo_user .more_opt button,
.bo_fx .btn_bo_user .more_opt a,
.bo_fx .btn_bo_user .more_opt button {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    min-height: 36px !important;
    padding: 8px 12px !important;
    text-align: left !important;
    background: transparent !important;
    border: none !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: var(--bupdo-bg-dark) !important;
    cursor: pointer !important;
    transition: background 0.15s ease-out, color 0.15s ease-out !important;
}

#bo_btn_top .btn_bo_user .more_opt a:hover,
#bo_btn_top .btn_bo_user .more_opt button:hover,
.bo_fx .btn_bo_user .more_opt a:hover,
.bo_fx .btn_bo_user .more_opt button:hover {
    background: rgba(201, 169, 97, 0.1) !important;
    color: var(--bupdo-gold-deep) !important;
    border-color: transparent !important;
    transform: none !important;
}

/* 위험한 선택삭제 — 빨강 톤 (호버 시 강조) */
#bo_btn_top .btn_bo_user .more_opt a[href*="delete"]:hover,
#bo_btn_top .btn_bo_user .more_opt button[onclick*="delete"]:hover {
    background: rgba(139, 31, 31, 0.08) !important;
    color: #8B1F1F !important;
}

/* 하단 우측 .bo_fx 영역 */
.bo_fx {
    margin: 16px 0 0 !important;
    text-align: right;
}

/* "Total N건 N 페이지" 텍스트 */
.bo_btn_top__count,
#bo_list .bo_list_total,
.bo_fx_count {
    font-family: 'Pretendard Variable', sans-serif;
    font-size: 13px;
    color: rgba(10, 24, 48, 0.6);
}

/* ============================================================================
   bupdo_seo 게시판 스킨 디자인 (Phase 3D)
   ============================================================================ */

/* ── 게시글 보기 (view.skin.php) — 프리미엄 ── */
.bupdo-view {
    position: relative;
    background: #FFFFFF;
    border-radius: 18px;
    padding: 60px 64px;
    box-shadow:
        0 1px 2px rgba(10, 24, 48, 0.04),
        0 10px 30px rgba(10, 24, 48, 0.07),
        0 30px 70px rgba(10, 24, 48, 0.05);
    overflow: hidden;
}
/* 상단 골드 그라데이션 라인 */
.bupdo-view::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--bupdo-gold) 18%, var(--bupdo-gold-light) 50%, var(--bupdo-gold) 82%, transparent);
    z-index: 1;
}
/* 배경 골드 오브 (은은한 깊이) */
.bupdo-view::after {
    content: ""; position: absolute; top: -160px; right: -160px; width: 420px; height: 420px;
    background: radial-gradient(circle, rgba(201,169,97,0.07) 0%, transparent 70%);
    pointer-events: none; z-index: 0;
}
.bupdo-view > * { position: relative; z-index: 1; }

.bupdo-view__head {
    position: relative;
    padding-bottom: 28px;
    margin-bottom: 40px;
}
/* 헤더 하단 골드 그라데이션 디바이더 */
.bupdo-view__head::after {
    content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px;
    background: linear-gradient(90deg, var(--bupdo-gold) 0%, rgba(201,169,97,0.18) 45%, transparent 100%);
}
.bupdo-view__board-label {
    font-size: 12px;
    color: var(--bupdo-gold-deep);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.bupdo-view__board-label::before {
    content: ""; width: 24px; height: 1px; background: var(--bupdo-gold);
}
.bupdo-view__board-label a { color: inherit; text-decoration: none; }
.bupdo-view__board-label a:hover { color: var(--bupdo-gold); }
.bupdo-view__category { color: rgba(10, 24, 48, 0.5); margin-left: 4px; }

.bupdo-view__title {
    font-family: 'Playfair Display', 'Pretendard Variable', serif;
    font-size: clamp(1.9rem, 3.2vw, 2.75rem);
    font-weight: 600;
    line-height: 1.25;
    color: var(--bupdo-bg-dark);
    margin: 0 0 20px;
    letter-spacing: -0.015em;
}

.bupdo-view__meta {
    font-size: 13px;
    color: rgba(10, 24, 48, 0.55);
    line-height: 1.6;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.bupdo-view__meta .bupdo-view__sep { margin: 0 8px; opacity: 0.4; }
.bupdo-view__author {
    font-weight: 700;
    color: var(--bupdo-bg-dark);
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
/* 작성자 앞 골드 도트 */
.bupdo-view__author::before {
    content: ""; width: 6px; height: 6px; border-radius: 50%;
    background: linear-gradient(135deg, var(--bupdo-gold-deep), var(--bupdo-gold));
    box-shadow: 0 0 6px rgba(201,169,97,0.5);
}

/* ★ GEO 답변 블록 — 럭셔리 인용 카드 */
.bupdo-view__answer {
    margin: 0 0 44px;
    background: linear-gradient(135deg, rgba(245, 230, 184, 0.22) 0%, rgba(201, 169, 97, 0.05) 100%);
    border: 1px solid rgba(201, 169, 97, 0.28);
    border-radius: 16px;
    padding: 28px 32px 28px 36px;
    position: relative;
    overflow: hidden;
}
/* 좌측 골드 바 */
.bupdo-view__answer::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
    background: linear-gradient(180deg, var(--bupdo-gold-light), var(--bupdo-gold-deep));
}
/* 큰 인용부호 장식 */
.bupdo-view__answer::after {
    content: "\201C";
    position: absolute; top: 4px; right: 24px;
    font-family: 'Playfair Display', serif;
    font-size: 120px; line-height: 1;
    color: rgba(201, 169, 97, 0.14);
    pointer-events: none;
}
.bupdo-view__answer-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: var(--bupdo-gold-deep);
    text-transform: uppercase;
    margin-bottom: 12px;
}
.bupdo-view__answer-label::before {
    content: ""; width: 18px; height: 1px; background: var(--bupdo-gold-deep);
}
.bupdo-view__answer-text {
    font-size: 16.5px;
    line-height: 1.8;
    color: var(--bupdo-bg-dark);
    margin: 0;
    font-weight: 500;
    position: relative;
    z-index: 1;
}

/* 본문 — 정교한 타이포 */
.bupdo-view__body {
    font-size: 17px;
    line-height: 1.9;
    color: rgba(10, 24, 48, 0.9);
    word-break: keep-all;
    overflow-wrap: break-word;
    letter-spacing: -0.003em;
}
/* 빈 문단 제거 (에디터가 넣은 빈 줄 정리) */
.bupdo-view__body p:empty,
.bupdo-view__body p > br:only-child { display: none; }
.bupdo-view__body > p:first-of-type { margin-top: 0; }
.bupdo-view__body h2 {
    font-family: 'Playfair Display', 'Pretendard Variable', serif;
    font-size: 1.5em;
    font-weight: 600;
    margin: 2.4em 0 0.8em;
    padding-bottom: 0.4em;
    border-bottom: 2px solid var(--bupdo-gold);
    color: var(--bupdo-bg-dark);
}
.bupdo-view__body h3 { font-size: 1.25em; font-weight: 600; margin: 2em 0 0.6em; color: var(--bupdo-bg-dark); }
.bupdo-view__body p { margin: 0 0 1.2em; }
.bupdo-view__body ul, .bupdo-view__body ol { margin: 1em 0 1.5em; padding-left: 1.6em; }
.bupdo-view__body li { margin: 0.4em 0; line-height: 1.7; }
.bupdo-view__body blockquote {
    margin: 1.5em 0;
    padding: 0.6em 1.4em;
    border-left: 3px solid var(--bupdo-gold);
    background: rgba(201, 169, 97, 0.05);
    color: rgba(10, 24, 48, 0.85);
    font-style: italic;
    border-radius: 0 6px 6px 0;
}
.bupdo-view__body a { color: var(--bupdo-gold-deep); text-decoration: underline; text-underline-offset: 3px; }
.bupdo-view__body a:hover { color: var(--bupdo-gold); }
.bupdo-view__body img { max-width: 100%; height: auto; border-radius: 8px; margin: 1em 0; }

.bupdo-view__files {
    margin: 0 0 28px;
    padding: 16px 20px;
    background: rgba(10, 24, 48, 0.025);
    border-radius: 10px;
}
.bupdo-view__files-title {
    font-size: 13px;
    font-weight: 600;
    color: rgba(10, 24, 48, 0.7);
    margin: 0 0 10px;
}
.bupdo-view__files-list { list-style: none; margin: 0; padding: 0; }
.bupdo-view__files-list li { margin: 4px 0; }
.bupdo-view__files-list a {
    display: inline-flex; gap: 8px; align-items: baseline;
    color: var(--bupdo-bg-dark); text-decoration: none;
    padding: 4px 0;
}
.bupdo-view__files-list a:hover { color: var(--bupdo-gold-deep); }
.bupdo-view__file-size { font-size: 12px; color: rgba(10, 24, 48, 0.5); }
.bupdo-view__file-dl { font-size: 12px; color: rgba(10, 24, 48, 0.5); }

/* 추천 버튼 */
.bupdo-view__vote {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin: 40px 0 32px;
}
.bupdo-view__vote-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    border: 1px solid rgba(10, 24, 48, 0.15);
    background: #FFFFFF;
    border-radius: 999px;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    color: var(--bupdo-bg-dark);
    transition: all 0.2s ease-out;
}
.bupdo-view__vote-btn--good:hover { border-color: var(--bupdo-gold); color: var(--bupdo-gold-deep); }
.bupdo-view__vote-btn--nogood:hover { border-color: #8B1F1F; color: #8B1F1F; }

/* 이전·다음 글 */
.bupdo-view__siblings {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 40px 0 24px;
    padding: 16px 0;
    border-top: 1px solid rgba(10, 24, 48, 0.08);
    border-bottom: 1px solid rgba(10, 24, 48, 0.08);
}
.bupdo-view__sibling {
    flex: 1;
    padding: 12px 18px;
    text-decoration: none;
    border-radius: 8px;
    background: rgba(10, 24, 48, 0.02);
    color: var(--bupdo-bg-dark);
    transition: background 0.2s ease-out;
}
.bupdo-view__sibling:hover { background: rgba(201, 169, 97, 0.08); }
.bupdo-view__sibling--next { text-align: right; }
.bupdo-view__sibling-label { font-size: 13px; color: rgba(10, 24, 48, 0.5); }

/* 액션 버튼 */
.bupdo-view__actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-top: 32px;
}

/* ── 게시판 목록 (list.skin.php) — 프리미엄 ── */
.bupdo-list {
    position: relative;
    background: #FFFFFF;
    border-radius: 18px;
    padding: 52px 56px;
    box-shadow:
        0 1px 2px rgba(10, 24, 48, 0.04),
        0 10px 30px rgba(10, 24, 48, 0.07),
        0 30px 70px rgba(10, 24, 48, 0.05);
    overflow: hidden;
}
.bupdo-list::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--bupdo-gold) 18%, var(--bupdo-gold-light) 50%, var(--bupdo-gold) 82%, transparent);
}
.bupdo-list::after {
    content: ""; position: absolute; top: -160px; right: -160px; width: 420px; height: 420px;
    background: radial-gradient(circle, rgba(201,169,97,0.07) 0%, transparent 70%);
    pointer-events: none;
}
.bupdo-list__head {
    position: relative; z-index: 1;
    margin-bottom: 32px; padding-bottom: 24px;
}
.bupdo-list__head::after {
    content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px;
    background: linear-gradient(90deg, var(--bupdo-gold) 0%, rgba(201,169,97,0.18) 45%, transparent 100%);
}
.bupdo-list__eyebrow {
    font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--bupdo-gold-deep); margin: 0 0 14px;
    display: inline-flex; align-items: center; gap: 8px;
}
.bupdo-list__eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--bupdo-gold); }
.bupdo-list__title {
    font-family: 'Playfair Display', 'Pretendard Variable', serif;
    font-size: clamp(2rem, 3vw, 2.75rem);
    font-weight: 600;
    color: var(--bupdo-bg-dark);
    margin: 0;
    letter-spacing: -0.015em;
}
.bupdo-list__intro { margin-top: 14px; color: rgba(10, 24, 48, 0.65); font-size: 14px; line-height: 1.6; }

.bupdo-list__bar {
    position: relative; z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 8px;
}
.bupdo-list__count { margin: 0; font-size: 13px; color: rgba(10, 24, 48, 0.55); }
.bupdo-list__count strong { color: var(--bupdo-gold-deep); font-weight: 700; }
.bupdo-list__rows { position: relative; z-index: 1; }

.bupdo-list__rows { list-style: none; margin: 0; padding: 0; }

.bupdo-list__row { position: relative; }
.bupdo-list__row + .bupdo-list__row { border-top: 1px solid rgba(10,24,48,0.07); }

/* 체크박스 — 평소 숨김, 호버/체크 시 노출 (관리자에게만 출력됨) */
.bupdo-list__chk {
    position: absolute; left: 4px; top: 50%; transform: translateY(-50%);
    z-index: 3; width: 16px; height: 16px; cursor: pointer;
    opacity: 0; transition: opacity .2s ease-out;
}
.bupdo-list__row:hover .bupdo-list__chk,
.bupdo-list__chk:checked { opacity: 1; }

/* 카드 (행 전체 클릭) */
.bupdo-list__card {
    display: flex; align-items: center; gap: 22px;
    padding: 22px 18px 22px 22px;
    text-decoration: none; color: inherit;
    position: relative;
    transition: background .3s cubic-bezier(.2,.7,.2,1), padding .3s cubic-bezier(.2,.7,.2,1);
}
/* 좌측 골드 바 (호버 시 슬라이드 인) */
.bupdo-list__card::before {
    content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px;
    border-radius: 2px;
    background: linear-gradient(180deg, var(--bupdo-gold-light), var(--bupdo-gold-deep));
    transform: scaleY(0); transform-origin: center;
    transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.bupdo-list__card:hover {
    background: linear-gradient(90deg, rgba(201,169,97,0.07), transparent 80%);
    padding-left: 30px;
}
.bupdo-list__card:hover::before { transform: scaleY(1); }

/* 큰 세리프 번호 */
.bupdo-list__index {
    flex-shrink: 0; min-width: 46px; text-align: center;
    font-family: 'Playfair Display', serif; font-size: 30px; font-weight: 500;
    color: var(--bupdo-gold); opacity: .32; line-height: 1;
    transition: opacity .3s ease-out;
    font-variant-numeric: tabular-nums;
}
.bupdo-list__card:hover .bupdo-list__index { opacity: .65; }
.bupdo-list__index-star { font-size: 22px; }

.bupdo-list__main { flex: 1; min-width: 0; }
.bupdo-list__subject-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 7px; }

.bupdo-list__subject {
    margin: 0; font-size: 17px; font-weight: 600; line-height: 1.45;
    color: var(--bupdo-bg-dark);
    transition: color .3s ease-out;
}
.bupdo-list__card:hover .bupdo-list__subject { color: var(--bupdo-gold-deep); }

/* 카테고리 칩 (골드 아웃라인 알약) */
.bupdo-list__cat {
    display: inline-block; padding: 3px 10px;
    border: 1px solid rgba(201,169,97,.5); border-radius: 999px;
    color: var(--bupdo-gold-deep); font-size: 11px; font-weight: 600; letter-spacing: .02em;
}
/* 공지 배지 (골드 그라데이션 채움) */
.bupdo-list__notice-badge {
    display: inline-block; padding: 3px 11px;
    background: linear-gradient(135deg, var(--bupdo-gold-deep), var(--bupdo-gold));
    color: var(--bupdo-bg-dark); border-radius: 999px;
    font-size: 11px; font-weight: 700; letter-spacing: .02em;
}

.bupdo-list__reply-icon { color: rgba(10,24,48,.4); margin-right: 4px; }
.bupdo-list__cmt-cnt { color: var(--bupdo-gold-deep); font-weight: 700; font-size: 14px; margin-left: 6px; }
.bupdo-list__new-badge {
    display: inline-block; padding: 1px 7px; margin-left: 7px; vertical-align: 2px;
    background: #16A34A; color: #fff; border-radius: 4px; font-size: 10px; font-weight: 700; letter-spacing: .04em;
}
.bupdo-list__hot-badge {
    display: inline-block; padding: 1px 7px; margin-left: 7px; vertical-align: 2px;
    background: #DC2626; color: #fff; border-radius: 4px; font-size: 10px; font-weight: 700; letter-spacing: .04em;
}
.bupdo-list__secret { margin-left: 6px; font-size: 13px; }

.bupdo-list__meta { font-size: 12.5px; color: rgba(10,24,48,.5); }
.bupdo-list__meta .bupdo-list__sep { margin: 0 6px; opacity: .45; }
.bupdo-list__author { font-weight: 600; color: rgba(10,24,48,.68); }

/* 우측 화살표 (호버 시 등장) */
.bupdo-list__arrow {
    flex-shrink: 0; font-size: 18px; color: var(--bupdo-gold-deep);
    opacity: 0; transform: translateX(-8px);
    transition: opacity .3s cubic-bezier(.2,.7,.2,1), transform .3s cubic-bezier(.2,.7,.2,1);
}
.bupdo-list__card:hover .bupdo-list__arrow { opacity: 1; transform: translateX(0); }

/* 공지글 행 강조 */
.bupdo-list__row.is-notice {
    background: linear-gradient(135deg, rgba(245,230,184,.18), rgba(201,169,97,.03));
    border-radius: 10px;
    border-top: none !important;
}
.bupdo-list__row.is-notice .bupdo-list__index { color: var(--bupdo-gold-deep); opacity: .8; }

.bupdo-list__empty { padding: 80px 0; text-align: center; color: rgba(10,24,48,.5); }
.bupdo-list__check-actions { display: flex; gap: 6px; margin: 18px 0; flex-wrap: wrap; }
.bupdo-list__bottom-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 24px; }

/* ── 글쓰기 폼 (write.skin.php) — 프리미엄 ── */
.bupdo-write {
    position: relative;
    background: #FFFFFF;
    border-radius: 18px;
    padding: 52px 56px;
    box-shadow:
        0 1px 2px rgba(10, 24, 48, 0.04),
        0 10px 30px rgba(10, 24, 48, 0.07),
        0 30px 70px rgba(10, 24, 48, 0.05);
    overflow: hidden;
}
.bupdo-write::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--bupdo-gold) 18%, var(--bupdo-gold-light) 50%, var(--bupdo-gold) 82%, transparent);
}
.bupdo-write__head { position: relative; margin-bottom: 32px; padding-bottom: 24px; }
.bupdo-write__head::after {
    content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px;
    background: linear-gradient(90deg, var(--bupdo-gold) 0%, rgba(201,169,97,0.18) 45%, transparent 100%);
}
.bupdo-write__title {
    font-family: 'Playfair Display', 'Pretendard Variable', serif;
    font-size: clamp(1.65rem, 2.6vw, 2.2rem);
    font-weight: 600;
    color: var(--bupdo-bg-dark);
    margin: 0;
    letter-spacing: -0.01em;
}
.bupdo-write__action {
    color: var(--bupdo-gold-deep);
    margin-left: 10px;
    font-size: 0.7em;
    font-family: 'Pretendard Variable', sans-serif;
    font-weight: 600;
    letter-spacing: 0.04em;
    vertical-align: middle;
    padding: 4px 12px;
    background: rgba(201,169,97,0.1);
    border-radius: 999px;
}

.bupdo-write__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; margin-bottom: 24px; }
.bupdo-write__field { display: flex; flex-direction: column; gap: 6px; }
.bupdo-write__field--full { grid-column: 1 / -1; }
.bupdo-write__field--editor { margin-top: 8px; }
.bupdo-write__field label { font-size: 13px; font-weight: 600; color: var(--bupdo-bg-dark); }
.bupdo-write__req { color: #DC2626; margin-left: 2px; }
.bupdo-write__hint { font-size: 12px; color: rgba(10, 24, 48, 0.55); margin-top: 2px; }
.bupdo-write__options { display: flex; gap: 16px; flex-wrap: wrap; padding-top: 6px; }
.bupdo-write__opt { font-size: 14px; cursor: pointer; }
.bupdo-write__file-row { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; flex-wrap: wrap; }
.bupdo-write__file-info { font-size: 12px; color: rgba(10, 24, 48, 0.6); }

/* ★ SEO 메타 4필드 fieldset — 골드 강조 */
.bupdo-write__seo {
    margin: 28px 0;
    padding: 24px 28px;
    border: 1.5px solid var(--bupdo-gold);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(245, 230, 184, 0.12) 0%, rgba(201, 169, 97, 0.04) 100%);
}
.bupdo-write__seo-legend {
    font-family: 'Playfair Display', serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--bupdo-bg-dark);
    padding: 0 12px;
    background: var(--bupdo-bg-ivory);
}
.bupdo-write__seo-tag {
    display: inline-block;
    padding: 2px 8px;
    background: var(--bupdo-gold);
    color: var(--bupdo-bg-dark);
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin-left: 8px;
    vertical-align: 3px;
}
.bupdo-write__seo-intro {
    margin: 0 0 20px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.6;
    color: rgba(10, 24, 48, 0.75);
}
.bupdo-write__seo-intro strong { color: var(--bupdo-gold-deep); }

.bupdo-write__actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid rgba(10, 24, 48, 0.08);
}

/* ── 댓글 (view_comment.skin.php) — 프리미엄 ── */
.bupdo-comments {
    position: relative;
    margin-top: 56px;
    padding-top: 40px;
    border-top: 1px solid rgba(10, 24, 48, 0.08);
}
.bupdo-comments::before {
    content: ""; position: absolute; top: -1px; left: 0; width: 80px; height: 2px;
    background: linear-gradient(90deg, var(--bupdo-gold-deep), var(--bupdo-gold));
}
.bupdo-comments__title {
    font-family: 'Playfair Display', serif; font-size: 23px; font-weight: 600;
    color: var(--bupdo-bg-dark); margin: 0 0 24px;
    display: flex; align-items: baseline; gap: 9px;
}
.bupdo-comments__count { color: var(--bupdo-gold-deep); font-size: 19px; font-weight: 700; }

.bupdo-comments__list { list-style: none; margin: 0 0 28px; padding: 0; }
.bupdo-comments__item {
    padding: 20px 24px;
    background: linear-gradient(135deg, rgba(10,24,48,0.02), rgba(10,24,48,0.008));
    border: 1px solid rgba(10,24,48,0.05);
    border-radius: 14px;
    margin-bottom: 10px;
    transition: border-color .25s ease-out, box-shadow .25s ease-out;
}
.bupdo-comments__item:hover {
    border-color: rgba(201,169,97,0.32);
    box-shadow: 0 6px 18px rgba(10,24,48,0.05);
}
.bupdo-comments__item.is-reply {
    background: linear-gradient(135deg, rgba(201,169,97,0.07), rgba(201,169,97,0.02));
    border-left: 3px solid var(--bupdo-gold);
}
.bupdo-comments__head { font-size: 12px; color: rgba(10,24,48,0.5); margin-bottom: 10px; display: flex; align-items: center; }
.bupdo-comments__author {
    font-weight: 700; color: var(--bupdo-bg-dark);
    display: inline-flex; align-items: center; gap: 8px;
}
.bupdo-comments__author::before {
    content: ""; width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
    background: linear-gradient(135deg, var(--bupdo-gold-light), var(--bupdo-gold-deep));
    box-shadow: 0 2px 6px rgba(201,169,97,0.3);
}
.bupdo-comments__sep { margin: 0 8px; opacity: .4; }
.bupdo-comments__body { font-size: 14.5px; line-height: 1.75; color: rgba(10,24,48,0.85); margin: 0 0 8px; padding-left: 30px; }
.bupdo-comments__actions { display: flex; gap: 8px; font-size: 12px; padding-left: 30px; }
.bupdo-comments__btn { color: rgba(10,24,48,0.5); text-decoration: none; padding: 3px 10px; border-radius: 6px; transition: all .2s ease-out; }
.bupdo-comments__btn:hover { background: rgba(201,169,97,0.12); color: var(--bupdo-gold-deep); }
.bupdo-comments__btn--danger:hover { background: rgba(139,31,31,0.08); color: #8B1F1F; }
.bupdo-comments__empty {
    padding: 44px; text-align: center; color: rgba(10,24,48,0.45);
    background: rgba(10,24,48,0.015); border-radius: 14px;
    border: 1px dashed rgba(10,24,48,0.12);
}

/* 댓글 작성 폼 — 골드 카드 */
.bupdo-comments__form {
    margin-top: 24px; padding: 26px 30px;
    background: linear-gradient(135deg, rgba(245,230,184,0.18), rgba(201,169,97,0.04));
    border: 1px solid rgba(201,169,97,0.28);
    border-radius: 16px;
}
.bupdo-comments__guest { display: flex; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.bupdo-comments__guest .frm_input { flex: 1; min-width: 140px; }
.bupdo-comments__textarea {
    width: 100%; min-height: 110px; box-sizing: border-box;
    resize: vertical; line-height: 1.65;
    background: #FFFFFF;
}
.bupdo-comments__form-bottom {
    display: flex; justify-content: flex-end; align-items: center;
    margin-top: 14px; gap: 16px;
}
.bupdo-comments__secret { font-size: 13px; color: rgba(10,24,48,0.6); cursor: pointer; margin-right: auto; }
.bupdo-comments__captcha { margin-top: 14px; }

/* btn--ghost·btn--gold·btn--danger·btn--admin·btn--small (정적 사이트 보조 클래스) */
.btn.btn--ghost { background: transparent; color: var(--bupdo-bg-dark); border: 1px solid rgba(10,24,48,0.2); }
.btn.btn--ghost:hover { background: rgba(10,24,48,0.04); border-color: var(--bupdo-bg-dark); }
.btn.btn--danger:hover { background: rgba(139,31,31,0.08); color: #8B1F1F; border-color: #8B1F1F; }
.btn.btn--admin { border-color: rgba(30,58,138,0.25); color: var(--bupdo-blue-royal); }
.btn.btn--small { height: 34px; padding: 0 14px; font-size: 13px; }

/* ── 모바일 보정 ── */
@media (max-width: 768px) {
    .bupdo-main {
        padding: 40px 0 100px;
    }
    .bupdo-view, .bupdo-list, .bupdo-write {
        padding: 28px 20px;
        border-radius: 10px;
    }
    .bupdo-view__answer { padding: 16px 18px; }
    .bupdo-write__grid { grid-template-columns: 1fr; }
    .bupdo-list__card { gap: 14px; padding: 16px 10px 16px 14px; }
    .bupdo-list__card:hover { padding-left: 18px; }
    .bupdo-list__index { min-width: 32px; font-size: 22px; }
    .bupdo-list__subject { font-size: 15px; }
    .bupdo-list__arrow { display: none; }
    .tbl_head01, .tbl_head02 {
        font-size: 13px;
    }
    #bo_btn_top {
        gap: 8px !important;
    }
    #bo_btn_top .btn_bo_user a,
    #bo_btn_top .btn_bo_user button,
    .bo_fx .btn_bo_user a,
    .bo_fx .btn_bo_user button {
        width: 34px !important;
        height: 34px !important;
    }
}

/* ============================================================================
   상담신청 게시판 스킨 (bupdo_consult) — 관리자 대시보드·접수대장·상세·메모
   필드: wr_1 상태 / wr_2 연락처 / wr_3 이메일 / wr_4 분야 / wr_5 성함
   ============================================================================ */

/* ── 공통: 상태 배지 ── */
.consult-badge {
    display: inline-block;
    padding: 0.22em 0.85em;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    vertical-align: middle;
}
.consult-badge--new {
    background: linear-gradient(135deg, var(--bupdo-gold-deep), var(--bupdo-gold));
    color: var(--bupdo-bg-dark);
    box-shadow: 0 3px 10px rgba(201,169,97,0.35);
}
.consult-badge--done {
    background: rgba(10,24,48,0.06);
    border: 1px solid rgba(10,24,48,0.15);
    color: rgba(10,24,48,0.55);
}
.consult-badge--lg { font-size: 0.84rem; padding: 0.32em 1.05em; }

/* ════════════════════════════════════════════════════════════
   대시보드 (목록 상단)
   ════════════════════════════════════════════════════════════ */
.consult-dash {
    position: relative;
    background:
        radial-gradient(ellipse 640px 300px at 85% -20%, rgba(201,169,97,0.16), transparent 65%),
        linear-gradient(150deg, #061021 0%, var(--bupdo-bg-dark) 55%, #11254A 100%);
    border: 1px solid rgba(201,169,97,0.4);
    border-radius: 18px;
    padding: 1.9rem 2rem 1.7rem;
    margin-bottom: 1.6rem;
    color: var(--bupdo-bg-ivory);
    box-shadow: 0 24px 60px rgba(10,24,48,0.25), inset 0 1px 0 rgba(255,255,255,0.06);
    overflow: hidden;
}
.consult-dash::before {
    content: "";
    position: absolute; inset: 0;
    background:
        linear-gradient(to right, rgba(201,169,97,0.04) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(201,169,97,0.04) 1px, transparent 1px);
    background-size: 42px 42px;
    pointer-events: none;
}
.consult-dash > * { position: relative; }

.consult-dash__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.4rem;
}
.consult-dash__eyebrow {
    font-size: 0.71875rem;
    letter-spacing: 0.3em;
    color: var(--bupdo-gold);
    margin: 0 0 0.4rem;
}
.consult-dash__title {
    font-size: clamp(1.4rem, 3.4vw, 1.8rem);
    color: #fff;
    margin: 0;
}
.consult-dash__title span { color: var(--bupdo-gold-light); font-weight: 500; }
.consult-dash__cal {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 1.4rem;
    background: linear-gradient(135deg, var(--bupdo-gold-deep), var(--bupdo-gold));
    color: var(--bupdo-bg-deep);
    border: 0;
    border-radius: 999px;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(201,169,97,0.4);
    transition: transform 0.3s, box-shadow 0.3s;
}
.consult-dash__cal:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(201,169,97,0.55); }
.consult-dash__cal svg { width: 17px; height: 17px; }

.consult-dash__stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.7rem;
    margin-bottom: 1.4rem;
}
@media (max-width: 860px) { .consult-dash__stats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .consult-dash__stats { grid-template-columns: repeat(2, 1fr); } }
.consult-stat {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(250,248,243,0.12);
    border-radius: 12px;
    padding: 0.9rem 1.1rem;
    transition: transform 0.25s, border-color 0.25s;
}
.consult-stat:hover { transform: translateY(-2px); border-color: rgba(201,169,97,0.5); }
.consult-stat__label { font-size: 0.71875rem; color: rgba(250,248,243,0.55); margin: 0 0 0.3rem; letter-spacing: 0.05em; }
.consult-stat__num {
    font-family: "Playfair Display", "Pretendard Variable", serif;
    font-size: 1.7rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.consult-stat__num small { font-size: 0.72rem; color: rgba(250,248,243,0.5); margin-left: 0.2em; font-weight: 400; }
.consult-stat--new {
    background: linear-gradient(150deg, rgba(212,175,55,0.25), rgba(201,169,97,0.08));
    border-color: rgba(201,169,97,0.65);
}
.consult-stat--new .consult-stat__label { color: var(--bupdo-gold-light); }
.consult-stat--new .consult-stat__num { color: var(--bupdo-gold-light); }

.consult-dash__chart {
    background: rgba(0,0,0,0.22);
    border: 1px solid rgba(250,248,243,0.1);
    border-radius: 14px;
    padding: 1.1rem 1.3rem 1rem;
}
.consult-dash__chart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
    margin-bottom: 0.7rem;
}
.consult-dash__chart-title { font-size: 0.875rem; font-weight: 700; color: var(--bupdo-gold-light); margin: 0; letter-spacing: 0.04em; }
.consult-dash__tabs { display: flex; gap: 0.3rem; }
.consult-dash__tab {
    padding: 0.38rem 1rem;
    border: 1px solid rgba(250,248,243,0.2);
    border-radius: 999px;
    background: transparent;
    color: rgba(250,248,243,0.6);
    font-size: 0.78rem;
    cursor: pointer;
    transition: all 0.25s;
}
.consult-dash__tab:hover { border-color: rgba(201,169,97,0.5); color: var(--bupdo-gold-light); }
.consult-dash__tab.is-active {
    background: linear-gradient(135deg, var(--bupdo-gold-deep), var(--bupdo-gold));
    border-color: transparent;
    color: var(--bupdo-bg-deep);
    font-weight: 700;
}
.consult-dash__canvas { position: relative; height: 220px; }
@media (max-width: 560px) { .consult-dash__canvas { height: 170px; } }

/* ════════════════════════════════════════════════════════════
   목록 (접수 대장)
   ════════════════════════════════════════════════════════════ */
.consult-list { max-width: 1080px; margin: 0 auto; }
.consult-list__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.1rem;
}
.consult-list__chips { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.consult-chip {
    display: inline-block;
    padding: 0.4em 1em;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(10,24,48,0.12);
    font-size: 0.8125rem;
    color: rgba(10,24,48,0.65);
}
.consult-chip strong { color: var(--bupdo-bg-dark); }
.consult-chip--new { border-color: rgba(201,169,97,0.6); background: rgba(201,169,97,0.1); }
.consult-chip--new strong { color: #8a6d2f; }
.consult-list__pageinfo { font-size: 0.8125rem; color: rgba(10,24,48,0.5); margin: 0; }

.consult-table-wrap {
    background: #fff;
    border: 1px solid rgba(10,24,48,0.1);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 32px rgba(10,24,48,0.06);
}
.consult-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.consult-table thead th {
    background: var(--bupdo-bg-dark);
    color: var(--bupdo-gold-light);
    font-weight: 600;
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    padding: 0.85rem 0.9rem;
    text-align: left;
    white-space: nowrap;
}
.consult-table tbody td {
    padding: 0.9rem;
    border-top: 1px solid rgba(10,24,48,0.07);
    color: rgba(10,24,48,0.8);
    vertical-align: middle;
}
.consult-table__row.is-new td { background: rgba(201,169,97,0.05); }
.consult-table__row:hover td { background: rgba(201,169,97,0.12); }
.consult-table__num { width: 52px; text-align: center; color: rgba(10,24,48,0.45); }
.consult-table__chk { width: 36px; text-align: center; }
.consult-table__status { width: 78px; }
.consult-table__date { white-space: nowrap; color: rgba(10,24,48,0.55); }
.consult-table__link {
    font-weight: 700;
    color: var(--bupdo-bg-dark);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.consult-table__link:hover { color: #8a6d2f; text-decoration: underline; }
.consult-table__dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--bupdo-gold-deep);
    box-shadow: 0 0 0 3px rgba(212,175,55,0.25);
}
.consult-table__tel { color: rgba(10,24,48,0.75); text-decoration: none; }
.consult-table__tel:hover { color: #8a6d2f; text-decoration: underline; }

.consult-list__empty {
    padding: 4.5rem 1rem;
    text-align: center;
    color: rgba(10,24,48,0.45);
    background: #fff;
    border: 1px dashed rgba(10,24,48,0.18);
    border-radius: 14px;
}
.consult-list__check-actions { display: flex; gap: 0.5rem; margin-top: 1rem; flex-wrap: wrap; }
.consult-list__bottom-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    margin-top: 1.4rem;
}

/* 이메일 클릭 복사 */
.consult-copy {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    max-width: 100%;
    padding: 0.3rem 0.7rem;
    background: rgba(10,24,48,0.04);
    border: 1px solid rgba(10,24,48,0.14);
    border-radius: 8px;
    font-size: 0.8125rem;
    color: rgba(10,24,48,0.7);
    cursor: pointer;
    transition: all 0.25s;
}
.consult-copy:hover { border-color: var(--bupdo-gold); background: rgba(201,169,97,0.1); color: #8a6d2f; }
.consult-copy svg { width: 13px; height: 13px; flex: none; opacity: 0.6; }
.consult-copy__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 15em; }
.consult-copy.is-copied {
    background: linear-gradient(135deg, var(--bupdo-gold-deep), var(--bupdo-gold));
    border-color: transparent;
    color: var(--bupdo-bg-deep);
    font-weight: 700;
}
.consult-copy.is-copied svg { opacity: 1; }

/* 메모(댓글) 수 배지 */
.consult-cmt {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1em 0.55em;
    background: rgba(201,169,97,0.14);
    border: 1px solid rgba(201,169,97,0.45);
    border-radius: 999px;
    font-size: 0.71875rem;
    font-weight: 700;
    color: #8a6d2f;
    vertical-align: middle;
}
.consult-cmt svg { width: 11px; height: 11px; }

/* 모바일: 표 → 카드 */
@media (max-width: 768px) {
    .consult-dash { padding: 1.3rem 1.2rem 1.2rem; }
    .consult-table thead { display: none; }
    .consult-table, .consult-table tbody, .consult-table tr, .consult-table td { display: block; width: 100%; }
    .consult-table tr { border-top: 1px solid rgba(10,24,48,0.08); padding: 0.9rem 1rem; position: relative; }
    .consult-table tr:first-child { border-top: 0; }
    .consult-table tbody td { border: 0; padding: 0.22rem 0; }
    .consult-table td[data-label]::before {
        content: attr(data-label);
        display: inline-block;
        width: 4.2em;
        font-size: 0.75rem;
        color: rgba(10,24,48,0.45);
    }
    .consult-table__num { display: none; }
    .consult-table__chk { position: absolute; right: 0.8rem; top: 0.9rem; width: auto; }
    .consult-table__num, .consult-table__hit { text-align: left; }
}

/* ════════════════════════════════════════════════════════════
   상세 (신청서)
   ════════════════════════════════════════════════════════════ */
.consult-view { max-width: 860px; margin: 0 auto; }

.consult-view__hero {
    position: relative;
    background:
        radial-gradient(ellipse 520px 260px at 88% -25%, rgba(201,169,97,0.18), transparent 60%),
        linear-gradient(150deg, #061021 0%, var(--bupdo-bg-dark) 60%, #11254A 100%);
    border: 1px solid rgba(201,169,97,0.4);
    border-radius: 16px;
    padding: 1.8rem 2rem 1.6rem;
    margin-bottom: 1.1rem;
    color: var(--bupdo-bg-ivory);
    box-shadow: 0 18px 48px rgba(10,24,48,0.22);
    overflow: hidden;
}
.consult-view__hero-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0.7rem;
}
.consult-view__eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--bupdo-gold);
    margin: 0;
}
.consult-view__title {
    font-size: clamp(1.4rem, 3.6vw, 1.9rem);
    color: #fff;
    margin: 0 0 0.55rem;
}
.consult-view__title small { font-size: 0.62em; font-weight: 400; color: rgba(250,248,243,0.65); }
.consult-view__meta { font-size: 0.8425rem; color: rgba(250,248,243,0.55); margin: 0; }
.consult-view__sep { margin: 0 0.35em; opacity: 0.5; }

.consult-view__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.8rem;
    margin-bottom: 1.6rem;
}
.consult-info {
    background: #fff;
    border: 1px solid rgba(10,24,48,0.1);
    border-radius: 12px;
    padding: 1rem 1.25rem 1.1rem;
}
.consult-info__icon {
    display: inline-flex;
    width: 30px; height: 30px;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(212,175,55,0.18), rgba(201,169,97,0.08));
    border: 1px solid rgba(201,169,97,0.45);
    border-radius: 9px;
    color: #8a6d2f;
    margin-bottom: 0.55rem;
}
.consult-info__icon svg { width: 15px; height: 15px; }
.consult-info--phone { border-color: rgba(201,169,97,0.55); background: linear-gradient(160deg, rgba(201,169,97,0.1), #fff 55%); }
.consult-info__label { font-size: 0.75rem; color: rgba(10,24,48,0.45); margin: 0 0 0.35rem; letter-spacing: 0.06em; }
.consult-info__value { font-size: 1rem; font-weight: 600; color: var(--bupdo-bg-dark); margin: 0; word-break: break-all; }
.consult-info__value a { color: inherit; text-decoration: none; }
.consult-info__value a:hover { color: #8a6d2f; text-decoration: underline; }
.consult-info__value--big { font-size: 1.35rem; letter-spacing: 0.01em; }
.consult-info__value--big a { color: #8a6d2f; }
.consult-info__hint { font-size: 0.71875rem; color: rgba(10,24,48,0.38); margin: 0.3rem 0 0; }

.consult-view__content {
    background: #fff;
    border: 1px solid rgba(10,24,48,0.1);
    border-radius: 12px;
    padding: 1.4rem 1.5rem;
    margin-bottom: 1.6rem;
}
.consult-view__content-label {
    font-size: 0.75rem;
    color: rgba(10,24,48,0.45);
    letter-spacing: 0.06em;
    margin: 0 0 0.7rem;
}
.consult-view__content-body { font-size: 0.95rem; line-height: 1.9; color: rgba(10,24,48,0.85); }
.consult-view__content-empty { color: rgba(10,24,48,0.4); }

.consult-view__statusbox {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.2rem 1.4rem;
    background: linear-gradient(160deg, rgba(201,169,97,0.12), rgba(201,169,97,0.04));
    border: 1px solid rgba(201,169,97,0.5);
    border-radius: 12px;
    margin-bottom: 1.6rem;
}
.consult-view__statusbox-text strong { display: block; font-size: 0.8125rem; color: rgba(10,24,48,0.55); margin-bottom: 0.25rem; }
.consult-view__statusbox-text span { font-size: 0.9rem; color: rgba(10,24,48,0.75); }
.consult-view__statusbox-text b.is-new { color: #8a6d2f; }
.consult-view__statusbox-text b.is-done { color: rgba(10,24,48,0.55); }
.consult-view__statusform { margin: 0; }

.consult-view__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
}
.consult-view__actions-right { display: flex; gap: 0.5rem; }

/* ════════════════════════════════════════════════════════════
   상담 메모 (댓글)
   ════════════════════════════════════════════════════════════ */
.consult-memo {
    margin-top: 2rem;
    background: #fff;
    border: 1px solid rgba(10,24,48,0.1);
    border-radius: 14px;
    padding: 1.5rem 1.6rem 1.6rem;
    box-shadow: 0 10px 30px rgba(10,24,48,0.05);
}
.consult-memo__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.05rem;
    color: var(--bupdo-bg-dark);
    margin: 0 0 0.3rem;
}
.consult-memo__title svg { width: 18px; height: 18px; color: var(--bupdo-gold); }
.consult-memo__count {
    padding: 0.05em 0.6em;
    background: linear-gradient(135deg, var(--bupdo-gold-deep), var(--bupdo-gold));
    color: var(--bupdo-bg-deep);
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
}
.consult-memo__hint { font-size: 0.78rem; color: rgba(10,24,48,0.45); margin: 0 0 1.1rem; }

.consult-memo__list { list-style: none; margin: 0 0 1.2rem; padding: 0; }
.consult-memo__item {
    position: relative;
    padding: 0.9rem 1.1rem 0.9rem 1.3rem;
    background: rgba(201,169,97,0.05);
    border: 1px solid rgba(201,169,97,0.22);
    border-radius: 0 12px 12px 0;
    border-left: 3px solid var(--bupdo-gold);
    margin-bottom: 0.55rem;
}
.consult-memo__head { display: flex; align-items: baseline; gap: 0.6rem; margin-bottom: 0.4rem; }
.consult-memo__author { font-size: 0.84rem; font-weight: 700; color: var(--bupdo-bg-dark); }
.consult-memo__date { font-size: 0.72rem; color: rgba(10,24,48,0.45); }
.consult-memo__body { font-size: 0.9rem; line-height: 1.75; color: rgba(10,24,48,0.85); }
.consult-memo__actions { margin-top: 0.5rem; display: flex; gap: 0.7rem; }
.consult-memo__btn { font-size: 0.75rem; color: rgba(10,24,48,0.5); text-decoration: none; }
.consult-memo__btn:hover { color: #8a6d2f; text-decoration: underline; }
.consult-memo__btn--danger:hover { color: #C0392B; }
.consult-memo__empty {
    padding: 1.4rem;
    text-align: center;
    color: rgba(10,24,48,0.4);
    font-size: 0.875rem;
    border: 1px dashed rgba(10,24,48,0.18);
    border-radius: 10px;
    margin-bottom: 1.2rem;
}

.consult-memo__form { margin: 0; }
.consult-memo__guest { display: flex; gap: 0.6rem; margin-bottom: 0.6rem; }
.consult-memo__guest .frm_input {
    flex: 1;
    padding: 0.6rem 0.8rem;
    border: 1px solid rgba(10,24,48,0.18);
    border-radius: 8px;
}
.consult-memo__textarea {
    width: 100%;
    padding: 0.8rem 1rem;
    border: 1px solid rgba(10,24,48,0.18);
    border-radius: 10px;
    font-size: 0.9rem;
    line-height: 1.7;
    resize: vertical;
    background: #fff;
    box-sizing: border-box;
}
.consult-memo__textarea:focus {
    outline: none;
    border-color: var(--bupdo-gold);
    box-shadow: 0 0 0 3px rgba(201,169,97,0.16);
}
.consult-memo__form-bottom { display: flex; justify-content: flex-end; margin-top: 0.6rem; }
.consult-memo__captcha { margin-top: 0.8rem; }

/* ════════════════════════════════════════════════════════════
   수기 등록 폼
   ════════════════════════════════════════════════════════════ */
.consult-write { max-width: 760px; margin: 0 auto; }
.consult-write__head { margin-bottom: 1.6rem; }
.consult-write__title { font-size: clamp(1.4rem, 3.6vw, 1.9rem); color: var(--bupdo-bg-dark); margin: 0 0 0.4rem; }
.consult-write__lead { font-size: 0.875rem; color: rgba(10,24,48,0.55); margin: 0; }
.consult-write__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.9rem 1rem;
    margin-bottom: 0.9rem;
}
@media (max-width: 640px) { .consult-write__grid { grid-template-columns: 1fr; } }
.consult-write__field label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(10,24,48,0.65);
    margin-bottom: 0.35rem;
}
.consult-write__req { color: #C0392B; }
.consult-write__field .frm_input {
    width: 100%;
    padding: 0.7rem 0.9rem;
    border: 1px solid rgba(10,24,48,0.18);
    border-radius: 8px;
    font-size: 0.9375rem;
    background: #fff;
    box-sizing: border-box;
}
.consult-write__field .frm_input:focus {
    outline: none;
    border-color: var(--bupdo-gold);
    box-shadow: 0 0 0 3px rgba(201,169,97,0.18);
}
.consult-write__field--full { grid-column: 1 / -1; margin-bottom: 0.9rem; }
.consult-write__actions { display: flex; justify-content: flex-end; gap: 0.6rem; margin-top: 1.4rem; }

/* ════════════════════════════════════════════════════════════
   언론·칼럼 게시판 (bupdo_press) — 매거진 스킨
   "ON AIR : 엄정숙" · 다크 시네마틱 + 골드 · --accent = 카테고리 색
   ════════════════════════════════════════════════════════════ */
.press-list { max-width: 1240px; margin: 0 auto; }

/* 헤더 */
.press-head { text-align: center; margin-bottom: 2.4rem; }
.press-head__eyebrow { font-family:'Inter','Pretendard Variable',sans-serif; letter-spacing:0.35em; font-size:0.75rem; font-weight:600; color:var(--bupdo-gold-deep); margin:0 0 0.8rem; text-transform:uppercase; }
.press-head__title { font-family:'Playfair Display','Pretendard Variable',serif; font-size:clamp(2rem,4.5vw,3.1rem); font-weight:700; color:var(--bupdo-bg-dark); margin:0 0 1rem; line-height:1.1; }
.press-head__lead { max-width:720px; margin:0 auto; color:rgba(10,24,48,0.66); font-size:1rem; line-height:1.75; }
.press-head__lead em { color:#8a6d2f; font-style:normal; font-weight:700; }

/* 통계 스트립 */
.press-stat { display:grid; grid-template-columns:repeat(4,1fr); gap:0.8rem; max-width:880px; margin:2rem auto 0; }
.press-stat__item { background:linear-gradient(155deg,#0b1a34,var(--bupdo-bg-dark)); border:1px solid rgba(201,169,97,0.28); border-radius:14px; padding:1.1rem 0.8rem; text-align:center; box-shadow:0 12px 30px rgba(10,24,48,0.12); }
.press-stat__num { display:block; font-family:'Playfair Display',serif; font-size:1.9rem; font-weight:700; color:var(--bupdo-gold-light); line-height:1; font-variant-numeric:tabular-nums; }
.press-stat__label { display:block; margin-top:0.4rem; font-size:0.72rem; color:rgba(250,248,243,0.6); letter-spacing:0.03em; }
@media (max-width:620px){ .press-stat{ grid-template-columns:repeat(2,1fr);} }

/* 필터 (gnuboard <li><a>…</a></li>, 현재=id="bo_cate_on") */
.press-filter { display:flex; flex-wrap:wrap; gap:0.5rem; justify-content:center; list-style:none; padding:0; margin:0 0 2.2rem; }
.press-filter li { list-style:none; margin:0; }
.press-filter a { display:inline-block; padding:0.5em 1.15em; border-radius:999px; border:1px solid rgba(10,24,48,0.16); background:#fff; color:rgba(10,24,48,0.7); font-size:0.85rem; font-weight:600; text-decoration:none; transition:all 0.25s ease; }
.press-filter a:hover { border-color:var(--bupdo-gold); color:#8a6d2f; transform:translateY(-1px); }
.press-filter a#bo_cate_on { background:linear-gradient(135deg,var(--bupdo-gold-deep),var(--bupdo-gold)); border-color:transparent; color:var(--bupdo-bg-deep); font-weight:700; box-shadow:0 6px 18px rgba(201,169,97,0.35); }

/* 그리드 */
.press-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:980px){ .press-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .press-grid{ grid-template-columns:1fr; gap:1.1rem;} }

/* 카드 */
.press-card { position:relative; opacity:0; transform:translateY(22px); transition:opacity 0.6s ease, transform 0.6s ease; }
.press-card.is-in { opacity:1; transform:none; }
.press-card__chk { position:absolute; z-index:5; top:12px; left:12px; width:18px; height:18px; accent-color:var(--bupdo-gold); }
.press-card__link { display:flex; flex-direction:column; height:100%; background:#fff; border-radius:16px; overflow:hidden; text-decoration:none; border:1px solid rgba(10,24,48,0.08); box-shadow:0 10px 30px rgba(10,24,48,0.07); transition:transform 0.4s cubic-bezier(.2,.7,.2,1), box-shadow 0.4s, border-color 0.4s; }
.press-card__link:hover { transform:translateY(-8px); box-shadow:0 26px 60px rgba(10,24,48,0.2), 0 0 0 1px var(--accent,var(--bupdo-gold)); border-color:transparent; }
.press-card__thumb { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background-size:cover; background-position:center; background-color:var(--accent,var(--bupdo-bg-mid)); transition:transform 0.7s ease; }
.press-card__link:hover .press-card__thumb { transform:scale(1.06); }
.press-card__shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,24,48,0.04) 0%,rgba(10,24,48,0.1) 45%,rgba(10,24,48,0.78) 100%); }
.press-card__chip { position:absolute; top:12px; left:12px; z-index:2; padding:0.32em 0.8em; border-radius:6px; background:var(--accent,var(--bupdo-gold)); color:#fff; font-size:0.72rem; font-weight:700; letter-spacing:0.02em; box-shadow:0 4px 12px rgba(0,0,0,0.25); }
.press-card__chip--notice { background:var(--bupdo-bg-dark); }
.press-card__live { position:absolute; top:12px; right:12px; z-index:2; display:inline-flex; align-items:center; gap:0.35em; padding:0.28em 0.6em; border-radius:6px; background:rgba(178,59,59,0.92); color:#fff; font-size:0.66rem; font-weight:700; letter-spacing:0.05em; }
.press-card__live i { width:6px; height:6px; border-radius:50%; background:#fff; animation:pressPulse 1.4s infinite; }
@keyframes pressPulse { 0%,100%{opacity:1} 50%{opacity:0.3} }
.press-card__body { display:flex; flex-direction:column; gap:0.5rem; padding:1.1rem 1.2rem 1.3rem; flex:1; }
.press-card__title { font-family:'Pretendard Variable',sans-serif; font-size:1.06rem; font-weight:700; line-height:1.4; color:var(--bupdo-bg-dark); margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.press-card__cmt { display:inline-block; margin-left:0.3em; font-size:0.78rem; font-weight:700; color:#fff; background:var(--accent,var(--bupdo-gold)); border-radius:999px; padding:0.05em 0.5em; vertical-align:middle; }
.press-card__excerpt { font-size:0.875rem; line-height:1.6; color:rgba(10,24,48,0.6); margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
/* 카드 푸터 — 보도일(빨강 배지) + 로고/기자 */
.press-card__foot { margin-top:auto; padding-top:0.8rem; border-top:1px solid rgba(10,24,48,0.09); display:flex; align-items:center; justify-content:space-between; gap:0.7rem; }
.press-card__source { display:flex; flex-direction:column; align-items:flex-end; gap:0.3rem; min-width:0; text-align:right; }
.press-card__outlet { font-weight:800; font-size:0.92rem; color:var(--accent,#8a6d2f); line-height:1.1; }
.press-card__reporter { font-size:0.8rem; font-weight:600; color:rgba(10,24,48,0.6); background:rgba(10,24,48,0.05); padding:0.22em 0.62em; border-radius:6px; }
/* 보도일 빨강 배지 (목록·상세 공용) */
.press-date { display:inline-flex; flex-direction:column; align-items:center; gap:0.08em; background:linear-gradient(145deg,#3a3f47,#4c535c); color:#fff; border:1px solid rgba(255,255,255,0.1); border-radius:9px; padding:0.42em 0.72em; box-shadow:0 3px 9px rgba(10,24,48,0.18); white-space:nowrap; flex:none; text-align:center; transition:background 0.3s ease, box-shadow 0.3s ease; }
.press-date__label { font-size:0.56rem; font-weight:700; letter-spacing:0.14em; color:var(--bupdo-gold-light); opacity:0.85; }
/* 보도일 — 평소 진한 회색(차분), 마우스 올리면 빨강 강조 */
.press-card__link:hover .press-date, .press-date:hover { background:linear-gradient(140deg,#c1272d,#e8413a); box-shadow:0 5px 14px rgba(193,39,45,0.34); }
.press-date__val { font-size:0.9rem; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:0.01em; }
/* 언론사 로고 */
.press-card__logo { box-sizing:content-box; height:34px !important; width:auto !important; max-width:175px; object-fit:contain; display:block; background:#fff; padding:8px 14px; border:1px solid rgba(201,169,97,0.45); border-radius:10px; box-shadow:0 5px 14px rgba(10,24,48,0.1); }
.press-view__logo { box-sizing:content-box; height:40px !important; width:auto !important; max-width:220px; object-fit:contain; background:#fff; padding:10px 16px; border:1px solid rgba(201,169,97,0.5); border-radius:11px; box-shadow:0 6px 18px rgba(0,0,0,0.3); }
.press-view__reporter { font-size:0.95rem; font-weight:600; color:#fff; background:rgba(255,255,255,0.13); padding:0.3em 0.75em; border-radius:7px; }
/* 글쓰기 — 언론사명 + 로고 미리보기 + 관리버튼 한 줄 */
.press-logo-row { display:flex; align-items:center; gap:0.6rem; flex-wrap:wrap; }
.press-logo-row .frm_input { flex:1; min-width:180px; }
.press-logo-preview { height:24px; max-width:110px; object-fit:contain; border:1px solid rgba(10,24,48,0.14); border-radius:5px; padding:2px 5px; background:#fff; }

/* 사진 인물 크레딧 — "엄정숙 부동산전문 변호사" (변호사 사진일 때만 노출) */
.press-credit { position:absolute; right:12px; bottom:12px; z-index:3; display:inline-flex; align-items:center; gap:0.45em; padding:0.4em 0.85em; border-radius:999px; background:rgba(10,24,48,0.6); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border:1px solid rgba(201,169,97,0.55); box-shadow:0 4px 16px rgba(0,0,0,0.32); font-size:0.72rem; line-height:1; white-space:nowrap; pointer-events:none; }
.press-credit::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--bupdo-gold); box-shadow:0 0 0 3px rgba(201,169,97,0.28); flex:none; }
.press-credit b { color:#fff; font-weight:700; letter-spacing:0.01em; }
.press-credit em { color:var(--bupdo-gold-light); font-style:normal; font-weight:600; }
.press-card--feature .press-credit { font-size:0.8rem; right:16px; bottom:16px; padding:0.45em 1em; }
.press-card:not(.press-card--feature) .press-credit { font-size:0.62rem; right:9px; bottom:9px; padding:0.32em 0.66em; gap:0.32em; }
.press-view__hero .press-credit { font-size:0.85rem; right:20px; top:18px; bottom:auto; padding:0.5em 1.05em; }
.press-related__thumb .press-credit { font-size:0.54rem; right:6px; bottom:6px; padding:0.26em 0.5em; gap:0.28em; }
.press-related__thumb .press-credit::before { width:4px; height:4px; box-shadow:0 0 0 2px rgba(201,169,97,0.28); }

/* 피처드(1페이지 첫 글) */
@media (min-width:720px){
  .press-card--feature { grid-column:1 / -1; }
  .press-card--feature .press-card__link { flex-direction:row; }
  .press-card--feature .press-card__thumb { aspect-ratio:auto; width:56%; min-height:340px; background-position:center top; }
  .press-card--feature .press-card__body { width:44%; justify-content:center; padding:2.2rem 2.4rem; gap:0.8rem; }
  .press-card--feature .press-card__title { font-size:1.7rem; -webkit-line-clamp:3; }
  .press-card--feature .press-card__excerpt { font-size:1rem; -webkit-line-clamp:3; }
}

/* 빈 목록·액션 */
.press-empty { text-align:center; padding:4.5rem 1rem; color:rgba(10,24,48,0.5); background:#fff; border:1px dashed rgba(10,24,48,0.18); border-radius:16px; }
.press-empty p { margin:0 0 1.2rem; }
.press-admin-actions { display:flex; gap:0.5rem; flex-wrap:wrap; margin-top:1.4rem; }
.press-bottom { display:flex; justify-content:flex-end; gap:0.6rem; margin-top:1.8rem; }

/* ════════ 상세 (시네마틱) ════════ */
.press-view { max-width:1000px; margin:0 auto; }
.press-view__hero { position:relative; border-radius:18px; overflow:hidden; padding:clamp(2.4rem,6vw,4.6rem) clamp(1.6rem,5vw,3.4rem); background-size:cover; background-position:center top; background-color:var(--bupdo-bg-dark); color:#fff; box-shadow:0 24px 60px rgba(10,24,48,0.28); display:flex; align-items:flex-end; min-height:460px; }
.press-view__hero-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,16,33,0.55) 0%,rgba(6,16,33,0.4) 35%,rgba(6,16,33,0.92) 100%); }
.press-view__hero-inner { position:relative; z-index:2; width:100%; }
.press-view__chips { display:flex; align-items:center; gap:0.8rem; margin:0 0 1rem; flex-wrap:wrap; }
.press-view__back { color:rgba(255,255,255,0.75); text-decoration:none; font-size:0.85rem; font-weight:600; }
.press-view__back:hover { color:var(--bupdo-gold-light); }
.press-view__chip { padding:0.32em 0.85em; border-radius:6px; background:var(--accent,var(--bupdo-gold)); font-size:0.74rem; font-weight:700; }
.press-view__title { font-family:'Playfair Display','Pretendard Variable',serif; font-size:clamp(1.7rem,4.2vw,2.9rem); font-weight:700; line-height:1.2; margin:0 0 1.1rem; text-shadow:0 2px 20px rgba(0,0,0,0.4); }
.press-view__meta { display:flex; align-items:center; gap:0.7rem; flex-wrap:wrap; font-size:0.9rem; color:rgba(255,255,255,0.82); }
.press-view__outlet { font-weight:800; font-size:1.05rem; color:var(--bupdo-gold-light); }
.press-view__sep { opacity:0.5; }
.press-view__hit { font-size:0.85rem; color:rgba(255,255,255,0.62); }
/* 등록일 — 관리자 전용(점선 골드 테두리로 관리 정보 표시) */
.press-view__admindate { font-size:0.8rem; color:rgba(245,230,184,0.88); border:1px dashed rgba(201,169,97,0.55); border-radius:6px; padding:0.15em 0.6em; }
/* 상세 히어로 보도일 — 가로형으로 더 크게 강조 */
.press-date--hero { flex-direction:row; align-items:baseline; gap:0.45em; padding:0.5em 0.95em; border-radius:10px; }
.press-date--hero .press-date__label { font-size:0.66rem; }
.press-date--hero .press-date__val { font-size:1.1rem; }
.press-view__wrap { padding:2.4rem 0 0; }

/* 핵심 인용구 */
.press-quote { position:relative; margin:0 0 2.4rem; padding:1.6rem 2rem 1.6rem 3.4rem; background:linear-gradient(135deg,rgba(201,169,97,0.1),rgba(201,169,97,0.03)); border-left:4px solid var(--bupdo-gold); border-radius:0 14px 14px 0; }
.press-quote__mark { position:absolute; left:0.8rem; top:0.2rem; font-family:'Playfair Display',serif; font-size:3.4rem; color:var(--bupdo-gold); line-height:1; opacity:0.6; }
.press-quote__text { font-family:'Playfair Display','Pretendard Variable',serif; font-size:1.35rem; line-height:1.6; color:var(--bupdo-bg-dark); margin:0; font-weight:500; }
.press-quote__cite { display:block; margin-top:0.8rem; font-size:0.85rem; color:#8a6d2f; font-weight:700; font-style:normal; }

/* 본문 */
.press-body { position:relative; font-size:1.05rem; line-height:1.85; color:rgba(10,24,48,0.86); }
.press-body__inner > * { max-width:100%; }
.press-body p { margin:0 0 1.1rem; }
.press-body img { border-radius:10px; }
.press-body--excerpt .press-body__preview { margin:0; }
.press-body--clip { max-height:520px; overflow:hidden; }
.press-body--clip.is-open { max-height:none; }
.press-body__fade { position:absolute; left:0; right:0; bottom:0; height:140px; background:linear-gradient(180deg,rgba(250,248,243,0) 0%,var(--bupdo-bg-ivory) 92%); pointer-events:none; }
.press-more { text-align:center; margin:1.4rem 0 0; }
.press-more__btn { display:inline-flex; align-items:center; gap:0.5em; padding:0.8em 2em; border-radius:999px; border:0; cursor:pointer; background:linear-gradient(135deg,var(--bupdo-gold-deep),var(--bupdo-gold)); color:var(--bupdo-bg-deep); font-size:0.95rem; font-weight:700; box-shadow:0 10px 28px rgba(201,169,97,0.4); transition:transform 0.3s, box-shadow 0.3s; }
.press-more__btn:hover { transform:translateY(-2px); box-shadow:0 14px 36px rgba(201,169,97,0.55); }
.press-more__chev { font-size:1.1em; }

/* 원문 출처 카드 */
.press-source { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; margin:1.8rem 0 0; padding:1.4rem 1.6rem; border-radius:14px; background:linear-gradient(135deg,#0b1a34,var(--bupdo-bg-dark)); border:1px solid rgba(201,169,97,0.3); color:#fff; }
.press-source__info { display:flex; flex-direction:column; gap:0.2rem; }
.press-source__label { font-size:0.72rem; letter-spacing:0.1em; color:rgba(255,255,255,0.5); text-transform:uppercase; }
.press-source__outlet { font-size:1.1rem; font-weight:700; color:var(--bupdo-gold-light); }
.press-source__host { font-size:0.8rem; color:rgba(255,255,255,0.55); }
.press-source__btn { display:inline-flex; align-items:center; gap:0.5em; white-space:nowrap; padding:0.75em 1.6em; border-radius:999px; text-decoration:none; background:linear-gradient(135deg,var(--bupdo-gold-deep),var(--bupdo-gold)); color:var(--bupdo-bg-deep); font-weight:700; font-size:0.9rem; box-shadow:0 8px 22px rgba(201,169,97,0.4); transition:transform 0.3s, box-shadow 0.3s; }
.press-source__btn:hover, .press-source__btn:focus, .press-source__btn:focus-visible { transform:translateY(-2px); box-shadow:0 12px 30px rgba(201,169,97,0.55); color:var(--bupdo-bg-deep); }
.press-more__btn:hover, .press-more__btn:focus { color:var(--bupdo-bg-deep); }

/* 첨부·이전다음·액션 */
.press-files { margin:2rem 0 0; padding:1.2rem 1.4rem; background:rgba(10,24,48,0.03); border-radius:12px; }
.press-files__title { font-size:0.95rem; margin:0 0 0.6rem; color:var(--bupdo-bg-dark); }
.press-files a { color:#8a6d2f; text-decoration:none; }
.press-files a:hover { text-decoration:underline; }
.press-siblings { display:flex; justify-content:space-between; gap:1rem; margin:2.4rem 0 0; }
.press-siblings__a { padding:0.7em 1.2em; border:1px solid rgba(10,24,48,0.14); border-radius:10px; text-decoration:none; color:rgba(10,24,48,0.7); font-size:0.875rem; transition:all 0.25s; }
.press-siblings__a:hover { border-color:var(--bupdo-gold); color:#8a6d2f; }
.press-siblings__a--next { margin-left:auto; }
.press-actions { display:flex; flex-wrap:wrap; gap:0.6rem; margin:2.4rem 0 0; justify-content:center; }

/* 연관 보도 */
.press-related { margin:3.4rem 0 0; padding-top:2.4rem; border-top:1px solid rgba(10,24,48,0.1); }
.press-related__title { font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--bupdo-bg-dark); margin:0 0 1.4rem; }
.press-related__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
@media (max-width:860px){ .press-related__grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .press-related__grid{ grid-template-columns:1fr;} }
.press-related__card { display:flex; flex-direction:column; background:#fff; border-radius:12px; overflow:hidden; text-decoration:none; border:1px solid rgba(10,24,48,0.08); box-shadow:0 6px 18px rgba(10,24,48,0.06); transition:transform 0.35s, box-shadow 0.35s; }
.press-related__card:hover { transform:translateY(-5px); box-shadow:0 16px 36px rgba(10,24,48,0.16); }
.press-related__thumb { display:block; aspect-ratio:16/10; background-size:cover; background-position:center; background-color:var(--accent,var(--bupdo-bg-mid)); position:relative; }
.press-related__thumb > span:not(.press-credit) { position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(10,24,48,0.5)); }
.press-related__info { padding:0.8rem 0.9rem 1rem; display:flex; flex-direction:column; gap:0.3rem; }
.press-related__subj { font-size:0.9rem; font-weight:700; color:var(--bupdo-bg-dark); line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.press-related__meta { font-size:0.75rem; color:rgba(10,24,48,0.5); }

@media (max-width:768px){
  .press-view__hero { min-height:260px; }
  .press-source { flex-direction:column; align-items:flex-start; }
  .press-source__btn { width:100%; justify-content:center; }
  .press-card--feature .press-card__link { flex-direction:column; }
  .press-card--feature .press-card__thumb { width:100%; min-height:0; aspect-ratio:16/10; }
  .press-card--feature .press-card__body { width:100%; }
}

