/* 전자상거래 사업자 정보는 접지 않고 공통 푸터에 상시 표시합니다. */
.dm-site-shell .site-footer.dm-footer{margin-top:48px;padding:0;background:#f8fafc;border-top:1px solid #e0e6ee;color:#526077;letter-spacing:-.01em}
.dm-site-shell .dm-footer>.container{max-width:1280px;padding:0 24px}
.dm-footer .dm-footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #e0e6ee}
.dm-footer .dm-footer-policies{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px}
.dm-footer .dm-footer-policies>a{display:inline-flex;align-items:center;min-height:32px;color:#3d4b60;font-size:14px;line-height:1.6;text-decoration:none}
.dm-footer .dm-footer-policies .dm-footer-privacy{font-weight:700;color:#172747}
.dm-footer .dm-footer-policies>a:hover{color:#2451d6}
.dm-footer .dm-footer-teacher{font-size:14px}
.dm-footer .dm-footer-social{display:flex;align-items:center;gap:8px;flex-shrink:0}
.dm-footer .dm-footer-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e0e6ee;border-radius:50%;background:#fff;color:#526077;font-size:16px;text-decoration:none}
.dm-footer .dm-footer-social a:hover{color:#2451d6;border-color:#b4c6ed}
.dm-footer .dm-footer-social span{font-weight:700}
.dm-footer .dm-footer-main{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:48px;padding:30px 0 28px}
.dm-site-shell .dm-footer .footer-logo{display:inline-block;font-size:24px;line-height:1.4;color:#102451;letter-spacing:-.04em;font-weight:700;text-decoration:none;margin-bottom:14px}
.dm-footer .dm-footer-company-name{font-size:15px;line-height:1.6;font-weight:600;color:#253046;margin:0 0 10px}
.dm-footer .dm-footer-company-details{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;font-size:14px;line-height:1.8}
.dm-footer .dm-footer-company-details>div{display:flex;gap:8px;min-width:0}
.dm-footer .dm-footer-company-details dt{flex-shrink:0;color:#68758a;font-weight:400}
.dm-footer .dm-footer-company-details dd{margin:0;color:#3d4b60;overflow-wrap:anywhere}
.dm-footer .dm-footer-address,.dm-footer .dm-footer-hosting{flex-basis:100%}
.dm-footer .dm-footer-business-check{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;min-height:28px;margin-left:6px;background:#fff;border:1px solid #d7dfe9;border-radius:5px;color:#425c85;font-size:12px;line-height:1.6;white-space:nowrap;text-decoration:none;vertical-align:middle}
.dm-footer .dm-footer-business-check i{font-size:10px}
.dm-footer .dm-footer-contact{padding-left:28px;border-left:1px solid #e0e6ee}
.dm-footer .dm-footer-contact h2{font-size:14px;line-height:1.6;font-weight:600;color:#3d4b60;margin:0 0 10px}
.dm-footer .dm-footer-phone{display:block;font-size:22px;line-height:1.5;font-weight:600;letter-spacing:-.03em;color:#172747;text-decoration:none;margin:0 0 6px}
.dm-footer .dm-footer-email{display:inline-block;font-size:14px;line-height:1.7;color:#526077;text-decoration:none;overflow-wrap:anywhere}
.dm-footer .dm-footer-help{display:flex;gap:8px;margin-top:16px}
.dm-footer .dm-footer-help a{display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px 13px;border:1px solid #dce3ed;border-radius:6px;background:#fff;color:#42536b;font-size:13px;text-decoration:none}
.dm-footer .dm-footer-bottom{border-top:1px solid #e0e6ee;padding:17px 0 22px}
.dm-footer .dm-footer-bottom p{margin:0;font-size:12px;line-height:1.7;color:#68758a}
.dm-footer a:focus-visible,.dm-footer summary:focus-visible{outline:3px solid #2451d6;outline-offset:3px}
@media(max-width:991px){.dm-footer .dm-footer-main{grid-template-columns:minmax(0,1fr) 220px;gap:24px}.dm-footer .dm-footer-contact{padding-left:20px}}
@media(max-width:767px){.dm-site-shell .dm-footer>.container{padding:0 16px}.dm-footer .dm-footer-top{align-items:flex-start;gap:12px;padding:18px 0;flex-wrap:wrap}.dm-footer .dm-footer-policies{gap:2px 18px;flex:1 1 100%}.dm-footer .dm-footer-policies>a{min-height:40px;font-size:13px}.dm-footer .dm-footer-social{margin-top:2px}.dm-footer .dm-footer-social a{width:40px;height:40px}.dm-footer .dm-footer-main{grid-template-columns:1fr;gap:22px;padding:24px 0}.dm-footer .dm-footer-company-details{font-size:13px;gap:8px 16px}.dm-footer .dm-footer-company-details>div{flex-basis:100%;align-items:baseline}.dm-footer .dm-footer-company-details dd{flex:1;min-width:0}.dm-footer .dm-footer-registration dd{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.dm-footer .dm-footer-business-check{margin:0;min-height:32px;padding:3px 7px}.dm-footer .dm-footer-contact{border-left:0;border-top:1px solid #e0e6ee;padding:20px 0 0}.dm-footer .dm-footer-contact h2{margin-bottom:6px}.dm-footer .dm-footer-help a{min-height:40px}.dm-footer .dm-footer-bottom{padding:16px 0 22px}}

/* 공통 section 여백이 사업자·연락처 영역에 중복 적용되지 않도록 제한합니다. */
.dm-footer .dm-footer-business{padding:0;margin:0}
.dm-footer .dm-footer-contact{padding:0 0 0 28px;margin:0}
@media(max-width:991px){.dm-footer .dm-footer-contact{padding-left:20px}}
@media(max-width:767px){.dm-footer .dm-footer-contact{padding:20px 0 0}}

/* 연락처 표시는 유지하되 실제 상담 채널인 카카오톡을 우선 안내합니다. */
.dm-footer .dm-footer-kakao{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:9px 12px;margin:0 0 12px;background:#fee500;border:1px solid #eed700;border-radius:8px;font-size:14px;font-weight:600;color:#253046;text-decoration:none}
.dm-footer .dm-footer-kakao:hover{background:#f4dc00;color:#172747}
.dm-footer .dm-footer-kakao img{display:block;flex-shrink:0;width:26px;height:26px}
.dm-footer .dm-footer-kakao>i{font-size:12px}
.dm-footer .dm-footer-support-note{font-size:13px;line-height:1.8;color:#526077;margin:0 0 10px}


/* 푸터 시안: 기존 글꼴을 유지하고 필수 사업자 정보를 상시 표시합니다. */
.dm-site-shell .site-footer.dm-footer{background:#fff}
.dm-footer .dm-footer-top{gap:24px}
.dm-site-shell .dm-footer .footer-logo{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin:0;white-space:nowrap}
.dm-footer .dm-footer-logo-book{display:block;flex-shrink:0}
.dm-footer .dm-footer-policies{flex:1}
.dm-footer .dm-footer-main{grid-template-columns:minmax(0,1fr) 300px;padding:32px 0;gap:48px}
.dm-footer .dm-footer-company-details{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.dm-footer .dm-footer-company-details a:not(.dm-footer-business-check){color:inherit;text-decoration:none}
.dm-footer .dm-footer-contact h2{font-size:18px;font-weight:700;color:#172747;margin-bottom:14px}
.dm-footer .dm-footer-extra{margin-top:18px;font-size:13px;color:#526077}
.dm-footer .dm-footer-extra summary{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border:1px solid #ccd6e3;border-radius:6px;color:#34465f;cursor:pointer;list-style:none}
.dm-footer .dm-footer-extra summary::-webkit-details-marker{display:none}
.dm-footer .dm-footer-extra[open] summary i{transform:rotate(180deg)}
.dm-footer .dm-footer-extra p{margin:10px 0 0}
@media(max-width:991px){.dm-footer .dm-footer-main{grid-template-columns:minmax(0,1fr) 250px;gap:24px}}
@media(max-width:767px){.dm-footer .dm-footer-top{display:flex;align-items:center;gap:12px}.dm-site-shell .dm-footer .footer-logo{order:0}.dm-footer .dm-footer-social{order:1;margin:0 0 0 auto}.dm-footer .dm-footer-policies{order:2;flex:1 1 100%}.dm-footer .dm-footer-main{grid-template-columns:1fr;gap:22px;padding:24px 0}.dm-footer .dm-footer-extra summary{min-height:44px}}
/* footer 2026-11-04: company info as 3 pipe-separated lines */
.dm-footer .dm-footer-company-details{display:block;font-size:12.5px;line-height:1.9}
.dm-footer .dm-footer-company-details .dm-footer-line{margin:0}
.dm-footer .dm-footer-company-details .dm-footer-item{display:inline;color:#7a8596;overflow-wrap:anywhere}
.dm-footer .dm-footer-company-details .dm-footer-item:not(:last-child)::after{content:"|";margin:0 10px;color:#c3cbd6}
.dm-footer .dm-footer-company-details .dm-footer-label{color:#8a95a5}
.dm-footer .dm-footer-company-details a:not(.dm-footer-business-check){color:inherit}
.dm-footer .dm-footer-company-details .dm-footer-business-check{min-height:0;padding:0 6px;margin-left:4px;font-size:11px;line-height:1.7}
@media(max-width:767px){.dm-footer .dm-footer-company-details{font-size:12px;line-height:1.85}.dm-footer .dm-footer-company-details .dm-footer-line{margin-bottom:2px}.dm-footer .dm-footer-company-details .dm-footer-item:not(:last-child)::after{margin:0 7px}}
.dm-footer .dm-footer-company-details .dm-footer-nowrap{white-space:nowrap}
/* footer 2026-11-04b: one-line support, pc right / mobile top, mobile floating kakao */
.dm-footer .dm-footer-main{grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}
.dm-footer .dm-footer-contact{padding:0;margin:0;border:0}
.dm-footer .dm-footer-support-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.dm-footer .dm-footer-contact h2{font-size:14px;font-weight:700;color:#3d4b60;margin:0 6px 0 0}
.dm-footer .dm-footer-kakao,.dm-footer .dm-footer-help a{display:inline-flex;align-items:center;justify-content:center;gap:5px;box-sizing:border-box;height:32px;min-height:0;padding:0 12px;margin:0;border-radius:6px;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none}
.dm-footer .dm-footer-kakao{background:#fee500;border:1px solid #fee500;color:#253046}
.dm-footer .dm-footer-kakao:hover{background:#f4dc00;border-color:#f4dc00}
.dm-footer .dm-footer-kakao img{width:18px;height:18px}
.dm-footer .dm-footer-help{display:contents}
.dm-footer .dm-footer-help a{background:transparent;border:1px solid #cfd7e2;color:#5b6a80;font-weight:500}
.dm-footer .dm-footer-support-note{font-size:11.5px;line-height:1.6;color:#8a95a5;margin:8px 0 0}
.dm-float-kakao{display:none}
@media(max-width:767px){
.dm-footer .dm-footer-main{grid-template-columns:1fr;gap:18px;align-items:stretch}
.dm-footer .dm-footer-contact{order:-1;padding:0 0 18px;border-bottom:1px solid #e0e6ee}
.dm-footer .dm-footer-business{order:1}
.dm-float-kakao{display:flex;position:fixed;right:16px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:1000;width:52px;height:52px;align-items:center;justify-content:center;border-radius:50%;background:#fee500;box-shadow:0 3px 10px rgba(0,0,0,.22)}
.dm-float-kakao img{display:block;width:30px;height:30px}
body:has(#top_btn) .dm-float-kakao{bottom:calc(84px + env(safe-area-inset-bottom))}
body:has(.dm-cbt-bar) .dm-float-kakao{bottom:calc(84px + env(safe-area-inset-bottom))}
}
