.dm-site-shell{--dm-shell-navy:#08275e;--dm-shell-line:#e5e9f0;--font:var(--bs-body-font-family,'Pretendard Variable',sans-serif)}
.dm-site-shell .dm-site-header,.dm-site-shell .site-footer{font-family:var(--bs-body-font-family,'Pretendard Variable',sans-serif);letter-spacing:-.01em}
.dm-site-shell .dm-site-header{position:relative;background:#fff;border-bottom:1px solid var(--dm-shell-line);z-index:1040}
.dm-site-shell .dm-site-header .dm-shell-container.container{display:flex;flex-wrap:wrap;align-items:center;gap:12px;max-width:1280px;width:100%;margin:auto;padding:12px 24px}
.dm-site-shell .dm-site-header .logo{font-size:26px;font-weight:700;color:var(--dm-shell-navy);white-space:nowrap;line-height:1.4;letter-spacing:-.04em;text-decoration:none}
.dm-site-shell .dm-site-header .gnb{display:flex;align-items:center;flex:1 1 auto;gap:10px;margin:0;min-width:0}
.dm-site-shell .dm-category{position:relative;display:flex;align-items:center;gap:2px}
.dm-site-shell .dm-site-header .dm-category-link{padding:10px 0;font-size:17px;font-weight:600;color:#172747;white-space:nowrap;text-decoration:none}
.dm-site-shell .dm-category-toggle{display:flex;align-items:center;justify-content:center;background:transparent;border:0;padding:8px 3px;width:22px;height:40px;font-size:10px;color:#697386;border-radius:6px}
.dm-site-shell .dm-category-toggle:hover,.dm-site-shell .dm-category-toggle[aria-expanded=true]{background:#edf2fd;color:#1d5be0}
.dm-site-shell .dm-subnav{top:100%;left:0;min-width:230px;max-width:calc(100vw - 32px);padding:8px;border:1px solid var(--dm-shell-line);border-radius:12px;box-shadow:0 10px 30px #08275e1a;margin-top:8px;z-index:1050}
.dm-site-shell .dm-site-header .dm-subnav .dropdown-item{font-size:15px;color:#172747;padding:12px;white-space:normal;line-height:1.5;border-radius:6px;min-height:44px}
.dm-site-shell .dm-site-header .search{display:flex;align-items:center;gap:4px;flex:0 1 165px;min-width:140px;height:44px;margin:0;padding:0 4px 0 12px;background:#f3f5f9;border-radius:10px}
.dm-site-shell .dm-site-header .search input{flex:1;min-width:0;background:transparent;border:0;outline:0;font-size:14px;font-family:inherit;color:#111827}
.dm-site-shell .dm-site-header .search button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#374151;border-radius:8px}
.dm-site-shell .dm-site-header .util{display:flex;align-items:center;gap:10px;margin:0}
.dm-site-shell .dm-site-header .util>a{font-size:14px;color:#4b5563;white-space:nowrap;text-decoration:none}
.dm-site-shell .dm-site-header .util .kakao{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:10px;background:#fee500;color:#191600;font-weight:600}
.dm-site-shell .mobile-menu{display:none}
.dm-site-shell .site-footer{margin-top:56px;padding:36px 0;background:#fff;border-top:1px solid var(--dm-shell-line);font-size:13px;color:#6b7280}
.dm-site-shell .site-footer>.container{max-width:1280px;width:100%;margin:auto;padding:0 24px}
.dm-site-shell .site-footer .footer-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.dm-site-shell .site-footer .footer-logo{font-size:22px;font-weight:700;color:var(--dm-shell-navy);text-decoration:none}
.dm-site-shell .footer-nav{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.dm-site-shell .footer-nav>a{color:#4b5563;font-size:13px;text-decoration:none}
.dm-site-shell .footer-nav>a.strong{font-weight:700;color:#172747}
.dm-site-shell .site-footer .footer-bottom{display:flex;gap:18px;margin-top:20px;line-height:1.8;color:#6b7280;font-size:13px}
.dm-site-shell .footer-nav .sns{display:flex;align-items:center;gap:8px}
.dm-site-shell .footer-nav .sns a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#f3f5f9;color:#374151;font-weight:600;text-decoration:none}
.dm-site-shell .dm-site-header a:focus-visible,.dm-site-shell .dm-site-header button:focus-visible,.dm-site-shell .dm-site-header summary:focus-visible{outline:3px solid #1d5be0;outline-offset:2px}
@media(max-width:1199px){.dm-site-shell .dm-site-header .gnb{order:4;flex:1 1 100%;justify-content:center}.dm-site-shell .dm-site-header .search{margin-left:auto}}
@media(max-width:767px){
.dm-site-shell .dm-site-header .dm-shell-container.container{padding:10px 16px;gap:10px}
.dm-site-shell .dm-site-header .logo{font-size:24px}
.dm-site-shell .dm-site-header .gnb{display:none}
.dm-site-shell .dm-site-header .util{order:2;margin-left:auto;gap:8px}
.dm-site-shell .dm-site-header .util>a:not(.kakao){display:none}
.dm-site-shell .dm-site-header .util .kakao{font-size:13px;padding:0 10px}
.dm-site-shell .dm-site-header .search{order:4;flex:1 1 100%;width:100%;min-width:0;margin:0}
.dm-site-shell .mobile-menu{display:block;order:3;position:relative;margin:0}
.dm-site-shell .mobile-menu>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:24px;cursor:pointer;color:#172747}
.dm-site-shell .mobile-menu>summary::marker{content:''}
.dm-site-shell .dm-mobile-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain;padding:12px 12px max(24px,env(safe-area-inset-bottom));border:1px solid var(--dm-shell-line);border-radius:12px;background:#fff;box-shadow:0 12px 30px #08275e24;z-index:1055}
.dm-site-shell .dm-mobile-account{display:flex;flex-wrap:wrap;gap:10px;padding:12px 8px;border-bottom:1px solid var(--dm-shell-line)}
.dm-site-shell .dm-mobile-account a{font-size:14px;color:#172747}
.dm-site-shell .dm-mobile-panel .dm-category{display:flex;flex-wrap:wrap;border-bottom:1px solid #f0f2f6}
.dm-site-shell .dm-mobile-panel .dm-category-link{flex:1;padding:14px 8px;font-size:17px;white-space:normal}
.dm-site-shell .dm-mobile-panel .dm-category-toggle{width:44px;height:44px;font-size:12px}
.dm-site-shell .dm-mobile-panel .dm-subnav{position:static!important;transform:none!important;inset:auto!important;flex:1 1 100%;width:100%;min-width:0;margin:0 0 8px;padding:6px;background:#f6f8fb;box-shadow:none;border:0}
.dm-site-shell .site-footer>.container{padding:0 16px}
.dm-site-shell .footer-nav{gap:12px}
.dm-site-shell .footer-nav .sns{flex:1 1 100%;margin:0}
}

/* 강의 분류와 고객지원의 영역을 나누고 상담 버튼 높이를 약 15% 줄입니다. */
.dm-site-shell .dm-site-header .logo{margin-right:20px}
.dm-site-shell .dm-site-header .gnb{gap:12px}
.dm-site-shell .dm-site-header .dm-support-nav{margin-right:8px;padding-right:12px;border-right:1px solid #c3c6cc}
.dm-site-shell .dm-site-header .dm-support-nav .dm-category-link{font-size:15px;font-weight:500}
.dm-site-shell .dm-site-header .util .kakao{height:37px;min-height:37px;line-height:1.2}
.dm-site-shell .dm-business-check{display:inline-block;margin-left:6px;padding:2px 7px;border:1px solid #a9b2c2;border-radius:4px;font-size:12px;color:#253b61;background:#fff;vertical-align:baseline}
.dm-site-shell .dm-course-art{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;height:100%;min-height:190px;width:100%;flex:1 1 auto;padding:24px 28px;overflow:hidden;background:#102654;color:#fff;text-align:left}
.dm-site-shell .dm-course-art--practice{background:#1d5be0}
.dm-site-shell .dm-course-art--package{background:#e8eef9;color:#102654}
.dm-site-shell .dm-cover-kind{position:relative;z-index:1;display:inline-block;padding:4px 10px;border:1px solid #ffffff66;border-radius:30px;font-size:12px;font-weight:600;line-height:1.4;color:inherit}
.dm-site-shell .dm-course-art--package .dm-cover-kind{border-color:#10265444}
.dm-site-shell .dm-cover-title{position:relative;z-index:1;display:block;max-width:90%;font-size:25px;font-weight:700;letter-spacing:-.035em;line-height:1.3;word-break:keep-all;overflow-wrap:anywhere}
.dm-site-shell .dm-cover-sub{position:relative;z-index:1;display:block;font-size:12px;color:inherit;opacity:.85}
.dm-site-shell .dm-cover-mark{position:absolute;right:-5px;bottom:-20px;font-size:140px;line-height:1;opacity:.08;transform:rotate(-12deg)}
.dm-site-shell .dm-search-page{max-width:1160px}
.dm-site-shell .dm-search-page h1{font-size:28px;margin-bottom:24px}
.dm-site-shell .dm-search-form{display:flex;gap:8px;max-width:700px;margin-bottom:20px}
.dm-site-shell .dm-search-form input{width:100%;min-width:0;border:1px solid #a9b2c2;border-radius:8px;padding:12px 14px;font-size:16px}
.dm-site-shell .dm-search-form button{white-space:nowrap;margin:0}
.dm-site-shell .dm-search-summary,.dm-site-shell .dm-search-note{color:#596579;font-size:14px}
.dm-site-shell .dm-search-section{margin-top:32px;padding:24px;border:1px solid #c3c6cc;border-radius:14px;background:#fff}
.dm-site-shell .dm-search-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.dm-site-shell .dm-search-heading h2{font-size:22px;margin:0}
.dm-site-shell .dm-search-heading a{font-size:14px;white-space:nowrap}
.dm-site-shell .dm-search-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.dm-site-shell .dm-search-product{display:block;border:1px solid #c3c6cc;border-radius:12px;overflow:hidden;color:#172747}
.dm-site-shell .dm-search-product .dm-course-art{height:190px}
.dm-site-shell .dm-search-product-body{padding:18px}
.dm-site-shell .dm-search-product-body h3{font-size:17px;line-height:1.5;margin-bottom:12px}
.dm-site-shell .dm-search-product-body>span{font-size:18px;font-weight:700}
.dm-site-shell .dm-search-posts>a{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #ccd0d3;color:#172747}
.dm-site-shell .dm-search-posts>a:last-child{border-bottom:0}
.dm-site-shell .dm-search-board{flex:0 0 130px;font-size:13px;color:#596579}
.dm-site-shell .dm-search-posts strong{flex:1;font-size:16px;font-weight:500;overflow-wrap:anywhere}
.dm-site-shell .dm-search-posts time{font-size:12px;color:#596579;white-space:nowrap}
.dm-site-shell .dm-search-empty{padding:20px 0;color:#596579;margin:0}
@media(max-width:1199px){.dm-site-shell .dm-site-header .logo{margin-right:12px}}
@media(max-width:767px){
.dm-site-shell .dm-site-header .logo{margin-right:0}
.dm-site-shell .dm-site-header .dm-support-nav{display:none}
.dm-site-shell .dm-site-header .util .kakao{height:37px;min-height:37px}
.dm-site-shell .dm-search-section{padding:16px}
.dm-site-shell .dm-search-products{grid-template-columns:minmax(0,1fr)}
.dm-site-shell .dm-search-posts>a{flex-wrap:wrap;gap:6px 12px}
.dm-site-shell .dm-search-board{flex:1}
.dm-site-shell .dm-search-posts strong{order:3;flex:1 1 100%}
.dm-site-shell .dm-search-heading h2{font-size:20px}
}

/* 강좌 목록 표지는 메인과 같은 공통 템플릿을 사용합니다. */
.dm-site-shell .dm-list-cover{width:100%;height:220px;overflow:hidden;border-radius:inherit}
.dm-site-shell .dm-list-cover .dm-course-art{min-height:0;padding:22px 24px}
.dm-site-shell .dm-list-cover .dm-cover-title{max-width:100%;font-size:clamp(20px,1.65vw,25px)}
.dm-site-shell .sct_li>.dm-list-cover,.dm-site-shell .sct_li>a:has(.dm-list-cover){display:block;width:100%}
@media(max-width:767px){.dm-site-shell .dm-list-cover{height:210px}.dm-site-shell .dm-list-cover .dm-cover-title{font-size:24px}}

/* 급수·과정·강사를 함께 표시하여 비슷한 강좌를 구분합니다. */
.dm-site-shell .dm-course-art.dm-cover-detailed{justify-content:flex-start;gap:7px;padding:20px 24px 70px}
.dm-site-shell .dm-cover-meta{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-bottom:10px}
.dm-site-shell .dm-cover-year{font-size:11px;font-weight:500;padding:3px 7px;border-radius:5px;background:#ffffff1a;color:inherit;white-space:nowrap}
.dm-site-shell .dm-course-art--package .dm-cover-year{background:#1026540d}
.dm-site-shell .dm-cover-detailed .dm-cover-title{max-width:100%;margin:0;line-height:1.25}
.dm-site-shell .dm-cover-lesson{position:relative;z-index:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:100%;font-size:16px;font-weight:500;line-height:1.4;color:inherit;opacity:.93}
.dm-site-shell .dm-cover-teacher{position:absolute;right:22px;bottom:15px;z-index:1;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:inherit;text-align:right}
.dm-site-shell .dm-cover-teacher small{display:block;margin-top:1px;font-size:10px;font-weight:400;opacity:.8;line-height:1.3}
.dm-site-shell .dm-cover-avatar{display:block!important;flex:none;width:44px!important;height:44px!important;min-width:44px;max-width:44px!important;object-fit:cover!important;object-position:50% 25%;border:2px solid #ffffffcc;border-radius:50%!important;background:#fff;box-shadow:0 2px 6px #00000018}
.dm-site-shell .dm-cover-detailed .dm-cover-mark{right:auto;left:-10px;bottom:-25px;font-size:120px;opacity:.055}
.dm-site-shell .dm-list-cover .dm-cover-detailed{padding:18px 20px 68px}
.dm-site-shell .dm-list-cover .dm-cover-meta{margin-bottom:8px}
.dm-site-shell .dm-list-cover .dm-cover-lesson{font-size:15px}
.dm-site-shell .dm-search-product .dm-cover-detailed{gap:5px;padding:16px 20px 64px}
.dm-site-shell .dm-search-product .dm-cover-meta{margin-bottom:5px}
.dm-site-shell .dm-search-product .dm-cover-title{font-size:23px}
@media(max-width:767px){.dm-site-shell .dm-cover-detailed .dm-cover-title{font-size:25px}.dm-site-shell .dm-cover-lesson{font-size:16px}.dm-site-shell .dm-cover-avatar{width:44px!important;height:44px!important}}

/* 목록 표지 높이를 약 10% 줄이고 검색 화면의 경계를 부드럽게 정리합니다. */
.dm-site-shell .dm-list-cover{height:198px}
.dm-site-shell .dm-search-page{padding-top:36px!important;padding-bottom:16px!important}
.dm-site-shell .dm-search-intro h1{font-size:28px;letter-spacing:-.025em;margin-bottom:8px;color:#172747}
.dm-site-shell .dm-search-intro p{font-size:15px;color:#637086;margin:0 0 24px}
.dm-site-shell .dm-search-form{max-width:none;align-items:center;gap:10px;background:#f4f7fb;border:1px solid #e5e9f0;border-radius:12px;padding:8px 10px 8px 18px;margin-bottom:22px}
.dm-site-shell .dm-search-form>i{font-size:18px;color:#68768e}
.dm-site-shell .dm-search-form input{border:0;background:transparent;padding:8px 0;font-size:15px;outline:0}
.dm-site-shell .dm-search-form:focus-within{outline:2px solid #1d5be0;outline-offset:2px}
.dm-site-shell .dm-search-form button{height:42px;padding:0 24px;border-radius:8px;font-size:14px}
.dm-site-shell .dm-search-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.dm-site-shell .dm-search-summary{margin:0;font-size:15px;color:#657086}
.dm-site-shell .dm-search-summary strong{color:#172747;font-weight:600}
.dm-site-shell .dm-search-jumps{display:flex;gap:8px}
.dm-site-shell .dm-search-jumps a{display:flex;align-items:center;gap:5px;padding:7px 12px;border-radius:7px;background:#edf2fa;color:#334969;font-size:13px}
.dm-site-shell .dm-search-section{margin-top:26px;padding:24px;border-color:#e5e9f0;background:#f8fafd;box-shadow:0 4px 18px #08275e07}
.dm-site-shell .dm-search-heading{margin-bottom:18px}
.dm-site-shell .dm-search-heading h2{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:21px;color:#172747;scroll-margin-top:24px}
.dm-site-shell .dm-result-count{font-size:12px;font-weight:400;color:#788399}
.dm-site-shell .dm-search-heading>a{font-size:13px;color:#566d8f}
.dm-site-shell .dm-search-products{gap:18px}
.dm-site-shell .dm-search-product{background:#fff;border-color:#e5e9f0;box-shadow:0 3px 10px #08275e06;transition:box-shadow .15s ease}
.dm-site-shell .dm-search-product[hidden]{display:none}
.dm-site-shell .dm-search-product:hover{box-shadow:0 6px 18px #08275e13;color:#172747}
.dm-site-shell .dm-search-product-body{padding:16px 18px}
.dm-site-shell .dm-search-product-body h3{font-size:16px;font-weight:600;line-height:1.45;margin-bottom:12px;min-height:46px}
.dm-site-shell .dm-search-product-body>span{font-size:18px}
.dm-site-shell .dm-search-expand{display:block;margin:20px auto 0;padding:9px 18px;background:#fff;border:1px solid #e5e9f0;border-radius:8px;font-size:13px;color:#466083}
.dm-site-shell .dm-search-expand[hidden]{display:none}
.dm-site-shell .dm-search-board-section{background:#f8fafd}
.dm-site-shell .dm-search-note{font-size:12px;color:#788399;margin:0 0 14px}
.dm-site-shell .dm-search-posts{background:#fff;border-radius:10px;padding:0 18px}
.dm-site-shell .dm-search-posts>a{gap:18px;padding:18px 0;border-color:#edf0f5}
.dm-site-shell .dm-search-board{flex:0 0 140px;font-size:12px;line-height:1.45;color:#69768c}
.dm-site-shell .dm-search-posts strong{font-size:15px;font-weight:500;line-height:1.6}
.dm-site-shell .dm-search-post-arrow{font-size:11px;color:#8b96a8}
.dm-site-shell .dm-search-empty{font-size:14px;text-align:center;padding:30px 0;color:#788399}
@media(max-width:767px){
.dm-site-shell .dm-list-cover{height:189px}
.dm-site-shell .dm-list-cover .dm-cover-meta{margin-bottom:4px}
.dm-site-shell .dm-list-cover .dm-cover-detailed{gap:6px;padding-top:15px}
.dm-site-shell .dm-search-page{padding-top:24px!important}
.dm-site-shell .dm-search-intro h1{font-size:25px}
.dm-site-shell .dm-search-form{padding-left:12px;gap:8px}
.dm-site-shell .dm-search-form button{padding:0 16px}
.dm-site-shell .dm-search-toolbar{gap:14px}
.dm-site-shell .dm-search-section{padding:16px;margin-top:22px}
.dm-site-shell .dm-search-heading h2{font-size:19px;gap:6px}
.dm-site-shell .dm-search-heading>a{font-size:12px}
.dm-site-shell .dm-result-count{font-size:11px}
.dm-site-shell .dm-search-posts{padding:0 14px}
.dm-site-shell .dm-search-posts>a{gap:7px 12px}
.dm-site-shell .dm-search-board{flex:1}
.dm-site-shell .dm-search-posts strong{order:3;flex:1 1 100%;font-size:15px}
.dm-site-shell .dm-search-post-arrow{display:none}
}
@media(prefers-reduced-motion:reduce){.dm-site-shell .dm-search-product{transition:none}}

.dm-site-shell .dm-cover-avatar-frame{display:block;flex:none;width:44px;height:44px;overflow:hidden;border:2px solid #ffffffcc;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000018}
.dm-site-shell .dm-cover-avatar-frame .dm-cover-avatar{border:0;box-shadow:none;border-radius:0!important;object-position:65% 20%;transform:scale(1.8);transform-origin:62% 30%}

@media(max-width:767px){
.dm-site-shell .dm-mobile-account{align-items:center;gap:16px}
.dm-site-shell .dm-mobile-account .dm-mobile-classroom-button{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:8px 16px;border-radius:8px;background:#2451d6;color:#fff;font-size:14px;font-weight:600;text-decoration:none;margin-left:auto}
.dm-site-shell .dm-mobile-account .dm-mobile-classroom-button:hover{background:#163dac;color:#fff}
}

/* PC에서 페이지 길이에 따른 스크롤바 유무가 헤더의 중앙 정렬을 바꾸지 않도록 합니다. */
@media(min-width:768px){
 html{scrollbar-gutter:stable}
 @supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
}
/* 색상만 전환하고 글꼴 크기·여백·위치에는 전환 효과를 적용하지 않습니다. */
.dm-site-shell .dm-site-header a,.dm-site-shell .dm-site-header button,.dm-site-shell .dm-site-header summary{transition-property:color,background-color,border-color;transition-duration:.15s}

/* 모바일 전체 메뉴의 계정 버튼(로그인·회원가입 / 로그아웃·내 강의실·관리자) — 대표색 #2451d6 */
.dm-site-shell .dm-mobile-account-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;padding:14px 8px}
.dm-site-shell .dm-mobile-account-main .dm-mobile-btn{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:0 12px;border-radius:10px;border:1px solid transparent;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap}
.dm-site-shell .dm-mobile-account-main .dm-mobile-btn-solid{background:#2451d6;border-color:#2451d6;color:#fff}
.dm-site-shell .dm-mobile-account-main .dm-mobile-btn-solid:hover{background:#1b3fae;border-color:#1b3fae;color:#fff}
.dm-site-shell .dm-mobile-account-main .dm-mobile-btn-outline{background:#fff;border-color:#2451d6;color:#2451d6}
.dm-site-shell .dm-mobile-account-main .dm-mobile-btn-outline:hover{background:#eef2ff;color:#1b3fae}
.dm-site-shell .dm-mobile-account-main .dm-mobile-btn-ghost{background:#f3f5f9;border-color:#e3e7ef;color:#3d4556;font-weight:600}
.dm-site-shell .dm-mobile-account-main .dm-mobile-btn-ghost:hover{background:#e9edf5;color:#172747}
.dm-site-shell .dm-mobile-account-main .dm-mobile-btn:focus-visible{outline:3px solid rgba(36,81,214,.4);outline-offset:2px}

/* 강사 전용 메뉴는 공통 하단에 배치하고 위쪽으로 펼칩니다. */
.dm-site-shell .dm-footer-teacher{position:relative;color:#4b5563;font-size:13px}
.dm-site-shell .dm-footer-teacher>summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;padding:10px 0}
.dm-site-shell .dm-footer-teacher>summary::-webkit-details-marker{display:none}
.dm-site-shell .dm-footer-teacher>summary i{font-size:10px}
.dm-site-shell .dm-footer-teacher-links{position:absolute;bottom:100%;left:0;z-index:20;min-width:140px;padding:6px;background:#fff;border:1px solid #dce1e8;border-radius:8px;box-shadow:0 6px 20px rgba(15,30,60,.12)}
.dm-site-shell .dm-footer-teacher-links a{display:block;padding:10px 12px;color:#253046;white-space:nowrap;text-decoration:none}
.dm-site-shell .dm-footer-teacher-links a:hover{background:#f0f3f8;border-radius:4px}
.dm-site-shell .dm-footer-teacher>summary:focus-visible{outline:2px solid #2451d6;outline-offset:3px}

/* 학습 도구 메뉴 추가: PC 글자 크기는 유지하고 간격·검색 폭만 정리합니다. */
@media(min-width:1200px){
.dm-site-shell .dm-site-header .dm-shell-container.container{gap:8px;padding-right:20px;padding-left:20px}
.dm-site-shell .dm-site-header .gnb{gap:7px}
.dm-site-shell .dm-site-header .dm-category-toggle{width:18px;padding-right:1px;padding-left:1px}
.dm-site-shell .dm-site-header .search{flex-basis:120px;min-width:110px}
.dm-site-shell .dm-site-header .util{gap:8px}
.dm-site-shell .dm-site-header .dm-support-nav{margin-right:4px;padding-right:8px}
}

/* 관리자·카톡 상담: 접근성 이름과 도움말을 갖춘 간결한 아이콘 링크. */
.dm-site-shell .dm-site-header .util .dm-admin-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:9px;background:#f3f5f9;color:#4b5563;font-size:19px}
.dm-site-shell .dm-site-header .util .dm-admin-icon:hover{background:#e9edf5;color:#172747}
.dm-site-shell .dm-site-header .util .kakao{flex:0 0 40px;width:40px;height:40px;min-height:40px;padding:0;gap:0;font-size:19px}
.dm-site-shell .dm-mobile-account-main .dm-admin-icon{flex:0 0 44px;width:44px;padding:0;font-size:19px}
@media(max-width:767px){.dm-site-shell .dm-site-header .util .dm-admin-icon{display:none}.dm-site-shell .dm-site-header .util .kakao{flex-basis:44px;width:44px;height:44px;min-height:44px}}

/* 공식 카카오톡 채널 심볼은 변형 없이 로컬 원본으로 표시합니다. */
.dm-site-shell .dm-site-header .util .kakao{background:transparent;border-radius:10px;overflow:hidden}
.dm-site-shell .dm-site-header .util .kakao img{display:block;width:40px;height:40px;object-fit:contain}
/* PC: 메뉴·검색·계정 도구의 정렬과 높이를 통일합니다. */
@media(min-width:1200px){
.dm-site-shell .dm-site-header .dm-shell-container.container{display:grid;grid-template-columns:auto auto minmax(110px,1fr) auto;column-gap:16px;row-gap:0;min-height:76px;padding-top:14px;padding-bottom:14px}
.dm-site-shell .dm-site-header .logo{margin-right:28px}
.dm-site-shell .dm-site-header .gnb{order:initial;gap:14px;min-width:0;flex:none}
.dm-site-shell .dm-site-header .dm-category-link{display:inline-flex;align-items:center;min-height:40px;padding-top:0;padding-bottom:0}
.dm-site-shell .dm-site-header .search{width:100%;max-width:190px;height:40px;min-width:110px;margin:0 0 0 auto;padding-left:12px}
.dm-site-shell .dm-site-header .search input{font-size:13px}
.dm-site-shell .dm-site-header .util{gap:10px;min-height:40px;justify-content:flex-end}
.dm-site-shell .dm-site-header .util>a{display:inline-flex;align-items:center;min-height:40px}
.dm-site-shell .dm-site-header .dm-support-nav{margin-right:2px;padding-right:12px;border-color:#e0e5ee}
}
@media(min-width:1200px) and (max-width:1279px){.dm-site-shell .dm-site-header .dm-shell-container.container{column-gap:10px}.dm-site-shell .dm-site-header .gnb{gap:7px}.dm-site-shell .dm-site-header .util{gap:8px}.dm-site-shell .dm-site-header .logo{margin-right:22px}}
@media(max-width:767px){.dm-site-shell .dm-site-header .util .kakao img{width:44px;height:44px}}

/* 카카오 채널 버튼을 기존 대비 15% 축소합니다. */
.dm-site-shell .dm-site-header .util .kakao{flex-basis:34px;width:34px;height:34px;min-height:34px}
.dm-site-shell .dm-site-header .util .kakao img{width:34px;height:34px}
@media(max-width:767px){.dm-site-shell .dm-site-header .util .kakao{flex-basis:37.4px;width:37.4px;height:37.4px;min-height:37.4px}.dm-site-shell .dm-site-header .util .kakao img{width:37.4px;height:37.4px}}

/* 모바일 강의 목록: 중첩 컨테이너 여백을 제거해 바깥 좌우30px을15px로 축소. */
@media(max-width:767px){.shop-list .dm-course-list>.container{padding-left:0;padding-right:0}}

/* 교재 메뉴 추가: 글자를 줄이지 않고 PC 헤더를 두 행으로 정리. */
@media(min-width:1200px){
.dm-site-shell .dm-site-header .dm-shell-container.container{grid-template-columns:auto minmax(180px,1fr) auto;row-gap:10px;column-gap:24px}
.dm-site-shell .dm-site-header .logo{grid-column:1;grid-row:1;margin-right:0}
.dm-site-shell .dm-site-header .search{grid-column:2;grid-row:1;max-width:420px;margin:0 auto}
.dm-site-shell .dm-site-header .util{grid-column:3;grid-row:1}
.dm-site-shell .dm-site-header .gnb{grid-column:1/-1;grid-row:2;justify-content:center;flex-wrap:wrap;gap:22px;border-top:1px solid #e7ebf1;padding-top:10px;margin:0}
}

/* PC eBook 메뉴: 로고/메뉴/검색/계정을 한 행에 유지, 모바일 규칙은 변경하지 않음. */
@media(min-width:1024px){
.dm-site-shell .dm-site-header .dm-shell-container.container{display:grid;grid-template-columns:auto auto minmax(80px,1fr) auto;column-gap:14px;row-gap:0;padding-left:20px;padding-right:20px}
.dm-site-shell .dm-site-header .logo{grid-column:1;grid-row:1;margin-right:8px}
.dm-site-shell .dm-site-header .gnb{grid-column:2;grid-row:1;order:initial;flex:none;flex-wrap:nowrap;justify-content:flex-start;gap:12px;border:0;padding:0;margin:0;white-space:nowrap}
.dm-site-shell .dm-site-header .gnb>.dm-category{flex:0 0 auto;white-space:nowrap}
.dm-site-shell .dm-site-header .dm-category-link{white-space:nowrap}
.dm-site-shell .dm-site-header .search{grid-column:3;grid-row:1;width:100%;min-width:80px;max-width:160px;margin:0 0 0 auto}
.dm-site-shell .dm-site-header .search input{min-width:0}
.dm-site-shell .dm-site-header .util{grid-column:4;grid-row:1;flex-wrap:nowrap;gap:8px;white-space:nowrap}
}
@media(min-width:1024px) and (max-width:1199px){
.dm-site-shell .dm-site-header .dm-shell-container.container{grid-template-columns:auto auto minmax(72px,1fr) auto;column-gap:6px;padding-left:12px;padding-right:12px}
.dm-site-shell .dm-site-header .logo{margin-right:4px}
.dm-site-shell .dm-site-header .gnb{gap:6px}
.dm-site-shell .dm-site-header .dm-category{gap:1px}
.dm-site-shell .dm-site-header .dm-category-toggle{width:12px;min-width:12px;padding-left:0;padding-right:0}
.dm-site-shell .dm-site-header .search{min-width:72px;max-width:96px;padding-left:8px}
.dm-site-shell .dm-site-header .search button{width:28px;flex:0 0 28px}
.dm-site-shell .dm-site-header .util{gap:6px}
.dm-site-shell .dm-site-header .dm-support-nav{margin-right:0;padding-right:6px}
}
