/* ============================================================================
   배때지 V2 · 회사소개 (/v2/company.php)
   home-v2.css 의 --hm-* 토큰만 쓴다. 회사소개 전용 색상 체계를 만들지 않는다.
   ========================================================================== */

/* 관리자 미리보기 배너 */
.v2co-preview {
    margin-top: 16px; padding: 12px 16px; border-radius: 12px;
    background: #fff8e6; border: 1px solid #f0dfae; color: #7a5b12;
    font-size: 13px; font-weight: 700; line-height: 1.6;
}
.v2co-preview a { color: #7a5b12; text-decoration: underline; margin-left: 6px; }

/* 미공개 안내 */
.v2co-closed {
    margin: 40px auto; padding: 48px 24px; max-width: 560px; text-align: center;
    background: var(--hm-card); border: 1px solid var(--hm-line); border-radius: var(--hm-radius);
}
.v2co-closed h1 { margin: 0 0 12px; font-size: 22px; font-weight: 800; color: var(--hm-ink); }
.v2co-closed p  { margin: 0 0 22px; font-size: 14px; line-height: 1.7; color: var(--hm-sub); }
.v2co-closed-btns { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }

/* ---------------- 히어로 ---------------- */
.v2co-hero { padding: 26px 0 4px; }
.v2co-hero h1 {
    margin: 0 0 10px; font-size: 24px; font-weight: 800;
    letter-spacing: -.6px; line-height: 1.28; color: var(--hm-ink);
}
.v2co-lead {
    margin: 0; font-size: 14.5px; line-height: 1.75; color: var(--hm-sub);
    word-break: keep-all;
}
.v2co-heroimg { margin: 20px 0 0; }
.v2co-heroimg img {
    width: 100%; height: auto; display: block;
    border-radius: var(--hm-radius); border: 1px solid var(--hm-line);
    background: var(--hm-bg);
}

/* ---------------- 본문 (관리자 저장 HTML) ---------------- */
.v2co-body {
    margin-top: 26px; font-size: 15px; line-height: 1.85; color: var(--hm-ink-soft);
    word-break: break-word;
}
.v2co-body > :first-child { margin-top: 0; }
.v2co-body > :last-child  { margin-bottom: 0; }

.v2co-body p { margin: 0 0 16px; }
.v2co-body h2 {
    margin: 36px 0 12px; font-size: 19px; font-weight: 800;
    letter-spacing: -.4px; color: var(--hm-ink); line-height: 1.35;
    padding-top: 22px; border-top: 1px solid var(--hm-line);
}
.v2co-body > h2:first-child { padding-top: 0; border-top: 0; margin-top: 0; }
.v2co-body h3 {
    margin: 26px 0 10px; font-size: 16px; font-weight: 700;
    letter-spacing: -.3px; color: var(--hm-ink);
}
.v2co-body h4 { margin: 20px 0 8px; font-size: 14.5px; font-weight: 700; color: var(--hm-ink); }

.v2co-body ul, .v2co-body ol { margin: 0 0 16px; padding-left: 22px; }
.v2co-body li { margin: 0 0 8px; }
.v2co-body a  { color: var(--hm-ac); text-decoration: underline; text-underline-offset: 2px; word-break: break-all; }
.v2co-body strong, .v2co-body b { font-weight: 700; color: var(--hm-ink); }

.v2co-body blockquote {
    margin: 20px 0; padding: 16px 20px;
    background: var(--hm-bg); border-left: 3px solid var(--hm-ink);
    border-radius: 0 12px 12px 0; color: var(--hm-ink-soft);
    font-size: 14.5px; line-height: 1.75;
}
.v2co-body blockquote p:last-child { margin-bottom: 0; }

.v2co-body img {
    max-width: 100%; height: auto; display: block; margin: 20px 0;
    border-radius: 12px; border: 1px solid var(--hm-line);
}
.v2co-body hr { border: 0; border-top: 1px solid var(--hm-line); margin: 28px 0; }
.v2co-body code { background: var(--hm-bg); border-radius: 4px; padding: 2px 6px; font-size: 13.5px; }
.v2co-body pre  { overflow-x: auto; background: var(--hm-bg); padding: 14px; border-radius: 10px; }

/* 표 — 자체 영역에서만 가로 스크롤. 페이지 본문은 절대 가로로 밀리지 않는다 */
.v2co-body table {
    display: block; width: 100%; max-width: 100%; overflow-x: auto;
    border-collapse: collapse; margin: 20px 0;
    -webkit-overflow-scrolling: touch; white-space: nowrap;
}
.v2co-body th, .v2co-body td {
    border: 1px solid var(--hm-line); padding: 10px 14px; font-size: 14px; text-align: left;
}
.v2co-body th { background: var(--hm-bg); font-weight: 700; color: var(--hm-ink); }

/* ---------------- 문의 ---------------- */
.v2co-cs {
    margin-top: 40px; padding: 30px 20px; text-align: center;
    background: var(--hm-bg); border: 1px solid var(--hm-line); border-radius: var(--hm-radius);
}
.v2co-cs h2 { margin: 0 0 18px; font-size: 17px; font-weight: 800; letter-spacing: -.3px; color: var(--hm-ink); }
.v2co-cs-btns { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }

.v2co-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 46px; padding: 0 24px; border-radius: 99px;
    background: var(--hm-ink); color: #fff; border: 1px solid var(--hm-ink);
    font-size: 14px; font-weight: 700; letter-spacing: -.2px;
}
.v2co-btn.is-ghost { background: var(--hm-card); color: var(--hm-ink); border-color: var(--hm-line); }
@media (hover: hover) and (pointer: fine) {
    .v2co-btn:hover { opacity: .88; }
    .v2co-btn.is-ghost:hover { opacity: 1; border-color: var(--hm-ink); }
}

/* ---------------- 태블릿 ---------------- */
@media (min-width: 768px) {
    .v2co-hero { padding-top: 34px; }
    .v2co-hero h1 { font-size: 30px; }
    .v2co-lead { font-size: 16px; }
    .v2co-body { font-size: 15.5px; margin-top: 32px; }
    .v2co-body h2 { font-size: 21px; }
}

/* ---------------- PC : 본문 폭 제한 ---------------- */
@media (min-width: 1024px) {
    /* 글줄이 화면 끝까지 늘어나면 읽기 어렵다 — .v2-home-wrap 안에서 중앙 정렬 */
    .v2co-preview, .v2co-hero, .v2co-body, .v2co-cs {
        max-width: 820px; margin-left: auto; margin-right: auto;
    }
    .v2co-hero h1 { font-size: 34px; }
    .v2co-body { font-size: 16px; line-height: 1.9; }
}

.v2co-cs { margin-bottom: 8px; }
