.elementor-33228 .elementor-element.elementor-element-aacc18c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-75b0d5a */@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

:root {
    --p: #0047b3; --pd: #00235a; --ac: #ff4d4d; --txt: #1a1a1a; --brd: #e1e8f0; --hh: 75px;
}

/* 🔴 엘리멘터 여백 강제 무력화 */
* { box-sizing: border-box; }
#bs-main-container, .bs-main-layout { margin: 0 auto !important; width: 100% !important; }
ul, li { margin: 0 !important; padding: 0 !important; list-style: none !important; }

/* 🔵 [기기별 격리 설계] */

/* 1. 와이드 (1441px 이상) */
@media (min-width: 1441px) {
    .bs-nav-container, .bs-main-layout { max-width: 1400px; }
    .is-desktop { display: flex !important; }
    .is-mobile { display: none !important; }
    .bs-main-layout { display: grid; grid-template-columns: 1fr 320px; gap: 40px; padding: 30px 0; }
    .bs-sidebar { order: 2; }
}

/* 2. 데스크톱 (1025px ~ 1440px) */
@media (min-width: 1025px) and (max-width: 1440px) {
    .bs-nav-container, .bs-main-layout { max-width: 1150px; }
    .is-desktop { display: flex !important; }
    .is-mobile { display: none !important; }
    .bs-main-layout { display: grid; grid-template-columns: 1fr 300px; gap: 30px; padding: 25px 0; }
    .bs-sidebar { order: 2; }
}

/* 3. 태블릿 (769px ~ 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    .is-desktop { display: none !important; }
    .is-mobile { display: flex !important; }
    .bs-main-layout { display: flex; flex-direction: column; padding: 20px 30px; }
    .bs-sidebar { order: -1; margin-bottom: 30px; } /* 전자책 상단 배치 */
    .bs-widget-card { max-width: 500px; margin: 0 auto; }
}

/* 4. 모바일 (768px 이하) */
@media (max-width: 768px) {
    .is-desktop { display: none !important; }
    .is-mobile { display: flex !important; }
    .bs-main-layout { display: flex; flex-direction: column; padding: 15px; }
    .bs-sidebar { order: -1; margin-bottom: 25px; } /* 전자책 상단 배치 */
    
    /* 모바일 폰트 축소 */
    .bs-logo-text { font-size: 1.2rem !important; }
    .board-header h3 { font-size: 1rem !important; }
    .board-list a { font-size: 0.9rem !important; }
}

/* 🎨 전문 디자인 요소 (공통) */
.bs-navbar { position: fixed; top: 0; left: 0; width: 100%; height: var(--hh); background: #fff; z-index: 99999; border-bottom: 1px solid var(--brd); display: flex; align-items: center; }
.bs-nav-container { width: 100%; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; padding: 0 20px; }
.bs-header-spacer { height: var(--hh); }

/* 로고 정밀 디자인 */
.bs-logo-wrapper { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.bs-logo-icon-pro { width: 36px; height: 36px; background: linear-gradient(135deg, var(--pd), var(--p)); border-radius: 8px; position: relative; color: #fff; }
.bs-logo-icon-pro .L-b { position: absolute; left: 7px; top: 3px; font-weight: 900; font-size: 1.2rem; }
.bs-logo-icon-pro .L-s { position: absolute; right: 5px; bottom: 4px; font-weight: 900; font-size: 0.8rem; }
.bs-logo-text { font-weight: 900; font-size: 1.5rem; letter-spacing: -1px; color: var(--txt); }
.bs-logo-text span { color: var(--p); }

/* 메뉴 스타일 */
.bs-nav-menu { gap: 25px; align-items: center; }
.bs-nav-menu a { text-decoration: none; color: #4a5568; font-weight: 700; font-size: 1rem; }
.auth-divider { width: 1px; height: 14px; background: var(--brd); margin: 0 10px; }
.auth-link { color: #718096 !important; font-size: 0.95rem !important; }

/* 🎁 전자책 위젯 클리닝 및 정렬 */
.bs-widget-card { background: #fff; border: 1px solid var(--brd); border-radius: 12px; padding: 30px 20px; text-align: center; border-top: 5px solid var(--p); }
.ebook-box { position: relative; width: 180px; margin: 20px auto; }
.ebook-box img { width: 100%; filter: drop-shadow(0 15px 25px rgba(0,0,0,0.1)); }
.free-label { position: absolute; top: -10px; right: -10px; background: var(--ac); color: #fff; font-size: 0.75rem; font-weight: 900; padding: 4px 10px; border-radius: 4px; transform: rotate(10deg); z-index: 5; }

/* 🏢 게시판 왼쪽 정렬 20px 고정 */
.board-card { background: #fff; border: 1px solid var(--brd); border-radius: 12px; overflow: hidden; }
.board-header { padding: 15px 20px; border-bottom: 1px solid var(--brd); background: #f8fafc; display: flex; justify-content: space-between; align-items: center; }
.board-header h3 { margin: 0; font-weight: 900; text-align: left; }
.board-list li { padding: 14px 20px !important; border-bottom: 1px solid #f1f5f9; display: flex !important; align-items: center !important; justify-content: flex-start !important; }
.board-list a { font-weight: 700; color: #333; text-decoration: none; text-align: left !important; flex: 1; }

/* 📱 모바일 토글 */
.bs-mobile-toggle { flex-direction: column; gap: 5px; cursor: pointer; }
.bs-mobile-toggle span { width: 24px; height: 3px; background: var(--txt); border-radius: 2px; }/* End custom CSS */