@charset "utf-8";
.etiquette-hero-box {
        width: 100%;
        max-width: 850px;
        height: 350px; /* 고정 세로값 */
        margin: 20px auto;
        background: #ffffff;
        border-radius: 20px;
        border: 1px solid #e0e0e0;
        font-family: 'Inter', -apple-system, sans-serif;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    }

    .inner-content {
        padding: 20px 40px;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        box-sizing: border-box;
    }

    .board-category {
        color: #4a90e2; /* 에티켓은 신뢰감 있는 블루 계열로 변경 */
        font-weight: 800;
        font-size: 11px;
        letter-spacing: 1px;
        text-transform: uppercase;
    }

    .hero-header h1 {
        font-size: 26px;
        color: #111;
        margin: 12px 0 5px;
        font-weight: 800;
    }

    .hero-header p {
        font-size: 15px;
        color: #555;
        margin: 0;
    }

    .etiquette-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
        margin: 15px 0;
    }

    .e-card {
        background: #f8f9fa;
        padding: 10px 10px;
        border-radius: 12px;
        text-align: center;
        border: 1px solid #f0f0f0;
        transition: transform 0.2s ease;
    }

    .e-card:hover {
        transform: translateY(-5px);
        border-color: #4a90e2;
    }

    .e-icon {
        font-size: 22px;
        margin-bottom: 6px;
    }

    .e-card h4 {
        font-size: 14px;
        margin: 0 0 4px;
        color: #333;
        font-weight: 700;
    }

    .e-card p {
        font-size: 11px;
        color: #777;
        line-height: 1.3;
        margin: 0;
    }

    .hero-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-top: 15px;
        border-top: 1px solid #eee;
    }

    .hero-footer p {
        font-size: 13px;
        color: #888;
        margin: 0;
    }

    .post-trigger-btn {
        background: #222;
        color: #fff !important;
        text-decoration: none !important;
        padding: 10px 24px;
        border-radius: 8px;
        font-weight: 700;
        font-size: 13px;
        transition: 0.2s;
    }

    .post-trigger-btn:hover {
        background: #4a90e2;
    }


.suggestions-hero-box {
        width: 100%;
        max-width: 850px;
        height: 350px; /* 고정 세로값 */
        margin: 20px auto;
        background: #ffffff;
        border-radius: 20px;
        border: 1px solid #e0e0e0;
        font-family: 'Inter', -apple-system, sans-serif;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    }

    .inner-content {
        padding: 20px 40px;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        box-sizing: border-box;
    }

    .board-category {
        color: #27ae60; /* Suggestions는 성장과 긍정의 의미로 초록색 계열 추천 */
        font-weight: 800;
        font-size: 11px;
        letter-spacing: 1px;
        text-transform: uppercase;
    }

    .hero-header h1 {
        font-size: 26px;
        color: #111;
        margin: 12px 0 5px;
        font-weight: 800;
    }

    .hero-header p {
        font-size: 15px;
        color: #555;
        margin: 0;
    }

    .suggestions-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
        margin: 15px 0;
    }

    .s-card {
        background: #f8fbf9; /* 은은한 연녹색 배경 */
        padding: 10px 10px;
        border-radius: 12px;
        text-align: center;
        border: 1px solid #f0f0f0;
        transition: transform 0.2s ease;
    }

    .s-card:hover {
        transform: translateY(-5px);
        border-color: #27ae60;
    }

    .s-icon {
        font-size: 22px;
        margin-bottom: 6px;
    }

    .s-card h4 {
        font-size: 14px;
        margin: 0 0 4px;
        color: #333;
        font-weight: 700;
    }

    .s-card p {
        font-size: 11px;
        color: #777;
        line-height: 1.3;
        margin: 0;
    }

    .hero-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-top: 15px;
        border-top: 1px solid #eee;
    }

    .hero-footer p {
        font-size: 13px;
        color: #888;
        margin: 0;
    }

    .post-trigger-btn {
        background: #222;
        color: #fff !important;
        text-decoration: none !important;
        padding: 10px 24px;
        border-radius: 8px;
        font-weight: 700;
        font-size: 13px;
        transition: 0.2s;
    }

    .post-trigger-btn:hover {
        background: #27ae60;
        box-shadow: 0 4px 10px rgba(39, 174, 96, 0.2);
    }



/* 📱 360px 포함 모바일 대응 핵심 코드 */
    @media (max-width: 768px) {
        .etiquette-hero-box, .suggestions-hero-box {
            height: auto; /* 모바일에선 고정 높이 해제 */
            min-height: 450px; 
        }
         .etiquette-grid, .suggestions-grid {
            grid-template-columns: repeat(2, 1fr); /* 2열로 배치해서 공간 확보 */
            gap: 10px;
        }
        .hero-header h1 {
            font-size: 22px; /* 제목 크기 축소 */
        }
        .hero-footer {
            flex-direction: column; /* 푸터 요소 세로 정렬 */
            gap: 15px;
            text-align: center;
        }
    }

    @media (max-width: 360px) {
        .inner-content {
            padding: 20px 15px; /* 아주 좁은 화면에서 좌우 여백 최적화 */
        }
        .s-card h4 {
            font-size: 13px;
        }
        .s-card p {
            display: none; /* 360px 이하에선 텍스트 숨기고 아이콘/제목만 노출 추천 */
        }
        /* 또는 글자 크기를 아주 작게 유지 */
        /* .s-card p { font-size: 10px; } */
    }


#container_title span {color:#ffffff;}
/* 게시물 액션 버튼 영역 */
.vk-post-actions {
    margin: 20px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* 공통 버튼 스타일 */
.vk-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.18s ease;
    white-space: nowrap;
}

/* 아이콘 */
.vk-btn i {
    font-size: 1rem;
}

/* 주요 버튼 – 지도에서 보기 */
.vk-btn-primary {
    background: #111111;
    border: 1px solid #111111;
    color: #ffffff;
}

.vk-btn-primary:hover {
    background: #007aff;
    border-color: #007aff;
}

/* 서브 버튼 – 원문 링크 열기 */
.vk-btn-ghost {
    background: #ffffff;
    border: 1px solid #cccccc;
    color: #333333;
}

.vk-btn-ghost:hover {
    border-color: #111111;
    color: #111111;
    background: #f8f8f8;
}

/* 모바일에서 꽉 채워 보이게 */
@media (max-width: 640px) {
    .vk-post-actions {
        flex-direction: column;
    }

    .vk-btn {
        justify-content: center;
        width: 100%;
    }
}
.address {padding:10px 0px 5px;}
.list-address {padding:5px 0px 5px; font-size:0.875em; color:#909090; word-break: break-all;}
.bo_address {display:inline; width:auto; font-size:0.875em; padding:4px 11px; border-radius: 12px; background-color:#E9E9E9; border:1px solid #ddd;}
/* 게시판 목록 */
#bo_cate {margin:25px 0}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {zoom:1}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;padding:2px}
#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#fff600;color:#fff}
#bo_cate #bo_cate_on {z-index:2;background:#fff600;font-weight:bold;border:1px solid #fff600;
-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
.td_subject img {margin-left:3px}

.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box {position:relative; padding:10px 0px;}
.chk_box input[type="checkbox"] + label {position:relative;padding-left:20px;color:#676e70;vertical-align:baseline}
.chk_box input[type="checkbox"] + label:hover{color:#2172f8}
.chk_box input[type="checkbox"] + label span {position:absolute;top:10px;left:10px;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px}
.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.chk_box input[type="checkbox"]:checked + label {color:#000}
.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #fff600;border-color:#1471f6;border-radius:3px}
.all_chk.chk_box input[type="checkbox"] + label span {top:0;left:0}


/* 갤러리 목록 */
#bo_gall h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#bo_gall #gall_ul {margin:0;padding:0;list-style:none;zoom:1}
#bo_gall #gall_ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_gall .gall_li {}
#bo_gall .gall_li .gall_chk {position:absolute;top:0;left:0;padding:5px;z-index:1}
#bo_gall .gall_box {position:relative;margin:0 0 50px 0;border-radius:0 0 2px 2px}
#bo_gall .gall_con {position:relative}

.gall_row .col-gn-0,.gall_row .col-gn-1,.gall_row .col-gn-2,.gall_row .col-gn-3,.gall_row .col-gn-4,.gall_row .col-gn-5,.gall_row .col-gn-6,.gall_row .col-gn-7,.gall_row .col-gn-8,.gall_row .col-gn-9,.gall_row .col-gn-10 {position:relative;min-height:1px;padding-left:0px;*padding-left:0;padding-right:0px;*padding-right:0;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0}
.gall_row .col-gn-0,.gall_row .col-gn-1 {width:100%}
.gall_row .col-gn-2 {width:50%}
.gall_row .col-gn-3 {width:33.33333333%}
.gall_row .col-gn-4 {width:25%}
.gall_row .col-gn-5 {width:20%}
.gall_row .col-gn-6 {width:16.66666667%}
.gall_row .col-gn-7 {width:14.28571428%}
.gall_row .col-gn-8 {width:12.5%}
.gall_row .col-gn-9 {width:11.11111111%}
.gall_row .col-gn-10 {width:10%}

.gall_row .box_clear {clear:both}



#bo_gall {}
#bo_gall .gall_now .gall_text_href a {color:#ff3061}

#bo_gall .gall_href a:link, #bo_gall .gall_href a:focus, #bo_gall .gall_href a:hover {text-decoration:none}
#bo_gall .gall_img {overflow:hidden; }
#bo_gall .gall_img a,#bo_gall .gall_img .no_image,#bo_gall .gall_img .is_notice {display:block; text-align: center;}
#bo_gall .gall_img img, #bo_gall .gall_img video {max-width:100%;height:auto !important; border-radius:13px; }
#bo_gall .gall_img span {display:inline-block;background:#eaeaea;text-align:center;text-transform:uppercase;font-weight:bold;font-size:1.25em;color:#777}

#bo_gall .gall_text_href {margin:0px}
#bo_gall .gall_text_href a {font-weight:400}
#bo_gall .gall_text_href img {margin:0 0 0 4px}
#bo_gall .bo_tit {display:block; font-size:18px; padding:20px 0px 4px;}
#bo_gall .bo_tit .cnt_cmt {background:#2a2a2a;font-size:11px; width:16px; height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle}

#bo_gall .bo_cnt {line-height:1.3em;}
#bo_gall .profile_img img {border-radius:50%}
#bo_gall .bo_tit .fa-download {width:16px;height:16px;line-height:16px;background:#e89f31;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle}
#bo_gall .bo_tit .fa-link {width:16px;height:16px;line-height:16px;background:#ad68d8;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal}
#bo_gall .bo_tit .fa-link {width:16px;height:16px;line-height:16px;background:#ad68d8;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px}
#bo_gall .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:11px;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:baseline}
#bo_gall .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:11px;background:#e52955;text-align:center;border-radius:2px;vertical-align:middle;margin-right:2px}
#bo_gall .bo_tit .fa-lock {display:inline-block;line-height:16px;color:#999;text-align:center;vertical-align:middle}

#bo_gall .gall_info {line-height:1.5em;line-height:20px; padding:5px 0px 10px;}
#bo_gall .gall_info strong {display:inline-block;margin:0}
#bo_gall .gall_info i {font-size:12px}
#bo_gall .gall_info .gall_date,
#bo_gall .gall_info .gall_view {display:inline-block;margin-left:10px;color:#777}

#bo_gall .gall_option {position:absolute;top:10px;right:10px}
#bo_gall .gall_option strong {background:#fff;padding:5px 10px;border-radius:30px;-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}

/* 게시판 목록 공통 */
#bo_btn_top {margin:10px 0}
#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx {margin-bottom:5px;float:right;zoom:1}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx ul {margin:0;padding:0;list-style:none}
#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f}

.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user li {float:left;width:auto;text-align:center;margin-left:5px; }
.btn_bo_user > li {position:relative}
.btn_bo_adm {float:left}
.btn_bo_adm li {float:left;margin-right:5px}
.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle}
.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee}
.bo_notice td a {font-weight:bold}
.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f}

.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999}
.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left}
.more_opt li:last-child {border-bottom:0}
.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c}
.more_opt li:hover a,
.more_opt li:hover button {color:#000}
.more_opt li i {float:right;line-height:20px}

.td_num strong {color:#000}
.bo_cate_link {display:inline-block;background:#e2eaf6;color:#fff600;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */
.bo_cate_link:hover {text-decoration:none}
.bo_current {color:#e8180c}
#bo_list .profile_img {display:inline-block;margin-right:5px}
#bo_list .profile_img img {border-radius:50%}
#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold;color:#ed6478;font-size:0.86em}

#bo_gall li.empty_list {padding:85px 0;text-align:center}

.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999}
.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px}
.bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8}
.bo_sch legend {background:red}
.bo_sch form {padding:15px;display:block}
.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left}
.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px}
.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff}
.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%}


/* 게시판 쓰기 */
#char_count_desc {display:block;margin:0 0 5px;padding:0}
#char_count_wrap {margin:5px 0 0;text-align:right}
#char_count {font-weight:bold}

#autosave_wrapper {position:relative}
#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent}
#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */
#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden}
#autosave_pop div {text-align:center;margin:0 !important}
#autosave_pop button {margin:0;padding:0;border:0}
#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8}
#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1}
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a {display:block;float:left}
#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999}
.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em}
.autosave_close:hover {background:#f3f3f3;color:#3597d9}
.autosave_content {display:none}
.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px}

/* 게시판 읽기 */
#bo_v {margin-bottom:20px; box-sizing:border-box}

#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;font-weight:bold;line-height:2.2em}

#bo_v_title {font-weight:500;}
#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#fff600;padding:0 10px;border-radius:3px;}
#bo_v_title .bo_v_tit {display:block; font-size:24px; margin:5px 0 0; word-break:keep-all; }

#bo_v_info {margin:0;border-bottom:1px solid #2a2a2a;}
#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} 
#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left}
#bo_v_info .profile_info .pf_img {float:left;margin-right:10px}
#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px; border:1px solid #ececec;}
#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px}

#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal}
#bo_v_info .sv_member,
#bo_v_info .sv_guest,
#bo_v_info .member,
#bo_v_info .guest {font-weight:bold}
#bo_v_info .profile_img {display:none}
#bo_v_info .sv_member {}
#bo_v_info .if_date {margin:0;color:#888}

#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px;
-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_file li i {float:left;color:#b2b2b2;font-size:2em;margin-right:10px}
#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;}
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#fff600}
#bo_v_file img {float:left;margin:0 10px 0 0}
#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_file li:hover i {color:#fff600}
#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc}


#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; overflow:hidden;
-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_link li i {float:left;color:#b2b2b2;font-size:2em;margin-right:10px}
#bo_v_link a {text-decoration:none;word-wrap:break-word;}
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#fff600}
#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_link li:hover i {color:#fff600}
#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc}


#bo_v_top {zoom:1}
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_top ul {padding:0;list-style:none;word-break:break-all}

#bo_v_bot {zoom:1}
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_bot ul {padding:0;list-style:none}

.bo_v_com {margin:0px 0 8px;float:right}
.bo_v_com > li {position:relative;float:left;margin-left:5px}

.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left}
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px}
.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1}
.bo_v_nb li:hover {background:#f6f6f6}
.bo_v_nb li i {font-size:13px;color:#b3b3b3}
.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3}
.bo_v_nb li .nb_date {float:right;color:#b3b3b3}

#bo_v_atc {min-height:200px;height:auto !important;height:200px}
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_img {display:none;width:100%;overflow:hidden;zoom:1}
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_img a.view_image {display:block}
#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto; border-radius:13px;}

#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:keep-all;overflow:hidden; }
#bo_v_con a {color:#000;text-decoration:underline}
#bo_v_con img {max-width:100%;height:auto; border-radius:13px; margin:20px auto;}

#bo_v_act {margin-bottom:30px;text-align:center}
#bo_v_act .bo_v_act_gng {position:relative}
#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158}
#bo_v_act a:hover {background-color:#ffffff;color:#000000;border-color:#2a2a2a;}
#bo_v_act i {font-size:1.1em;margin-right:5px; }
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;text-align:center}
#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:auto;line-height:1em;border-radius:30px; padding:0.5rem 0.6rem;}
#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:auto;line-height:1em;border-radius:30px; padding:0.5rem 0.6rem;}
#bo_v_act .bo_v_good strong {font-size:1.1em; }
#bo_v_act .bo_v_nogood strong {font-size:1.1em; }


#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block}
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_sns li {float:left;width:auto;margin-right:5px;text-align:left}
#bo_v_sns li a {height:auto;line-height:1em;text-align:center;border-radius:5px;font-size:0.95em; padding:0.3rem 0.5rem;}
#bo_v_sns li img {vertical-align:middle;margin-right:5px}
#bo_v_sns li .sns_f {display:block; border:1px solid #2a2a2a;}
#bo_v_sns li .sns_t {display:block; border:1px solid #2a2a2a;}
#bo_v_sns li .sns_g {display:block;background:#ea4026}
#bo_v_sns li .sns_k {display:block;background:#fbe300}

#bo_v_share {position:relative;padding:20px 0}
#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_share .btn {padding:0.5rem 0.5rem;color:#555;font-weight:normal;font-size:0.95em;width:auto;line-height:1em;height:auto;border-color:#d5d5d5;border-radius:5px}
#bo_v_share .btn:hover {background:#fff}
#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle}


/* 게시판 댓글 */
.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0; font-weight:bold;margin:30px 0 0px;padding:0 0 15px; background:none;}
.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;}
.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px}
.cmt_btn_op span.cmt_more {background-position:right -8px}
.cmt_btn b {font-size:1em;}
.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#fff600;content:"";width:100%;height:2px}
#bo_vc { padding:1.5rem 0px 0.5rem;}
#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc article {padding:10px 0 0px;position:relative;}
#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc article .profile_img img {border-radius:50%}
#bo_vc article .pf_img {float:left;margin-right:10px; }
#bo_vc article .pf_img img {border-radius:50%;width:30px;height:30px}
#bo_vc article .cm_wrap {float:left;max-width:870px;width:calc(100% - 60px);}
#bo_vc header {position:relative;width:100%}
#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc header .profile_img {display:none}
#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px}
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
.bo_vc_hdinfo {color:#777}
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc .cmt_contents {line-height:1.8em;padding:0px; }
#bo_vc p a {text-decoration:underline}
#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479}
#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center}
#bo_vc #bo_vc_winfo {float:left}
#bo_vc .bo_vl_opt {position:absolute;top:0;right:0}

.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999}
.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
.bo_vc_act li {border-bottom:1px solid #f0f0f0}
.bo_vc_act li:last-child {border-bottom:0}
.bo_vc_act li a {display:inline-block;padding:10px 15px}
.bo_vc_act li a:hover {color:#fff600}

.bo_vc_w {position:relative;margin:10px 0;display:block}
.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.bo_vc_w #char_cnt {display:block;margin:0 0 5px}
.bo_vc_w textarea {border:1px solid ##FFFF33;background:none;vertical-align:middle;border-radius:3px;padding:5px;width:100%; min-height:120px;
-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)}
#wr_secret {}
.bo_vc_w_info {margin:10px 0;float:left}
.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w_info .frm_input {float:left;margin-right:5px}
.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both}
.bo_vc_w .btn_confirm {clear:both;margin-top:10px}
.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px; font-size:1em;text-align:center}
.bo_vc_w .btn_submit {height:auto; line-height:1em; padding:0.5rem 0.8rem;border-radius:8px;font-weight:bold;font-size:1em; color:#ffffff;}
.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important}
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
.secret_cm {display:inline-block;float:left}

#bo_vc_send_sns {display:inline-block;float:left}
#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1}
#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc_sns li {float:left;margin:0 5px 0 0}
#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_off {background:#bbb}
#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px}
#bo_vc_sns input {margin:0 5px 0 0}

/*글쓰기*/
#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0}
#bo_w .bo_v_option li label {vertical-align:baseline}
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px}
#bo_w .write_div {margin:10px 0;position:relative}
#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%}
#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%}
#bo_w .wr_content.smarteditor2 iframe {background:#fff}
#bo_w .bo_w_tit {position:relative}
#bo_w .bo_w_tit .frm_input {padding-right:120px}
#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px}
#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2}
#bo_w .bo_w_link .frm_input {padding-left:50px}
#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2}
#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px}
#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0}
#bo_w .bo_w_flie .frm_input {margin:10px 0 0}
#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d}
#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px}
#bo_w .btn_submit {font-size:1em; color:#fff;}
#bo_w .btn_cancel {font-size:1em}


@media (max-width: 678px) {
.bo_address {display:block;}
}



/* ===== Fixed Chatbot Bar ===== */
.chatbar-fixed {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    background: #b4ff00;
    z-index: 9999;
    font-family: inherit;
    font-size: 14px;
}

/* ===== Chatbar Top Arrow ===== */
.chatbar-fixed::before {
    content: "";
    position: absolute;
    top: -10px; /* 삼각형 높이 조절 */
    left: 50%;
    transform: translateX(-50%);

    /* 삼각형 만들기 */
    width: 0;
    height: 0;
    border-left: 10px solid transparent;  /* 좌측 비우기 */
    border-right: 10px solid transparent; /* 우측 비우기 */
    border-bottom: 10px solid #000;       /* 아래 방향 삼각형 (검정바 색과 동일) */

    z-index: 9998; /* chatbar보다 위 */
}



/* 가운데 700px 인너 */
.chatbar-inner {
    max-width: 760px;
    margin: 0 auto;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 16px;
}

/* 왼쪽 로고 + 이름 */
.chatbar-left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.chatbar-logo {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    overflow: hidden;
    background: #0b5d4b; /* 로고 배경 없을 때 대비용 */
    display: flex;
    align-items: center;
    justify-content: center;
}

.chatbar-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.chatbar-brand {
    font-weight: 600;
}

/* 가운데 문구 */
.chatbar-text {
    flex: 1;
    text-align: center;
    line-height: 1.4;
}

/* 오른쪽 버튼 */
.chatbar-btn {
    flex-shrink: 0;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid #fff;
    background: #ffffff;
    color: #000;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s ease;
    white-space: nowrap;
}

.chatbar-btn:hover {
    background: #f4f4f4;
    transform: translateY(-1px);
}



.chat_pop {
    width: 90%;
    max-width: 800px;
    background: #fff;
    position:fixed;
    left:50%;
    bottom:50px;
    border-radius: 8px;
    visibility: hidden;
    opacity: 0;
    border:1px solid #b4b4b4;
    overflow: hidden;
    transform:translateX(-50%);
    transition:all 0.35s ease;
    z-index: 10;
}

.chat_pop.active {
    visibility: visible;
    opacity: 1;
    bottom: 80px;
}

.chat_pop .chat_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    position:relative;
    z-index: 2;
}

.chat_pop .chat_header .title {
    font-size: 18px;
    font-weight: 600;
    color:#333;
    letter-spacing: -0.02em;
}

.chat_pop .chat_header .close_btn {
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    border:none;
    background: none;
}

.chat_pop .chat_box {
    height: 500px;
    background: #f5f5f5;
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.chat_pop .chat_box::-webkit-scrollbar {
    width: 6px;
}

.chat_pop .chat_box::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}

.chat_pop .chat_box::-webkit-scrollbar-thumb:hover {
    background: #aaa
}

.chat_pop .chat_box::-webkit-scrollbar-track {
    background: transparent;
}

.chat_pop .chat_box .message {
    max-width: 85%;
    display: flex;
    flex-direction: column;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: -0.02em;
    word-break: keep-all;
    animation: slideIn 0.3s ease;
}

.chat_pop .chat_box .message.bot {
    align-self: flex-start;
}

.chat_pop .chat_box .message.user {
    align-self: flex-end;
}

.chat_pop .chat_box .message .message-bubble {
    padding: 12px 16px;
    border-radius: 18px;
    word-wrap: break-word;
    position: relative;
}

.chat_pop .chat_box .message.bot .message-bubble {
    background: white;
    color: #333;
    border-bottom-left-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.chat_pop .chat_box .message.user .message-bubble {
    background: #007AFF;
    color: white;
    border-bottom-right-radius: 4px;
}

.chat_pop .chat_box .message .message-time {
    font-size: 11px;
    color: #999;
    margin-top: 5px;
    padding: 0 5px;
}

.chat_pop .chat_box .message.user .message-time {
    text-align: right;
}

.chat_pop .input_box {
    background: white;
    padding: 15px 20px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    display: flex;
    gap: 10px;
    align-items: center;
    position:relative;
}

.chat_pop .input_box .chat_input {
    width: 100%;
    height: 43px;
    padding: 0px 50px 0px 16px;
    border: 2px solid #e0e0e0;
    border-radius: 25px;
    font-size: 14px;
    outline: none;
    transition: all 0.3s;
}

.chat_pop .input_box .voice-btn {
    position: absolute;
    right: 85px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 20px;
    color: #666;
    padding: 5px;
}

.chat_pop .input_box .send_btn {
    width: 43px;
    height: 43px;
    background: #007AFF;
    border: none;
    border-radius: 50%;
    color: white;
    font-size: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    flex-shrink: 0;
}

@keyframes slideIn {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


/* 모바일 대응 */
@media (max-width: 768px) {
    .chatbar-inner {
        max-width: 100%;
        padding: 8px 12px 12px;
        gap: 10px;
    }

    .chatbar-text {
        font-size: 13px;
    }

    .chatbar-btn {
        padding: 8px 12px;
        font-size: 13px;
    }
    .chatbar-left {
        display: none;
    }
}

@media (max-width: 480px) {
    .chatbar-inner {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .chatbar-left {
        justify-content: center;
    }

    .chatbar-text {
        text-align: center;
    }

    .chatbar-btn {
        width: 100%;
    }

    .chat_pop.active {
        bottom: 90px;
    }

    .chat_pop .chat_box {
        height: 300px;
    }

    .chat_pop .input_box .chat_input {
        height: 40px;
    }
    
    .chat_pop .input_box .send_btn {
        width: 40px;
        height: 40px;
    }
}

.chatbar-text strong {
    color: #000; /* 밝은 의료계 톤 */
    font-weight: 700;
}
@keyframes fadeUp {
    0% { opacity: 0; transform: translateY(8px); }
    100% { opacity: 1; transform: translateY(0); }
}

.chatbar-text {
    animation: fadeUp 0.8s ease-out forwards;
}

.chatbar-text .blink {
    animation: blink 1.2s infinite;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.2; }
}





/* ==========================================================
   [WK-SEO] 상세 페이지 추가분  2026-08-30
   ========================================================== */

/* ---------- 이동경로 ---------- */
.wk-crumb {
	font-size: 0.82em;
	color: #8a93a3;
	padding: 4px 0 10px;
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}
.wk-crumb a { color: #8a93a3; text-decoration: none; }
.wk-crumb a:hover { color: #111; text-decoration: underline; }


/* ---------- 사실 정보 블록 ----------
   장소명 / 주소 / 좌표 / 원문 출처.
   기존 .address 두 줄을 대체합니다.
   AI 엔진이 답변에 인용하는 것이 정확히 이 블록입니다.
   ------------------------------------ */
.wk-facts {
	margin: 14px 0 6px;
	padding: 14px 16px;
	border: 1px solid #e5e8ee;
	border-radius: 10px;
	background: #fafbfd;
}

.wk-facts dl {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 10px 24px;
}

.wk-facts .wk-fact { min-width: 0; }

.wk-facts dt {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8a93a3;
	margin: 0 0 3px;
}

.wk-facts dd {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #1b1f28;
	word-break: break-all;
}

.wk-facts dd a { color: #007aff; text-decoration: none; }
.wk-facts dd a:hover { text-decoration: underline; }

/* 기존 .address 는 더 이상 쓰지 않지만 다른 스킨이 참조할 수 있어 남겨둡니다 */


/* ---------- 이전글 / 다음글 ---------- */
.wk-prevnext {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin: 28px 0 8px;
}

.wk-pn {
	display: block;
	padding: 14px 16px;
	border: 1px solid #e5e8ee;
	border-radius: 10px;
	text-decoration: none;
	transition: border-color 0.15s ease;
	min-width: 0;
}
.wk-pn:hover { border-color: #111; }

.wk-pn-next { text-align: right; }

.wk-pn-label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8a93a3;
	margin-bottom: 4px;
}

.wk-pn-title {
	display: block;
	font-size: 14px;
	line-height: 1.4;
	color: #1b1f28;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 한쪽만 있을 때 폭 전체를 쓰지 않도록 */
.wk-prevnext .wk-pn-next:only-child { grid-column: 2; }


/* ---------- 같은 게시판의 다른 글 ---------- */
.wk-related {
	margin: 32px 0 8px;
	padding-top: 20px;
	border-top: 2px solid #1b1f28;
}

.wk-related > h2 {
	font-size: 1.15em;
	font-weight: 700;
	color: #1b1f28;
	margin: 0 0 10px;
	padding: 0;
}

.wk-related-more {
	text-align: right;
	margin: 8px 0 0;
}
.wk-related-more a {
	font-size: 13px;
	font-weight: 600;
	color: #007aff;
	text-decoration: none;
}
.wk-related-more a:hover { text-decoration: underline; }


/* ---------- 반응형 ---------- */
@media (max-width: 640px) {
	.wk-facts { padding: 12px 14px; }
	.wk-facts dl { grid-template-columns: 1fr; gap: 8px; }
	.wk-prevnext { grid-template-columns: 1fr; }
	.wk-pn-next { text-align: left; }
	.wk-prevnext .wk-pn-next:only-child { grid-column: auto; }
}


/* ---------- 같은 게시판의 다른 글 : 목록 ---------- */
.wk-related-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px 14px;
}

.wk-related-list li { min-width: 0; }

.wk-related-list a {
	display: block;
	text-decoration: none;
	color: #1b1f28;
}

.wk-related-thumb {
	display: block;
	border-radius: 8px;
	overflow: hidden;
	background: #f2f4f7;
	margin-bottom: 8px;
}

.wk-related-thumb img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.wk-related-txt {
	display: block;
	font-size: 13px;
	line-height: 1.4;
	word-break: keep-all;
}

.wk-related-list a:hover .wk-related-txt {
	text-decoration: underline;
}

@media (max-width: 860px) {
	.wk-related-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
	.wk-related-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
	.wk-related-txt { font-size: 12px; }
}


/* ---------- 카테고리 허브 제목 / 소개문 ---------- */
.wk-board-head {
	margin: 4px 0 22px;
	padding: 0 0 16px;
	border-bottom: 1px solid #e5e8ee;
}

.wk-board-head h1 {
	font-size: 1.7em;
	font-weight: 700;
	line-height: 1.25;
	color: #1b1f28;
	margin: 0 0 8px;
	padding: 0;
	word-break: keep-all;
}

.wk-board-intro {
	font-size: 14px;
	line-height: 1.7;
	color: #5d6675;
	margin: 0;
	max-width: 760px;
	word-break: keep-all;
}

/* ---------- 목록 항목 제목을 h2 로 올린 데 따른 리셋 ----------
   브라우저 기본 h2 스타일(큰 글자, 위아래 마진)이 들어오면
   카드 레이아웃이 깨지므로 기존 .bo_tit 모양을 유지합니다. */
.wk-list-tit {
	margin: 0;
	padding: 0;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.wk-list-tit .bo_tit {
	display: block;
}

@media (max-width: 640px) {
	.wk-board-head { margin-bottom: 16px; padding-bottom: 12px; }
	.wk-board-head h1 { font-size: 1.35em; }
	.wk-board-intro { font-size: 13px; }
}


/* ---------- 댓글 영역 제목 ---------- */
.wk-cmt-head {
	font-size: 1.15em;
	font-weight: 700;
	color: #1b1f28;
	margin: 28px 0 12px;
	padding: 0 0 10px;
	border-bottom: 1px solid #e5e8ee;
}

.wk-cmt-num {
	display: inline-block;
	min-width: 22px;
	padding: 1px 7px;
	margin-left: 4px;
	border-radius: 11px;
	background: #f0f1f3;
	color: #5d6675;
	font-size: 0.78em;
	font-weight: 600;
	vertical-align: 2px;
}

/* 행사 기간은 사실 블록에서 가장 중요한 항목이라 강조합니다 */
.wk-facts .wk-fact-date dd {
	font-weight: 700;
	color: #007aff;
}


/* ======================================================================
   코스 (Road Trips)
   본문 아래에 지점을 순서대로 보여주고 지도로 보냅니다.
   글을 다 읽고 나서 동선을 확인할 방법이 필요했습니다.
   ====================================================================== */
.wk-route {
	margin: 0 0 26px;
	padding: 20px 22px 22px;
	border: 1px solid #e5e8ee;
	border-radius: 14px;
	background: #fbfcfe;
}

.wk-route__hd {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e9edf3;
}

.wk-route__hdtx {
	min-width: 0;
}

/* 코스 이름. 글 제목을 그대로 씁니다. */
.wk-route__ti {
	margin: 5px 0 0;
	font-size: 13.5px;
	line-height: 1.4;
	color: #5d6675;
}

.wk-route__hd h2 {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 1.05em;
	font-weight: 700;
	color: #1b1f28;
}

.wk-route__n {
	flex: 0 0 auto;
	padding: 3px 10px;
	border-radius: 999px;
	background: #eef1f6;
	font-size: 12px;
	font-weight: 600;
	color: #8a93a3;
}

.wk-route__list {
	position: relative;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

/* 지점을 잇는 세로선 */
.wk-route__list::before {
	content: '';
	position: absolute;
	left: 13px;
	top: 12px;
	bottom: 12px;
	width: 2px;
	background: #dfe4ec;
}

.wk-route__list li {
	position: relative;
	display: flex;
	gap: 12px;
	padding: 0 0 16px;
}

.wk-route__list li:last-child {
	padding-bottom: 0;
}

.wk-route__q {
	position: relative;
	z-index: 1;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #1b1f28;
	color: #fff;
	font-size: 12.5px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.wk-route__tx {
	min-width: 0;
	padding-top: 3px;
}

/* 지점 이름.
   배지가 이름 옆에 오도록 flex 로 둡니다.
   display:block 이면 배지가 아래로 떨어지고 폭을 다 차지합니다. */
.wk-route__tx b {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 7px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	color: #1b1f28;
}

.wk-route__tx em {
	display: block;
	margin-top: 3px;
	font-size: 12.5px;
	font-style: normal;
	line-height: 1.45;
	color: #5d6675;
}

.wk-route__tx span {
	display: block;
	margin-top: 4px;
	font-size: 11.5px;
	line-height: 1.4;
	color: #8a93a3;
	word-break: break-all;
}

.wk-route__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 42px;
	padding: 0 20px;
	border-radius: 10px;
	background: #1b1f28;
	color: #fff;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
}

.wk-route__btn:hover {
	background: #2f6df6;
	color: #fff;
}

@media (max-width: 640px) {
	.wk-route { padding: 17px 16px 18px; }
	.wk-route__btn { width: 100%; justify-content: center; }
}

/* 코스 자동 추출 결과. 관리자에게만 보입니다. */
.wk-route-msg {
	margin: 0 0 14px;
	padding: 10px 14px;
	border-radius: 9px;
	background: #eef5ff;
	color: #2f6df6;
	font-size: 12.5px;
	font-weight: 600;
}

/* 관리자용 좌표 재검색 링크 */
.wk-route-admin {
	margin: 0 0 14px;
	font-size: 12px;
	line-height: 1.5;
}

.wk-route-admin a {
	font-weight: 700;
	color: #2f6df6;
	text-decoration: underline;
}

.wk-route-admin span {
	display: block;
	margin-top: 3px;
	color: #8a93a3;
}

/* 이동 수단 배지.
   지점 이름 오른쪽에 붙습니다.
   별도 줄로 두면 목록이 두 배로 길어져 읽기 불편했습니다. */
.wk-route__badge {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	padding: 2px 9px;
	border-radius: 999px;
	background: #1b1f28;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .02em;
	vertical-align: middle;
	white-space: nowrap;
}

/* 좌표를 못 찾은 지점. 관리자에게만 보입니다. */
.wk-route__warn {
	display: block;
	margin-top: 4px;
	font-size: 11.5px;
	color: #e5484d;
}

/* 좌표 검색 실패 기록. 관리자에게만 보입니다. */
.wk-route-diag {
	margin: 0 0 16px;
	padding: 13px 15px;
	border: 1px solid #f2d5d6;
	border-radius: 9px;
	background: #fff7f7;
	font-size: 12px;
	line-height: 1.5;
}

.wk-route-diag > b {
	display: block;
	margin-bottom: 8px;
	color: #e5484d;
	font-size: 12px;
}

.wk-route-diag dl {
	margin: 0 0 8px;
}

.wk-route-diag dl:last-child {
	margin-bottom: 0;
}

.wk-route-diag dt {
	font-weight: 700;
	color: #1b1f28;
}

.wk-route-diag dd {
	margin: 2px 0 0 12px;
	color: #8a93a3;
	word-break: break-all;
}

.wk-route-diag__tip {
	margin: 0 0 10px;
	padding-bottom: 9px;
	border-bottom: 1px solid #f6e2e3;
	color: #8a93a3;
	font-size: 11.5px;
	line-height: 1.55;
}

/* ======================================================================
   본문 이미지가 0x0 으로 사라지던 문제

   그누보드의 viewimageresize.js 가 본문 이미지 크기를 부모 폭에 맞춰
   조정합니다. 그런데 loading="lazy" 인 이미지는 아직 로드되지 않아
   naturalWidth 가 0 이고, 스크립트가 그 값으로 계산해
   width="0" height="0" 을 인라인으로 박아 넣습니다.

   결과가 인라인 속성이라 CSS 로 덮어써야 합니다.
   !important 없이는 인라인 값이 이깁니다.
   ====================================================================== */
#bo_v_con img {
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	min-width: 0;
}

/* 썸네일처럼 크기를 일부러 지정한 것은 제외합니다 */
#bo_v_con .wk-related-thumb img,
#bo_v_con .wk-route img {
	width: 100% !important;
	height: 100% !important;
}
