@charset "utf-8";
/* ==========================================================================
   러닝브릿지(learningbridge.club) 전용 스킨 오버라이드
   - 그누보드5 basic 테마 위에 덮어쓰는 브랜드 레이어
   - 팔레트/타이포/레이아웃을 의도적으로 다르게 가져간다 (동일서버 타 사이트와 시각적 분리)
   ========================================================================== */

:root{
    --lb-bg:        #fbf9f5;   /* 아이보리 배경 */
    --lb-surface:   #ffffff;
    --lb-ink:       #1c2a24;   /* 본문 먹색(초록빛) */
    --lb-muted:     #6f7b74;
    --lb-primary:   #14563c;   /* 딥 포레스트 */
    --lb-primary-2: #1d7a55;
    --lb-accent:    #c2711a;   /* 앰버 */
    --lb-border:    #e7e2d8;
    --lb-border-2:  #d8d1c3;
    --lb-radius:    10px;
    --lb-shadow:    0 6px 24px rgba(28,42,36,.10);
}

/* ---------- 기본 타이포 ---------- */
body{
    background: var(--lb-bg);
    color: var(--lb-ink);
    font-family: "Pretendard","Apple SD Gothic Neo","Malgun Gothic",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size: 16px;
    line-height: 1.7;
    -webkit-text-size-adjust: 100%;
}
a{ color: var(--lb-primary); }
a:hover,a:focus{ color: var(--lb-primary-2); }

h1,h2,h3,h4{
    font-family: "Noto Serif KR","Nanum Myeongjo",Georgia,"Times New Roman",serif;
    letter-spacing: -.01em;
    color: var(--lb-ink);
}

/* ---------- 상단 ---------- */
#hd{ background: var(--lb-surface); border-bottom:1px solid var(--lb-border); }

#tnb{ background: var(--lb-primary); border:0; }
#tnb .inner{ max-width:1160px; margin:0 auto; padding:0 16px; overflow:hidden; }
#tnb #hd_qnb{ float:right; margin:0; padding:0; list-style:none; }
#tnb #hd_qnb li{ float:left; }
#tnb #hd_qnb li a{
    display:block; padding:0 12px; line-height:36px;
    color:rgba(255,255,255,.86); font-size:.82em; text-decoration:none;
}
#tnb #hd_qnb li a:hover{ color:#fff; background:rgba(255,255,255,.08); }

#hd_wrapper{
    max-width:1160px; margin:0 auto; padding:22px 16px 18px;
    position:relative; overflow:hidden; border:0;
}

/* 로고: 이미지 대신 워드마크 */
#logo{ float:left; padding:0; }
#logo a{ display:block; text-decoration:none; }
#logo .lb-mark{
    display:block;
    font-family:"Noto Serif KR","Nanum Myeongjo",Georgia,serif;
    font-size:1.85em; font-weight:800; letter-spacing:-.02em;
    color:var(--lb-primary); line-height:1.15;
}
#logo .lb-mark::after{
    content:""; display:inline-block; width:7px; height:7px; margin-left:6px;
    border-radius:50%; background:var(--lb-accent); vertical-align:middle;
}
#logo .lb-tagline{
    display:block; margin-top:3px;
    font-size:.72em; color:var(--lb-muted); letter-spacing:.01em;
}

/* 검색 */
.hd_sch_wr{ float:right; width:340px; margin-top:8px; }
#hd_sch{ border:0; padding:0; margin:0; }
#hd_sch form{ position:relative; }
#hd_sch #sch_stx{
    width:100%; height:42px; padding:0 46px 0 14px;
    border:1px solid var(--lb-border-2); border-radius:999px;
    background:#fff; color:var(--lb-ink); font-size:.9em; box-sizing:border-box;
}
#hd_sch #sch_stx:focus{ outline:none; border-color:var(--lb-primary-2); box-shadow:0 0 0 3px rgba(29,122,85,.12); }
#hd_sch #sch_submit{
    position:absolute; top:0; right:0; width:44px; height:42px;
    border:0; background:transparent; color:var(--lb-primary); font-size:15px; cursor:pointer;
}

.hd_login{ position:absolute; right:16px; top:-30px; margin:0; padding:0; list-style:none; }
.hd_login li{ float:left; }
.hd_login li a{ display:block; padding:0 10px; line-height:36px; color:rgba(255,255,255,.86); font-size:.82em; text-decoration:none; }
.hd_login li a:hover{ color:#fff; }
.hd_login .tnb_admin a{ color:#ffd9a3; font-weight:700; }

/* ---------- GNB (2단 드롭다운) ---------- */
#gnb{ background:var(--lb-surface); }
#gnb .gnb_wrap{ max-width:1160px; margin:0 auto; padding:0 16px; }
#gnb #gnb_1dul{ border-bottom:2px solid var(--lb-primary); font-size:1em; }
#gnb .gnb_1dli{ line-height:52px; }
.gnb_1da{
    padding:0 18px; color:var(--lb-ink); font-weight:700; font-size:.98em;
    position:relative; transition:color .15s ease;
}
#gnb .gnb_1dli:hover > a,
#gnb .gnb_1dli:focus-within > a{ color:var(--lb-primary); background:transparent; }
#gnb .gnb_1dli > a::after{
    content:""; position:absolute; left:18px; right:18px; bottom:-2px; height:3px;
    background:var(--lb-accent); transform:scaleX(0); transform-origin:left; transition:transform .18s ease;
}
#gnb .gnb_1dli:hover > a::after,
#gnb .gnb_1dli:focus-within > a::after{ transform:scaleX(1); }

/* 하위분류 화살표 아이콘(기본 gif) 제거 후 CSS 삼각형 */
.gnb_1dli .bg{
    background:none !important; text-indent:0 !important; width:8px; height:8px;
    top:22px; right:6px; border-right:2px solid var(--lb-muted); border-bottom:2px solid var(--lb-muted);
    transform:rotate(45deg); font-size:0;
}
.gnb_1dli.gnb_al_li_plus .gnb_1da{ padding-right:28px; }

.gnb_2dul{ top:52px; min-width:172px; padding-top:0; }
.gnb_2dul .gnb_2dul_box{
    border:1px solid var(--lb-border); border-top:0;
    border-radius:0 0 var(--lb-radius) var(--lb-radius);
    background:#fff; box-shadow:var(--lb-shadow); overflow:hidden; padding:6px 0;
}
.gnb_2da{ line-height:38px; padding:0 16px; color:var(--lb-ink); font-size:.92em; background:#fff; }
a.gnb_2da:hover, .gnb_2da:focus, .gnb_2da:hover{
    color:var(--lb-primary) !important; background:#f2f6f3 !important; font-weight:600;
}

#gnb .gnb_menu_btn{ background:var(--lb-primary); color:#fff; height:52px; }
#gnb_all .gnb_al_li .gnb_al_a{ color:var(--lb-primary); }
#gnb_all{ border-color:var(--lb-border); box-shadow:var(--lb-shadow); }

/* ---------- 본문 영역 ---------- */
#wrapper{ max-width:1160px; margin:0 auto; padding:0 16px; }
#container{
    background:transparent; border:0; padding:28px 0 40px; min-height:400px;
}
#container_title{
    font-size:1.6em; font-weight:800; margin:6px 0 20px; padding-bottom:14px;
    border-bottom:1px solid var(--lb-border); color:var(--lb-ink);
}

/* 게시판 리스트를 매거진 톤으로 */
#bo_list, #bo_v{ background:transparent; }
.tbl_head01 thead th{
    background:#f3f1ea; border-top:2px solid var(--lb-primary); border-bottom:1px solid var(--lb-border);
    color:var(--lb-ink); font-weight:700;
}
.tbl_head01 td{ border-bottom:1px solid var(--lb-border); }
.tbl_head01 tbody tr:hover{ background:#f7f9f7; }
#bo_v_title{ font-size:1.5em; line-height:1.4; font-weight:800; }
#bo_v_info{ color:var(--lb-muted); border-bottom:1px solid var(--lb-border); }
#bo_v_con{ font-size:1.02em; line-height:1.85; word-break:keep-all; }
#bo_v_con h2{ font-size:1.35em; margin:2em 0 .7em; padding-left:12px; border-left:4px solid var(--lb-accent); }
#bo_v_con h3{ font-size:1.15em; margin:1.6em 0 .5em; }
#bo_v_con p{ margin:0 0 1.1em; }
#bo_v_con ul, #bo_v_con ol{ margin:0 0 1.2em 1.2em; }
#bo_v_con li{ margin-bottom:.4em; }
#bo_v_con img{ max-width:100%; height:auto; border-radius:var(--lb-radius); }
#bo_v_con table{ width:100%; border-collapse:collapse; margin:1.2em 0; }
#bo_v_con th, #bo_v_con td{ border:1px solid var(--lb-border); padding:10px 12px; }
#bo_v_con th{ background:#f3f1ea; }

/* 버튼 */
.btn_submit, .btn_b01, .btn_b02, a.btn01, .btn01{
    background:var(--lb-primary); border-color:var(--lb-primary); color:#fff;
}
.btn_submit:hover, .btn_b01:hover, a.btn01:hover{ background:var(--lb-primary-2); border-color:var(--lb-primary-2); color:#fff; }
.btn_cancel, .btn_b03{ background:#efece4; border-color:var(--lb-border-2); color:var(--lb-ink); }

/* 페이지네이션 */
.pg_current{ background:var(--lb-primary); border-color:var(--lb-primary); }
.pg_page{ border-color:var(--lb-border-2); color:var(--lb-ink); }

/* ---------- 푸터 ---------- */
#ft{ background:#12251d; color:#c3cfc8; border-top:0; margin-top:40px; }
#ft_wr{ max-width:1160px; margin:0 auto; padding:34px 16px 40px; }
#ft h2, #ft_link a, #ft_copy{ color:#c3cfc8; }
#ft a{ color:#e5ece8; }
#ft a:hover{ color:#fff; }
#ft_catch{ display:none; }

/* ---------- 반응형 ---------- */
@media (max-width: 900px){
    .hd_sch_wr{ float:none; width:100%; margin-top:14px; }
    #logo{ float:none; }
    .hd_login{ position:static; float:right; }
    .hd_login li a{ color:rgba(255,255,255,.86); }
    #gnb #gnb_1dul{ white-space:nowrap; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; }
    #gnb #gnb_1dul::-webkit-scrollbar{ display:none; }
    #gnb .gnb_1dli{ float:none; display:inline-block; }
    .gnb_2dul{ display:none !important; } /* 모바일은 가로스크롤 1단 */
    #container_title{ font-size:1.35em; }
}

/* ==========================================================================
   정적 페이지(소개/편집원칙/약관 등) + 푸터
   ========================================================================== */

.lb-page{
    max-width:800px; margin:0 auto; padding:8px 0 24px;
    word-break:keep-all;
}
.lb-page h1{
    font-size:2em; font-weight:800; line-height:1.3;
    margin:0 0 18px; padding-bottom:16px;
    border-bottom:2px solid var(--lb-primary);
}
.lb-page h2{
    font-size:1.3em; font-weight:700; margin:2.2em 0 .7em;
    padding-left:13px; border-left:4px solid var(--lb-accent);
}
.lb-page h3{ font-size:1.1em; margin:1.6em 0 .5em; }
.lb-page p{ margin:0 0 1.15em; }
.lb-page ul, .lb-page ol{ margin:0 0 1.4em 1.3em; padding:0; }
.lb-page li{ margin-bottom:.5em; list-style:disc; }
.lb-page ol li{ list-style:decimal; }
.lb-page a{ text-decoration:underline; text-underline-offset:2px; }
.lb-page hr{ border:0; border-top:1px solid var(--lb-border); margin:2.4em 0 1.2em; }

.lb-page .lb-lead{
    font-size:1.08em; line-height:1.8; color:#33463d;
    background:#f3f6f3; border:1px solid #dfe8e2; border-radius:var(--lb-radius);
    padding:18px 20px; margin-bottom:1.8em;
}
.lb-page .lb-meta{ font-size:.86em; color:var(--lb-muted); }
.lb-page .lb-contact-mail{ font-size:1.15em; font-weight:700; }
.lb-page .lb-contact-mail a{ color:var(--lb-primary); }

.lb-page .lb-table{ width:100%; border-collapse:collapse; margin:0 0 1.6em; font-size:.95em; }
.lb-page .lb-table th, .lb-page .lb-table td{ border:1px solid var(--lb-border); padding:10px 12px; text-align:left; vertical-align:top; }
.lb-page .lb-table thead th{ background:#f3f1ea; font-weight:700; white-space:nowrap; }

/* ---------- 푸터 ---------- */
.lb-ft-top{ overflow:hidden; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,.12); }
.lb-ft-brand{ float:left; max-width:380px; }
.lb-ft-brand .lb-ft-mark{
    display:block; font-family:"Noto Serif KR","Nanum Myeongjo",Georgia,serif;
    font-size:1.35em; font-weight:800; color:#fff; margin-bottom:8px;
}
.lb-ft-brand p{ margin:0; font-size:.88em; line-height:1.75; color:#a8b8b0; }

.lb-ft-nav{ float:right; max-width:520px; text-align:right; }
.lb-ft-nav h2{ font-size:.8em; color:#8fa199; margin:0 0 10px; font-weight:600; letter-spacing:.06em; }
.lb-ft-nav a{
    display:inline-block; margin:0 0 8px 14px; font-size:.9em;
    color:#dbe5e0; text-decoration:none;
}
.lb-ft-nav a:hover{ color:#fff; text-decoration:underline; }

#ft_link{ padding:22px 0 0; text-align:left; }
#ft_link a{ display:inline-block; margin-right:18px; font-size:.9em; color:#e5ece8; text-decoration:none; }
#ft_link a:hover{ text-decoration:underline; }
#ft_link a strong{ color:#fff; }

.lb-ft-disclaimer{
    margin:20px 0 0; padding:16px 18px;
    background:rgba(255,255,255,.05); border-radius:var(--lb-radius);
    font-size:.82em; line-height:1.75; color:#9aaba3;
}
#ft_copy{ padding:22px 0 0; font-size:.84em; color:#8fa199; text-align:left; }

#top_btn{
    background:var(--lb-primary); color:#fff; border:0; border-radius:50%;
    width:44px; height:44px; font-size:16px;
}

@media (max-width: 900px){
    .lb-ft-brand, .lb-ft-nav{ float:none; max-width:none; text-align:left; }
    .lb-ft-nav{ margin-top:22px; }
    .lb-ft-nav a{ margin:0 14px 8px 0; }
    .lb-page h1{ font-size:1.6em; }
}

/* ==========================================================================
   홈(매거진 레이아웃)
   ========================================================================== */

.lb-hero{
    background:linear-gradient(180deg,#f1f5f1 0%, #fbf9f5 100%);
    border:1px solid var(--lb-border);
    border-radius:14px;
    padding:44px 40px 36px;
    margin:6px 0 34px;
}
.lb-hero-title{
    font-size:2.1em; line-height:1.35; font-weight:800; margin:0 0 14px;
    color:var(--lb-primary); letter-spacing:-.02em;
}
.lb-hero-sub{
    font-size:1.02em; line-height:1.8; color:#3d4d45; margin:0 0 22px;
    max-width:660px; word-break:keep-all;
}
.lb-hero-sub strong{ color:var(--lb-ink); border-bottom:2px solid var(--lb-accent); }
.lb-hero-nav{ margin:0 0 18px; }
.lb-hero-nav a{
    display:inline-block; margin:0 8px 8px 0; padding:8px 15px;
    background:#fff; border:1px solid var(--lb-border-2); border-radius:999px;
    color:var(--lb-ink); font-size:.92em; font-weight:600; text-decoration:none;
    transition:all .15s ease;
}
.lb-hero-nav a:hover{ background:var(--lb-primary); border-color:var(--lb-primary); color:#fff; }
.lb-hero-note{ margin:0; font-size:.86em; color:var(--lb-muted); }
.lb-hero-note a{ color:var(--lb-primary); text-decoration:underline; }

/* ---------- 대분류 섹션 ---------- */
.lb-sec{
    background:var(--lb-surface); border:1px solid var(--lb-border);
    border-radius:12px; padding:26px 28px; margin-bottom:20px;
}
.lb-sec-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px; }
.lb-sec-head h2{ margin:0; font-size:1.35em; font-weight:800; }
.lb-sec-head h2 a{ color:var(--lb-ink); text-decoration:none; }
.lb-sec-head h2 a:hover{ color:var(--lb-primary); }
.lb-sec-more{ flex:none; font-size:.86em; color:var(--lb-primary); text-decoration:none; font-weight:600; white-space:nowrap; }
.lb-sec-more:hover{ text-decoration:underline; }

.lb-sec-intro{
    margin:0 0 16px; font-size:.94em; line-height:1.75; color:#59665f; word-break:keep-all;
}

.lb-chips{ margin:0 0 16px; padding-bottom:16px; border-bottom:1px solid var(--lb-border); }
.lb-chips a{
    display:inline-block; margin:0 6px 6px 0; padding:5px 12px;
    background:#f4f2ec; border-radius:6px;
    font-size:.85em; color:#4a5951; text-decoration:none;
}
.lb-chips a:hover{ background:var(--lb-primary); color:#fff; }

.lb-sec-list{ margin:0; padding:0; list-style:none; }
.lb-sec-list li{
    display:flex; align-items:center; gap:12px;
    padding:10px 0; border-bottom:1px dashed var(--lb-border);
}
.lb-sec-list li:last-child{ border-bottom:0; }
.lb-sec-list li > a{ flex:1; min-width:0; text-decoration:none; color:var(--lb-ink); display:flex; align-items:center; gap:10px; }
.lb-sec-list li > a:hover .lb-tit{ color:var(--lb-primary); text-decoration:underline; }
.lb-sec-list .lb-ca{
    flex:none; font-size:.78em; color:var(--lb-primary); font-weight:700;
    background:#eef4f0; padding:3px 8px; border-radius:4px;
}
.lb-sec-list .lb-tit{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lb-sec-list time{ flex:none; font-size:.82em; color:var(--lb-muted); }

.lb-sec-empty{
    margin:0; padding:16px 18px; background:#faf8f2; border:1px dashed var(--lb-border-2);
    border-radius:8px; font-size:.9em; color:var(--lb-muted);
}
.lb-sec-empty a{ color:var(--lb-primary); text-decoration:underline; }

@media (max-width: 900px){
    .lb-hero{ padding:30px 20px 26px; }
    .lb-hero-title{ font-size:1.6em; }
    .lb-sec{ padding:20px 18px; }
    .lb-sec-head{ flex-wrap:wrap; }
    .lb-sec-list li{ flex-wrap:wrap; gap:6px; }
    .lb-sec-list .lb-tit{ white-space:normal; }
}
