@charset "utf-8";

/* Devinfo 콘텐츠 공통 표시 규칙: 실제 게시글과 Part 3 미리보기가 함께 사용합니다. */
#bo_v_title .bo_v_tit {
    overflow-wrap:anywhere;
    word-break:keep-all;
}

#bo_v_con {
    color:#263244;
    font-size:16px;
    line-height:1.85;
    overflow-wrap:anywhere;
    word-break:keep-all;
}

#bo_v_con h2 {
    margin:42px 0 16px;
    padding:0 0 11px;
    border-bottom:2px solid #dce6f3;
    color:#172033;
    font-size:1.55em;
    line-height:1.4;
    letter-spacing:-.025em;
}

#bo_v_con h2:first-child { margin-top:10px; }

#bo_v_con h3 {
    margin:30px 0 12px;
    color:#243653;
    font-size:1.2em;
    line-height:1.45;
}

#bo_v_con p { margin:0 0 18px; }

#bo_v_con ul,
#bo_v_con ol {
    margin:0 0 22px;
    padding-left:26px;
}

#bo_v_con li { margin:7px 0; }

#bo_v_con strong { color:#172033; }

#bo_v_con code {
    border-radius:4px;
    background:#edf2f7;
    color:#b42318;
    font-family:Consolas, Monaco, "Courier New", monospace;
    font-size:.92em;
    word-break:normal;
}

#bo_v_con :not(pre) > code { padding:2px 6px; }

#bo_v_con pre {
    max-width:100%;
    margin:18px 0 24px;
    padding:18px;
    overflow-x:auto;
    border:1px solid #26354c;
    border-radius:9px;
    background:#111827;
    color:#f8fafc;
    line-height:1.65;
    tab-size:4;
    -webkit-overflow-scrolling:touch;
}

#bo_v_con pre code {
    display:block;
    min-width:max-content;
    padding:0;
    background:transparent;
    color:inherit;
    white-space:pre;
}

#bo_v_con blockquote {
    margin:20px 0 24px;
    padding:14px 17px;
    border-left:4px solid #d97706;
    border-radius:0 7px 7px 0;
    background:#fff8e8;
    color:#5f460f;
}

#bo_v_con blockquote > :last-child { margin-bottom:0; }

#bo_v_con a,
#ctt_con a {
    color:#1d4ed8;
    text-decoration:underline;
    text-underline-offset:3px;
    overflow-wrap:anywhere;
}

#bo_v_con img,
#bo_v_con video,
#bo_v_con iframe,
#ctt_con img {
    max-width:100%;
    height:auto;
}

#bo_v_con figure {
    max-width:100%;
    margin:24px 0;
}

#bo_v_con figcaption {
    margin-top:8px;
    color:#64748b;
    font-size:.88em;
    text-align:center;
}

#bo_v_con table {
    display:block;
    width:100%;
    max-width:100%;
    margin:20px 0 26px;
    overflow-x:auto;
    border-collapse:collapse;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
}

#bo_v_con th,
#bo_v_con td {
    padding:11px 13px;
    border:1px solid #d9e0e8;
    text-align:left;
}

#bo_v_con th { background:#f4f7fa; }

#bo_v_con hr {
    margin:34px 0;
    border:0;
    border-top:1px solid #d9e0e8;
}

#ctt_con .devinfo-static-content {
    max-width:780px;
    color:#263244;
    font-size:16px;
    line-height:1.85;
    overflow-wrap:anywhere;
    word-break:keep-all;
}

#ctt_con .devinfo-static-content h2 {
    margin:38px 0 14px;
    padding-bottom:10px;
    border-bottom:1px solid #d9e0e8;
    color:#172033;
    font-size:1.35em;
}

#ctt_con .devinfo-static-content p { margin:0 0 17px; }

#ctt_con .devinfo-static-content ul {
    margin:0 0 22px;
    padding-left:24px;
}

#ctt_con .devinfo-static-content li { margin:7px 0; }

#ctt_con .devinfo-static-lead {
    padding:20px 22px;
    border-left:4px solid #2563eb;
    background:#f4f7fb;
    color:#172033;
    font-size:1.05em;
}

#ctt_con .devinfo-policy-date {
    margin-top:34px;
    padding-top:16px;
    border-top:1px solid #d9e0e8;
    color:#64748b;
    font-size:.9em;
}

#bo_list .devinfo-list-summary {
    display:-webkit-box;
    max-width:760px;
    margin:7px 0 0;
    overflow:hidden;
    color:#667085;
    font-size:13px;
    font-weight:400;
    line-height:1.55;
    text-overflow:ellipsis;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

#sch_res_detail {
    max-width:100%;
    box-sizing:border-box;
}

.sch_res_list .sch_res_title,
.sch_res_list p {
    overflow-wrap:anywhere;
    word-break:keep-all;
}

.sch_res_list p {
    line-height:1.7;
}

.devinfo-error-page {
    max-width:720px;
    margin:50px auto 90px;
    padding:52px 32px;
    border-top:4px solid #2563eb;
    border-bottom:1px solid #d9e0e8;
    text-align:center;
}

.devinfo-error-page span {
    color:#2563eb;
    font:800 13px/1.2 "Space Grotesk", sans-serif;
    letter-spacing:.12em;
}

.devinfo-error-page h1 {
    margin:16px 0;
    color:#172033;
    font-size:clamp(30px, 5vw, 46px);
    letter-spacing:-.04em;
}

.devinfo-error-page p {
    margin:0 0 28px;
    color:#64748b;
    font-size:16px;
    line-height:1.7;
}

.devinfo-error-page nav {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}

.devinfo-error-page a {
    display:inline-flex;
    min-height:44px;
    align-items:center;
    padding:0 18px;
    border:1px solid #172033;
    color:#172033;
    font-weight:700;
}

.devinfo-error-page a:first-child {
    background:#172033;
    color:#fff;
}

.dev-page-title .dev-page-heading {
    margin:8px 0 0;
    color:#101418;
    font-size:clamp(24px, 3vw, 38px);
    font-weight:900;
    line-height:1.18;
}

.dev-nav-scroll-hint,
.devinfo-mobile-meta {
    display:none;
}

.dev-container .bo_v_nb li .nb_tit,
.dev-container .bo_v_nb li .nb_date {
    color:#64748b;
}

.dev-container .pg_page {
    color:#475569;
}

#bo_v_top .dev-view-tool {
    min-width:44px;
    white-space:nowrap;
}

@media (max-width:640px) {
    #bo_v_title .bo_v_tit {
        font-size:1.45em;
        line-height:1.4;
    }

    #bo_v_con {
        font-size:15px;
        line-height:1.78;
    }

    #bo_v_con h2 {
        margin-top:34px;
        font-size:1.35em;
    }

    #bo_v_con h3 { font-size:1.12em; }
    #bo_v_con ul, #bo_v_con ol { padding-left:22px; }
    #bo_v_con pre { margin-left:-4px; margin-right:-4px; padding:14px; font-size:13px; }
    #ctt_con .devinfo-static-content { font-size:15px; line-height:1.78; }
    #ctt_con .devinfo-static-lead { padding:16px; }
    #sch_res_detail {
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
        padding:18px 14px;
        text-align:left;
    }
    #sch_res_detail select,
    #sch_res_detail .frm_input,
    #sch_res_detail .sch_wr,
    #sch_res_detail .btn_submit { width:100% !important; max-width:none; }
    #sch_res_detail select { float:none; min-width:0; margin:0 !important; }
    #sch_res_detail .sch_wr { display:grid; grid-template-columns:minmax(0, 1fr) 52px; gap:8px 0; margin:0; }
    #sch_res_detail .sch_wr select { grid-column:1 / -1; }
    #sch_res_detail .sch_wr .frm_input { min-width:0; }
    #sch_res_detail .sch_wr .btn_submit { position:static; width:52px !important; height:45px; }

    .dev-nav-bands { position:relative; padding-bottom:30px !important; }
    .dev-nav-scroll-hint {
        display:block;
        position:absolute;
        right:0;
        bottom:7px;
        margin:0;
        color:#475569;
        font-size:12px;
        font-weight:700;
    }

    #bo_list caption {
        position:absolute !important;
        width:1px !important;
        height:1px !important;
        overflow:hidden !important;
        clip:rect(0, 0, 0, 0) !important;
        white-space:nowrap !important;
    }
    #bo_list thead { display:none !important; }
    #bo_list table,
    #bo_list tbody,
    #bo_list tbody tr { display:block; width:100%; }
    #bo_list tbody tr {
        position:relative;
        padding:17px 0;
        border-bottom:1px solid #d9e0e8;
    }
    #bo_list tbody td {
        display:none !important;
        padding:0 !important;
        border:0 !important;
    }
    #bo_list tbody .td_subject,
    #bo_list tbody .empty_table { display:block !important; width:auto; }
    #bo_list tbody .td_subject { padding-right:38px !important; }
    #bo_list tbody .td_chk {
        display:block !important;
        position:absolute;
        top:17px;
        right:0;
        width:30px;
    }
    #bo_list .bo_tit a { font-size:17px; line-height:1.45; }
    #bo_list .devinfo-list-summary { margin-top:8px; color:#526173; font-size:13px; -webkit-line-clamp:2; }
    .devinfo-mobile-meta {
        display:flex;
        flex-wrap:wrap;
        gap:5px 12px;
        margin-top:10px;
        color:#64748b;
        font-size:13px;
        line-height:1.4;
    }
    .devinfo-mobile-meta span + span::before {
        margin-right:12px;
        color:#cbd5e1;
        content:'·';
    }

    #bo_v_top .dev-view-tool {
        min-width:44px;
        min-height:44px;
        padding:0 11px !important;
        white-space:nowrap;
    }
    #bo_list .btn_bo_sch,
    #bo_list .btn_bo_user .btn,
    #bo_list .bo_sch .sch_btn,
    .dev-container .pg_page,
    .dev-container .pg_current {
        min-width:44px;
        height:44px;
        line-height:42px;
    }
    .devinfo-error-page { margin:24px auto 60px; padding:36px 18px; }
}
