/* 약관 · 개인정보처리방침 · 환불정책 · 결제 완료 · 사업자 정보 */
.legal-page{background:#fcfaf6;color:#3f2e51}
.legal-header{max-width:960px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e7dcec}
.legal-header a:last-child{font-size:17px;color:#79588d;min-height:44px;display:flex;align-items:center;white-space:nowrap}
.legal-main{max-width:860px;margin:auto;padding:42px 24px 64px;font-size:17px;line-height:1.85}
.legal-main h1{font-size:36px;line-height:1.35;color:#3f2e51;margin:0 0 10px}
.legal-main .legal-meta{color:#776180;font-size:16px;margin:0 0 28px}
.legal-main h2{font-size:22px;line-height:1.5;color:#5d4071;margin:34px 0 10px;scroll-margin-top:20px}
.legal-main h3{font-size:18px;color:#5d4071;margin:20px 0 6px}
.legal-main p,.legal-main li{margin:0 0 10px;word-break:keep-all;overflow-wrap:anywhere}
.legal-main ol,.legal-main ul{padding-left:1.4em;margin:0 0 12px}
.legal-main a{color:#7156a6;text-decoration:underline;text-underline-offset:3px}
.legal-main .button{text-decoration:none}
.legal-main table{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:15px;line-height:1.7}
.legal-main th,.legal-main td{border:1px solid #e3d4ee;padding:10px 12px;text-align:left;vertical-align:top}
.legal-main th{background:#f2eaf9;color:#5d4071;font-weight:700}
.legal-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.legal-box{background:#f2eaf9;border:1px solid #e3d4ee;border-radius:16px;padding:18px 20px;margin:16px 0}
.legal-nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 26px;font-size:16px}
.biz-footer{max-width:1180px;margin:22px auto 0;padding:20px 24px 28px;border-top:1px solid #e7dcec;font-size:14px;line-height:1.85;color:#776180;text-align:left}
.biz-footer .biz-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 10px;font-size:15px}
.biz-footer .biz-links a{color:#5d4071;font-weight:700}
.biz-footer .biz-links a.privacy{color:#7156a6}
.biz-footer dl{display:flex;flex-wrap:wrap;gap:2px 16px;margin:0}
.biz-footer dl div{display:flex;gap:6px}
.biz-footer dt{font-weight:700;color:#6b5a74}
.biz-footer dd{margin:0}
.biz-footer a{color:inherit}
.biz-footer small{display:block;margin-top:8px;font-size:13px}
footer .biz-footer{padding-left:0;padding-right:0}
.buyer-help{font-size:16px;color:#776180;margin:-8px 0 16px;line-height:1.7}
.buyer-form{display:grid;gap:14px}
.buyer-form label{display:grid;gap:6px;font-size:16px;color:#5d4071;font-weight:700}
.buyer-form input{font:inherit;font-weight:400;font-size:17px;padding:13px 14px;border:1px solid #d9c9e6;border-radius:12px;background:#fff;color:#3f2e51;min-height:48px;width:100%;box-sizing:border-box}
.buyer-form input:focus{outline:3px solid #cdb6ea;border-color:#7156a6}
.order-agree{display:grid;gap:8px;margin:16px 0 4px;text-align:left}
.order-agree .order-confirm{margin:0;font-size:15px;line-height:1.6}
.order-agree .order-confirm a{color:#7156a6;text-decoration:underline}
.order-agree .agree-all{padding-bottom:8px;border-bottom:1px solid #eadff1;font-size:16px}
.checkout-error{background:#fff1ef;border:1px solid #f2c9c2;color:#9a3b2c;border-radius:12px;padding:12px 14px;font-size:15px;line-height:1.6;margin:10px 0}
.payment-test .checkout-status{background:#fff7e0;border-color:#f0dc9c;color:#7a5b10}
.done-main{text-align:center}
.done-main .done-icon{font-size:52px;line-height:1;margin:6px 0 16px;color:#7156a6}
.done-main #done-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}
@media (max-width:640px){.legal-main{padding:30px 16px 52px;font-size:16px}.legal-main h1{font-size:28px}.legal-main h2{font-size:20px}.legal-header{padding:16px}.biz-footer{padding:18px 16px 26px;font-size:13px}.biz-footer dl{display:block}}
.todo{background:#fff1a8;color:#7a5b10;padding:0 4px;border-radius:4px}
.checkout-guide dd a{color:#7156a6;text-decoration:underline;text-underline-offset:3px}

/* 상단 프로젝트 탭: 작가되기 프로젝트(선택) · 준비중 탭(회색, 동작 없음). 좁은 화면에서는 가로로 밀어 봐요. */
.project-tabs{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 2px}
.project-tabs::-webkit-scrollbar{display:none}
.project-tab{flex-shrink:0;white-space:nowrap}
.project-tab.is-active{position:relative;padding:4px 10px 4px 4px;border-radius:14px;background:#f1e8fa;box-shadow:inset 0 -3px 0 #7156a6}
.project-tab.is-disabled{font-size:14px;font-weight:700;line-height:1.4;color:#a69cb0;background:#f3f1f5;border:1px solid #e5e0ea;border-radius:99px;padding:7px 12px;cursor:default;user-select:none;pointer-events:none}
.nav-wrap>.project-tabs{margin-right:4px}
.nav-wrap>nav,.nav-wrap>.classroom{flex-shrink:0}
.checkout-header,.legal-header{gap:14px}
.checkout-header>.project-tabs,.legal-header>.project-tabs{flex:1 1 0;min-width:0}
.checkout-header>.checkout-back,.legal-header>.project-tabs+a{flex-shrink:0}
@media(max-width:1180px){.nav-wrap>nav{gap:18px}}
.project-tabs-mobile{display:none}
@media(max-width:800px){
 html{scroll-padding-top:128px}
 .header{height:auto}.header .nav-wrap{height:70px}
 #mobile-nav{top:100%}
 .project-tabs .project-tab.is-disabled{display:none}
 .project-tabs .project-tab.is-active{padding:0;background:none;box-shadow:none}
 .project-tabs{overflow:visible;flex:0 1 auto}
 .checkout-header,.legal-header{gap:8px}
 .project-tabs-mobile{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 12px 10px;width:100%;box-sizing:border-box}
 .project-tabs-mobile::-webkit-scrollbar{display:none}
 .project-tabs-mobile .project-tab{font-size:13px;font-weight:700;line-height:1.4;border-radius:99px;padding:6px 11px}
 .project-tabs-mobile .project-tab.is-active{color:#5d4071;background:#f1e8fa;border:1px solid #d9c6ee;box-shadow:inset 0 -2px 0 #7156a6}
 .project-tabs-mobile .project-tab.is-disabled{display:inline-block}
 .checkout-header,.legal-header{flex-wrap:wrap}
 .checkout-header>.project-tabs-mobile,.legal-header>.project-tabs-mobile{flex-basis:100%;padding:0 0 4px}
}

/* 준비중 탭: 사이트 색(복숭아 · 민트) 안에서 연하지만 또렷하게, (준비중)은 작은 배지. 클릭은 안 돼요. */
.project-tab.is-disabled{display:inline-flex;align-items:center;gap:6px;opacity:1;font-weight:700;letter-spacing:-.01em;box-shadow:0 2px 0 #00000008}
.project-tab.tab-kpop{color:#8e5a45;background:#fdf1ea;border:1px solid #f3d9cb}
.project-tab.tab-app{color:#4e7d67;background:#ecf6f0;border:1px solid #cfe7da}
.soon-badge{display:inline-block;font-size:11px;font-weight:700;line-height:1;letter-spacing:0;padding:4px 7px;border-radius:99px;background:#fffdfa;border:1px solid currentColor;opacity:.85}
.project-tabs-mobile .project-tab.is-disabled{display:inline-flex}
@media(max-width:800px){.soon-badge{font-size:10.5px;padding:3px 6px}}

/* 1240px 이하(작은 PC · 태블릿): 준비중 탭이 잘리지 않게 로고 아래 한 줄로 */
@media(min-width:1241px){.project-tab.is-disabled{font-size:13.5px;padding:6px 10px}.nav-wrap>nav{gap:22px}.nav-wrap{gap:18px}}
@media(max-width:1240px) and (min-width:801px){
 html{scroll-padding-top:140px}
 .header{height:auto}.header .nav-wrap{height:82px}
 .project-tabs .project-tab.is-disabled{display:none}
 .project-tabs{overflow:visible;flex:0 0 auto}
 .project-tabs .project-tab.is-active{padding:0;background:none;box-shadow:none}
 .project-tabs-mobile{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;width:calc(100% - 64px);max-width:1340px;margin:0 auto;padding:0 0 12px}
 .project-tabs-mobile .project-tab{font-size:14px;font-weight:700;line-height:1.4;border-radius:99px;padding:6px 12px}
 .project-tabs-mobile .project-tab.is-active{color:#5d4071;background:#f1e8fa;border:1px solid #d9c6ee;box-shadow:inset 0 -2px 0 #7156a6}
 .checkout-header,.legal-header{flex-wrap:wrap}
 .checkout-header>.project-tabs-mobile,.legal-header>.project-tabs-mobile{flex-basis:100%;width:100%;margin:0}
}

/* 문의하기 창 */
.nav-contact{font:inherit;background:none;border:0;padding:0;cursor:pointer;color:inherit}
.contact-dialog{width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 30px);border:0;border-radius:22px;padding:0;background:#fffdfa;color:#3f2e51;box-shadow:0 20px 60px #3b2d5033}
.contact-dialog::backdrop{background:#2b20384d}
.contact-form{position:relative;display:grid;gap:14px;padding:34px 28px 28px}
.contact-form h2{font-size:26px;line-height:1.4;margin:0;color:#3b2d50}
.contact-help{font-size:16px;line-height:1.75;color:#655570;margin:-4px 0 4px}
.contact-form label{display:grid;gap:6px;font-size:15px;font-weight:700;color:#5d4071}
.contact-form input:not([type=checkbox]),.contact-form textarea{font:inherit;font-weight:400;font-size:16px;padding:12px 14px;border:1px solid #d9c9e6;border-radius:12px;background:#fff;color:#3f2e51;width:100%;box-sizing:border-box;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:3px solid #cdb6ea;border-color:#7156a6}
.contact-form .contact-agree{display:flex;gap:9px;align-items:flex-start;font-weight:400;font-size:14px;line-height:1.7;color:#655570}
.contact-agree input{margin-top:4px;flex-shrink:0}
.contact-agree a{color:#7156a6;text-decoration:underline}
.contact-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.contact-error{background:#fff1ef;border:1px solid #f2c9c2;color:#9a3b2c;border-radius:12px;padding:10px 12px;font-size:14px;margin:0}
.contact-done{background:#eef7f0;border:1px solid #cfe6d6;color:#2f6a46;border-radius:12px;padding:14px;font-size:16px;line-height:1.7;margin:0}
.contact-submit{width:100%;min-height:52px}
.contact-close{position:absolute;top:10px;right:12px;width:44px;height:44px;border:0;background:none;font-size:28px;color:#7a6688;cursor:pointer}
@media(max-width:650px){.contact-form{padding:30px 18px 22px}.contact-form h2{font-size:22px}}
