/* =========================================================
   모두잇 홈페이지 편집기 — 편집 화면 스타일 (밝은 바탕)
   사이트 자체 스타일은 editor-core.js 의 SITE_CSS
   ========================================================= */
@font-face{font-family:"Pretendard Variable";font-weight:45 920;font-style:normal;font-display:swap;src:url("fonts/PretendardVariable.woff2") format("woff2-variations")}
:root{
  --e-brand:#FF5C00;--e-brand-d:#E04E00;--e-brand-l:#FFF0E5;
  --e-ink:#16171A;--e-sub:#5E6269;--e-mute:#9A9DA4;--e-line:#E6E7EB;--e-soft:#F4F5F7;--e-soft2:#EDEEF1;
  --e-top:60px;--e-left:272px;--e-right:320px;
  --e-font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --e-ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html,body{height:100%}
body.ed{margin:0;font-family:var(--e-font);color:var(--e-ink);background:var(--e-soft);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow:hidden}
:where(.ed) button,:where(.ed) input,:where(.ed) select,:where(.ed) textarea{font:inherit;color:inherit}
:where(.ed) button{cursor:pointer;background:none;border:0;padding:0}
.ed [hidden]{display:none!important}
.ed :focus-visible{outline:2px solid var(--e-brand);outline-offset:2px}
.e-ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* 색 맞춤 그림 미리보기용 (편집 패널 안) */
.ed-th .f1{fill:var(--c-p)}.ed-th .f2{fill:var(--c-a)}.ed-th .f3{fill:var(--c-soft)}.ed-th .f4{fill:var(--c-dark)}.ed-th .f5{fill:#fff}
.ed-th .f6{fill:color-mix(in srgb,var(--c-p) 32%,#fff)}.ed-th .f7{fill:color-mix(in srgb,var(--c-a) 45%,#fff)}
.ed-th svg{display:block;width:100%;height:100%}

/* ---------- 버튼 ---------- */
.e-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 14px;border-radius:10px;font-weight:700;font-size:14px;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,transform .15s}
.e-btn-brand{background:var(--e-brand);color:#fff}.e-btn-brand:hover{background:var(--e-brand-d)}
.e-btn-line{border:1px solid var(--e-line)!important;background:#fff}.e-btn-line:hover{background:var(--e-soft)}
.e-btn-ghost{color:var(--e-sub)}.e-btn-ghost:hover{background:var(--e-soft);color:var(--e-ink)}
.e-btn-lg{height:52px;padding:0 24px;font-size:16px;border-radius:12px}
.e-btn:disabled{opacity:.38;cursor:not-allowed}
.e-icon-btn{width:38px;height:38px;display:inline-grid;place-items:center;border-radius:10px;color:var(--e-sub)}.e-icon-btn:hover{background:var(--e-soft);color:var(--e-ink)}.e-icon-btn:disabled{opacity:.35;cursor:not-allowed;background:none}

/* ---------- 윗줄 ---------- */
.ed-top{position:fixed;inset:0 0 auto 0;height:var(--e-top);background:#fff;border-bottom:1px solid var(--e-line);display:flex;align-items:center;gap:12px;padding:0 14px 0 18px;z-index:50}
.ed-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--e-ink);text-decoration:none;flex:none}
.ed-logo i{width:28px;height:28px;border-radius:8px;background:var(--e-brand);display:grid;place-items:center;color:#fff;font-style:normal;font-size:14px}
.ed-logo span{font-weight:600;color:var(--e-sub);font-size:14px;padding-left:10px;border-left:1px solid var(--e-line)}
.ed-dev{display:flex;gap:2px;padding:3px;background:var(--e-soft);border-radius:11px;margin:0 auto}
.ed-dev button{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;font-weight:600;font-size:13.5px;color:var(--e-sub)}
.ed-dev button.is-on{background:#fff;color:var(--e-ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.ed-acts{display:flex;align-items:center;gap:6px;margin-left:auto}
.ed-acts .sep{width:1px;height:22px;background:var(--e-line);margin:0 4px}
.ed-save{font-size:12.5px;color:var(--e-mute);margin-right:4px;white-space:nowrap}

/* ---------- 본문 3단 ---------- */
.ed-body{position:fixed;inset:var(--e-top) 0 0 0;display:grid;grid-template-columns:var(--e-left) 1fr var(--e-right)}
.ed-left,.ed-right{background:#fff;overflow-y:auto;overscroll-behavior:contain}
.ed-left{border-right:1px solid var(--e-line);display:flex;flex-direction:column}
.ed-right{border-left:1px solid var(--e-line)}
.ed-tabs{display:flex;gap:4px;padding:12px 12px 0;position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid var(--e-line)}
.ed-tabs button{flex:1;height:40px;font-weight:700;font-size:14px;color:var(--e-mute);border-bottom:2px solid transparent;margin-bottom:-1px}
.ed-tabs button.is-on{color:var(--e-ink);border-color:var(--e-ink)}
.ed-pane{padding:16px 14px 28px}
.ed-h{font-size:13px;font-weight:700;color:var(--e-sub);margin:0 2px 10px;display:flex;align-items:center;justify-content:space-between}
.ed-h small{font-weight:500;color:var(--e-mute)}
.ed-hint{font-size:13px;color:var(--e-mute);line-height:1.6;margin:4px 2px 14px}
.ed-group{margin-bottom:22px}

/* 페이지 구성 목록 */
.ed-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ed-li{display:flex;align-items:center;gap:8px;height:48px;padding:0 6px 0 4px;border:1px solid var(--e-line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;user-select:none}
.ed-li:hover{border-color:#CFD1D6}
.ed-li.is-sel{border-color:var(--e-brand);box-shadow:0 0 0 3px var(--e-brand-l)}
.ed-li.is-hidden .ed-li-name{color:var(--e-mute);text-decoration:line-through}
.ed-li.is-drag{opacity:.4}.ed-li.is-over-top{box-shadow:0 -3px 0 var(--e-brand)}.ed-li.is-over-bot{box-shadow:0 3px 0 var(--e-brand)}
.ed-grip{width:22px;height:32px;display:grid;place-items:center;color:#C4C6CC;cursor:grab}
.ed-li-ico{width:30px;height:30px;border-radius:8px;background:var(--e-soft);display:grid;place-items:center;color:var(--e-sub)}
.ed-li-name{flex:1;min-width:0;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-li-name small{display:block;font-weight:500;color:var(--e-mute);font-size:12px}
.ed-li .e-icon-btn{width:32px;height:32px}
.ed-add{width:100%;margin-top:10px;height:48px;border:1.5px dashed #CFD1D6!important;border-radius:12px;color:var(--e-sub);font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px}
.ed-add:hover{border-color:var(--e-brand)!important;color:var(--e-brand-d);background:var(--e-brand-l)}
.ed-fixed{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--e-soft);color:var(--e-sub);font-size:13px;font-weight:600;margin-top:6px;cursor:pointer}
.ed-fixed:hover{background:var(--e-soft2)}

/* 스타일 탭 */
.ed-styles{display:grid;gap:8px}
.ed-style{display:flex;align-items:center;gap:12px;padding:10px;border:1.5px solid var(--e-line);border-radius:14px;background:#fff;text-align:left;transition:border-color .15s,box-shadow .15s}
.ed-style:hover{border-color:#CFD1D6}.ed-style.is-on{border-color:var(--e-brand);box-shadow:0 0 0 3px var(--e-brand-l)}
.ed-style-sample{width:56px;height:48px;display:grid;place-items:center;background:var(--e-soft);font-size:20px;flex:none;color:var(--e-ink)}
.ed-style b{display:block;font-size:14.5px}.ed-style small{display:block;color:var(--e-mute);font-size:12.5px}
.ed-pals{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ed-pal{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 2px;border-radius:12px;border:1.5px solid transparent;font-size:12.5px;font-weight:600;color:var(--e-sub)}
.ed-pal:hover{background:var(--e-soft)}.ed-pal.is-on{border-color:var(--e-brand);color:var(--e-ink);background:#fff}
.ed-pal i{width:38px;height:38px;border-radius:50%;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.ed-pal i::before,.ed-pal i::after{content:"";position:absolute}
.ed-pal i::before{inset:0 0 0 50%;background:var(--pa)}.ed-pal i::after{inset:50% 0 0 50%;background:var(--ps)}
.ed-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--e-line);border-radius:12px;font-weight:600;font-size:14px;cursor:pointer}
.ed-switch small{display:block;font-weight:500;color:var(--e-mute);font-size:12.5px}
.ed-tog{position:relative;width:44px;height:26px;border-radius:99px;background:#D5D7DC;flex:none;transition:background .2s}
.ed-tog::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s var(--e-ease)}
.ed-switch.is-on .ed-tog{background:var(--e-brand)}.ed-switch.is-on .ed-tog::after{transform:translateX(18px)}
.ed-link{color:var(--e-sub);font-weight:600;font-size:13.5px;text-decoration:underline;text-underline-offset:3px;margin-top:6px}

/* 입력칸 */
.ed-field{display:grid;gap:6px;margin-bottom:12px}
.ed-field>span{font-size:13px;font-weight:600;color:var(--e-sub)}
.ed-in{width:100%;border:1px solid var(--e-line);border-radius:10px;padding:10px 12px;font-size:14.5px;background:#fff;outline:0;transition:border-color .15s,box-shadow .15s;resize:none;line-height:1.5}
.ed-in:focus{border-color:var(--e-brand);box-shadow:0 0 0 3px var(--e-brand-l)}
textarea.ed-in{min-height:64px}
select.ed-in{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 8l4 4 4-4' fill='none' stroke='%239A9DA4' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center/18px;padding-right:34px}
.ed-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* ---------- 오른쪽: 섹션 편집 ---------- */
.ed-props-empty{padding:40px 24px;text-align:center;color:var(--e-mute)}
.ed-props-empty .e-ill{width:120px;margin:0 auto 18px;opacity:.9}
.ed-props-empty b{display:block;color:var(--e-ink);font-size:16px;margin-bottom:6px}
.ed-ph{display:flex;align-items:center;gap:10px;padding:14px 14px;border-bottom:1px solid var(--e-line);position:sticky;top:0;background:#fff;z-index:2}
.ed-ph b{font-size:16px;flex:1}
.ed-ph .ed-li-ico{background:var(--e-brand-l);color:var(--e-brand-d)}
.ed-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:3px;background:var(--e-soft);border-radius:11px}
.ed-seg button{height:34px;border-radius:8px;font-weight:600;font-size:13px;color:var(--e-sub);display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;padding:0 4px}
.ed-seg button.is-on{background:#fff;color:var(--e-ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.ed-vars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ed-var{border:1.5px solid var(--e-line);border-radius:12px;padding:8px 6px 8px;display:grid;gap:6px;justify-items:center;font-size:12.5px;font-weight:600;color:var(--e-sub);background:#fff;transition:border-color .15s}
.ed-var:hover{border-color:#CFD1D6}.ed-var.is-on{border-color:var(--e-brand);color:var(--e-ink);box-shadow:0 0 0 3px var(--e-brand-l)}
.ed-var svg{width:100%;height:42px}
.ed-tones{display:flex;flex-wrap:wrap;gap:6px}
.ed-tone{display:flex;align-items:center;gap:6px;height:34px;padding:0 10px 0 6px;border-radius:99px;border:1.5px solid var(--e-line);font-size:13px;font-weight:600;color:var(--e-sub);background:#fff}
.ed-tone i{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.ed-tone.is-on{border-color:var(--e-brand);color:var(--e-ink)}
.ed-imgs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ed-img{aspect-ratio:1;border-radius:10px;overflow:hidden;border:2px solid transparent;background:var(--e-soft);position:relative}
.ed-img img{width:100%;height:100%;object-fit:cover;display:block}
.ed-img.is-on{border-color:var(--e-brand)}
.ed-img:hover{transform:translateY(-1px)}
.ed-upload{aspect-ratio:1;border-radius:10px;border:1.5px dashed #CFD1D6;display:grid;place-items:center;align-content:center;gap:2px;color:var(--e-sub);font-size:11.5px;font-weight:700;cursor:pointer;text-align:center;line-height:1.3}
.ed-upload:hover{border-color:var(--e-brand);color:var(--e-brand-d)}
.ed-upload input{display:none}
.ed-icons{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.ed-icons button{aspect-ratio:1;border-radius:8px;display:grid;place-items:center;color:var(--e-sub);border:1.5px solid transparent}
.ed-icons button:hover{background:var(--e-soft)}.ed-icons button.is-on{border-color:var(--e-brand);color:var(--e-brand-d);background:var(--e-brand-l)}
.ed-items{display:grid;gap:8px}
.ed-item{border:1px solid var(--e-line);border-radius:12px;background:#fff}
.ed-item-hd{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 12px;cursor:pointer}
.ed-item-hd b{width:22px;height:22px;border-radius:6px;background:var(--e-soft);display:grid;place-items:center;font-size:12px;color:var(--e-sub);flex:none}
.ed-item-hd span{flex:1;min-width:0;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-item-hd .e-icon-btn{width:30px;height:30px}
.ed-item-bd{padding:4px 12px 4px}
.ed-item.is-open{border-color:#CFD1D6;box-shadow:0 4px 14px -8px rgba(0,0,0,.15)}
.ed-item-add{height:42px;border-radius:12px;border:1.5px dashed #CFD1D6!important;font-weight:700;color:var(--e-sub);display:flex;align-items:center;justify-content:center;gap:6px}
.ed-item-add:hover:not(:disabled){border-color:var(--e-brand)!important;color:var(--e-brand-d)}
.ed-item-add:disabled{opacity:.5;cursor:not-allowed}
.ed-pfoot{display:flex;gap:8px;padding:14px;border-top:1px solid var(--e-line);margin-top:8px}
.ed-pfoot .e-btn{flex:1}
.ed-danger{color:#D83A3A!important}.ed-danger:hover{background:#FDEEEE!important}

/* ---------- 가운데: 미리보기 ---------- */
.ed-stage{position:relative;overflow:hidden;display:flex;flex-direction:column}
.ed-canvas{flex:1;display:flex;justify-content:center;padding:20px;min-height:0;transition:padding .3s var(--e-ease)}
.ed-frame{width:100%;max-width:1600px;height:100%;overflow-y:auto;overflow-x:hidden;background:#fff;border-radius:14px;box-shadow:0 0 0 1px var(--e-line),0 20px 40px -30px rgba(20,20,40,.25);scroll-behavior:smooth;transition:max-width .35s var(--e-ease),border-radius .35s}
.ed-canvas.is-mobile .ed-frame{max-width:390px;max-height:844px;border-radius:34px;box-shadow:0 0 0 10px #16171A,0 30px 60px -20px rgba(20,20,40,.4)}
.ed-canvas.is-mobile{align-items:center;padding:30px 20px}
.ed-frame .ms-sec{cursor:pointer}
.ed-frame .ms-sec::after{content:"";position:absolute;inset:0;pointer-events:none;transition:box-shadow .15s;z-index:5}
.ed-frame .ms-sec:hover::after{box-shadow:inset 0 0 0 calc(2px * var(--ez,1)) rgba(255,92,0,.45)}
.ed-frame .ms-sec.is-sel::after{box-shadow:inset 0 0 0 calc(3px * var(--ez,1)) var(--e-brand)}
.ed-frame .ed-tb,.ed-frame .ed-tag{zoom:var(--ez,1)}
.ed-frame .ms-hd,.ed-frame .ms-ft{cursor:pointer}
.ed-frame .ms-hd:hover,.ed-frame .ms-ft:hover{box-shadow:inset 0 0 0 2px rgba(255,92,0,.35)}
.ed-frame.is-preview .ms-sec{cursor:auto}.ed-frame.is-preview .ms-sec::after{display:none}.ed-frame.is-preview .ms-hd,.ed-frame.is-preview .ms-ft{cursor:auto;box-shadow:none}
.ed-frame .ed-tag{position:absolute;left:12px;top:12px;z-index:8;background:var(--e-brand);color:#fff;font:700 12.5px/1 var(--e-font);padding:6px 10px;border-radius:8px;pointer-events:none;letter-spacing:0}
.ed-frame .ed-tb{position:absolute;right:12px;top:12px;z-index:8;display:flex;gap:2px;padding:4px;background:#fff;border-radius:12px;box-shadow:0 8px 24px -8px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.05);font-family:var(--e-font)}
.ed-frame .ed-tb button{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:#3A3D44;border:0;background:none;cursor:pointer}
.ed-frame .ed-tb button:hover{background:var(--e-soft);color:var(--e-ink)}
.ed-frame .ed-tb button:disabled{opacity:.3;cursor:not-allowed;background:none}
.ed-frame .ed-tb .ed-tb-var{width:auto;padding:0 10px;gap:4px;display:flex;align-items:center;font-weight:700;font-size:12.5px;color:var(--e-brand-d)}
.ed-frame .ed-tb i{width:1px;background:var(--e-line);margin:6px 2px}
.ed-frame .ed-tb svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* 미리보기 모드 */
.ed.is-preview .ed-body{grid-template-columns:0 1fr 0}
.ed.is-preview .ed-left,.ed.is-preview .ed-right{visibility:hidden}
.ed .ed-top .only-preview{display:none}
.ed.is-preview .ed-top .only-preview{display:inline-flex}
.ed.is-preview .ed-top .no-preview{display:none!important}

/* ---------- 시작 화면 ---------- */
.ed-onb{position:fixed;inset:0;z-index:80;background:#fff;overflow-y:auto}
.onb-top{height:var(--e-top);display:flex;align-items:center;gap:16px;padding:0 18px;border-bottom:1px solid var(--e-line);position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);z-index:3}
.onb-steps{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:13.5px;font-weight:700;color:var(--e-mute)}
.onb-steps span{display:flex;align-items:center;gap:6px}
.onb-steps b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--e-soft);font-size:12px}
.onb-steps .is-on{color:var(--e-ink)}.onb-steps .is-on b{background:var(--e-brand);color:#fff}
.onb-steps .is-done b{background:var(--e-ink);color:#fff}
.onb-steps em{width:24px;height:1px;background:var(--e-line)}
.onb-wrap{max-width:1180px;margin:0 auto;padding:56px 24px 80px}
.onb-narrow{max-width:640px}
.onb-eb{color:var(--e-brand-d);font-weight:700;font-size:14px;margin:0 0 10px}
.onb-h{font-size:34px;line-height:1.3;letter-spacing:-.03em;margin:0 0 10px;font-weight:800}
.onb-d{color:var(--e-sub);font-size:16.5px;margin:0 0 36px}
.onb-inds{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}
.onb-ind{display:flex;gap:14px;align-items:flex-start;text-align:left;padding:18px;border:1.5px solid var(--e-line);border-radius:16px;background:#fff;transition:border-color .15s,box-shadow .15s}
.onb-ind:hover{border-color:#CFD1D6}.onb-ind.is-on{border-color:var(--e-brand);box-shadow:0 0 0 4px var(--e-brand-l)}
.onb-ind i{width:44px;height:44px;border-radius:12px;background:var(--e-soft);display:grid;place-items:center;flex:none;color:var(--e-sub)}
.onb-ind.is-on i{background:var(--e-brand);color:#fff}
.onb-ind b{display:block;font-size:16.5px;margin-bottom:2px}.onb-ind small{color:var(--e-mute);font-size:13.5px;line-height:1.5}
.onb-form{display:grid;gap:4px}
.onb-form .ed-in{padding:13px 14px;font-size:16px;border-radius:12px}
.onb-note{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--e-brand-l);color:#7A3200;font-size:14px;margin-bottom:24px;line-height:1.6}
.onb-note .e-ico{color:var(--e-brand);margin-top:2px}
.onb-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}
.onb-foot .e-btn-lg{min-width:160px}
.onb-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.onb-preset{cursor:pointer;text-align:left;border:1.5px solid var(--e-line);border-radius:18px;overflow:hidden;background:#fff;transition:transform .25s var(--e-ease),box-shadow .25s,border-color .2s;display:flex;flex-direction:column}
.onb-preset:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px rgba(20,20,40,.35);border-color:#CFD1D6}
.onb-preset-meta{padding:16px 18px 18px;display:flex;align-items:center;gap:12px;border-top:1px solid var(--e-line)}
.onb-preset-meta div{flex:1;min-width:0}
.onb-preset-meta b{display:block;font-size:16.5px}.onb-preset-meta small{color:var(--e-mute);font-size:13.5px}
.onb-preset-meta .e-btn{flex:none}
.onb-other{margin-top:40px}
.onb-other .onb-presets{grid-template-columns:repeat(3,1fr)}

/* 축소 미리보기 (시작 모양 · 섹션 추가) */
.ed-mini{position:relative;overflow:hidden;background:#fff;aspect-ratio:16/10;pointer-events:none}
.ed-mini-in{position:absolute;left:0;top:0;width:1280px;transform-origin:0 0;transform:scale(var(--sc,.3))}
.ed-mini .ms-float-wrap{display:none}

/* ---------- 섹션 추가 · 제작 신청 창 ---------- */
.ed-modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(18,19,22,.45);animation:eFade .2s ease}
@keyframes eFade{from{opacity:0}to{opacity:1}}
.ed-dialog{background:#fff;border-radius:20px;width:min(1080px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:0 30px 80px -20px rgba(0,0,0,.35);animation:eUp .3s var(--e-ease)}
.ed-dialog.is-sm{width:min(560px,100%)}
@keyframes eUp{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
.ed-dh{display:flex;align-items:center;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--e-line)}
.ed-dh b{font-size:19px;flex:1}.ed-dh small{display:block;font-weight:500;color:var(--e-mute);font-size:13.5px}
.ed-db{padding:20px;overflow-y:auto}
.ed-df{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--e-line)}
.lib-h{font-size:14px;font-weight:700;color:var(--e-sub);margin:4px 2px 12px}
.lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}
.lib-card{cursor:pointer;display:block;text-align:left;border:1.5px solid var(--e-line);border-radius:14px;overflow:hidden;background:#fff;transition:border-color .15s,transform .2s var(--e-ease),box-shadow .2s}
.lib-card:hover{border-color:var(--e-brand);transform:translateY(-3px);box-shadow:0 18px 36px -24px rgba(20,20,40,.35)}
.lib-card .ed-mini{aspect-ratio:16/9}
.lib-meta{padding:12px 14px;display:flex;gap:10px;align-items:center;border-top:1px solid var(--e-line)}
.lib-meta b{display:block;font-size:15px}.lib-meta small{color:var(--e-mute);font-size:12.5px}
.lib-meta .ed-li-ico{flex:none}
.sub-sum{background:var(--e-soft);border-radius:14px;padding:14px 16px;margin-bottom:18px;font-size:14px;line-height:1.8}
.sub-sum dt{float:left;width:84px;color:var(--e-mute)}.sub-sum dd{margin:0 0 0 84px;font-weight:600}
.sub-opts{display:grid;gap:8px;margin-bottom:18px}
.sub-opt{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1.5px solid var(--e-line);border-radius:14px;cursor:pointer}
.sub-opt input{margin-top:4px;accent-color:var(--e-brand);width:18px;height:18px;flex:none}
.sub-opt b{display:block;font-size:15px}.sub-opt small{color:var(--e-sub);font-size:13.5px}
.sub-opt.is-on{border-color:var(--e-brand);background:#FFFAF6}
.sub-done{text-align:center;padding:10px 0}
.sub-done .e-ico{width:52px;height:52px;color:var(--e-brand);margin:0 auto 12px;display:block}
.sub-done b{display:block;font-size:19px;margin-bottom:6px}.sub-done p{color:var(--e-sub);margin:0 0 18px}

/* 알림 */
.ed-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;z-index:100;background:#16171A;color:#fff;padding:12px 16px 12px 18px;border-radius:12px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:12px;box-shadow:0 14px 30px -10px rgba(0,0,0,.4);transition:all .3s var(--e-ease);pointer-events:none;max-width:calc(100vw - 32px)}
.ed-toast.is-on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.ed-toast button{color:#FFB27A;font-weight:700}

/* 휴대폰 아래 탭 (편집기를 휴대폰에서 열 때) */
.ed-mnav{display:none}
.ed-sheet-bg{display:none}

@media (max-width:1180px){:root{--e-left:248px;--e-right:296px}}
@media (max-width:1023px){
  :root{--e-top:56px}
  .ed-logo span,.ed-dev,.ed-save,.ed-acts .lbl{display:none}
  .ed-top{padding:0 8px 0 14px;gap:4px}
  .ed-acts .e-btn{padding:0 10px}
  .ed-body{grid-template-columns:1fr;bottom:64px}
  .ed-canvas{padding:0}.ed-frame{border-radius:0;box-shadow:none;max-width:none!important;max-height:none!important}
  .ed-left,.ed-right{position:fixed;left:0;right:0;bottom:64px;max-height:min(72vh,640px);border:0;border-radius:20px 20px 0 0;box-shadow:0 -20px 40px -20px rgba(0,0,0,.3);transform:translateY(110%);transition:transform .35s var(--e-ease);z-index:60}
  .ed-left.is-open,.ed-right.is-open{transform:none}
  .ed-left::before,.ed-right::before{content:"";display:block;width:40px;height:4px;border-radius:9px;background:#D5D7DC;margin:8px auto 0}
  .ed-tabs{display:none}
  .ed-sheet-bg{display:block;position:fixed;inset:0 0 64px 0;background:rgba(0,0,0,.25);z-index:55;opacity:0;pointer-events:none;transition:opacity .3s}
  .ed-sheet-bg.is-on{opacity:1;pointer-events:auto}
  .ed-mnav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;height:64px;background:#fff;border-top:1px solid var(--e-line);z-index:65;padding-bottom:env(safe-area-inset-bottom)}
  .ed-mnav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;font-weight:700;color:var(--e-mute)}
  .ed-mnav button.is-on{color:var(--e-brand-d)}
  .ed-mnav button:disabled{opacity:.35}
  .ed.is-preview .ed-mnav{display:none}.ed.is-preview .ed-body{bottom:0}
  .onb-wrap{padding:32px 20px 60px}.onb-h{font-size:26px}.onb-d{font-size:15.5px;margin-bottom:26px}
  .onb-inds,.onb-presets,.onb-other .onb-presets{grid-template-columns:1fr}
  .onb-steps em{width:10px}.onb-steps span i{display:none}
  .lib-grid{grid-template-columns:1fr 1fr;gap:10px}
  .ed-modal{padding:0;align-items:flex-end}.ed-dialog{border-radius:20px 20px 0 0;max-height:92vh}
  .ed-frame .ed-tb{top:auto;bottom:12px;right:50%;transform:translateX(50%)}
}
@media (max-width:560px){.lib-grid{grid-template-columns:1fr}.onb-preset-meta .e-btn{display:none}.ed-acts .sep{display:none}.ed-acts{gap:0}}

/* =========================================================
   v2 — 여러 페이지 · 게시판 · 글 편집 · 사진 확인
   ========================================================= */
.ed-tabs{gap:0;padding:10px 8px 0}.ed-tabs button{font-size:13.5px}
.ed-sep{height:1px;background:var(--e-line);margin:18px -14px 18px}
.ed-note{display:flex;gap:8px;align-items:flex-start;padding:11px 12px;border-radius:12px;background:#F6F7FF;color:#4A4F68;font-size:13px;line-height:1.55}
.ed-note .e-ico{margin-top:1px;color:#6B72A8}
.ed-warn{color:#D83A3A;font-size:12.5px;margin:-6px 2px 12px}
.ed-usage{font-size:12.5px;color:var(--e-mute);margin:8px 2px 0;line-height:1.55}.ed-usage b{color:var(--e-brand-d);font-weight:600}
/* 지금 보고 있는 페이지 */
.ed-crumb{display:flex;align-items:center;gap:6px;padding:12px 22px 0;font-size:13px;font-weight:600;color:var(--e-sub);min-height:32px}
.ed-crumb span{display:inline-flex;align-items:center;gap:5px}.ed-crumb .e-ico{width:15px;height:15px;color:var(--e-mute)}.ed-crumb .sep{color:var(--e-mute)}
.ed-crumb+.ed-canvas{padding-top:10px}
/* 페이지 목록 */
.ed-pages{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ed-pg{border-radius:12px;border:1px solid transparent}
.ed-pg-row{display:flex;align-items:center;gap:8px;padding:6px 4px 6px 8px;border-radius:11px;cursor:pointer}
.ed-pg-row:hover{background:var(--e-soft)}
.ed-pg.is-on>.ed-pg-row{background:var(--e-brand-l)}
.ed-pg.is-on .ed-pg-ico{background:var(--e-brand);color:#fff}
.ed-pg.is-child{margin-left:18px;position:relative}
.ed-pg.is-child::before{content:"";position:absolute;left:-10px;top:-4px;width:8px;height:22px;border-left:1.5px solid var(--e-line);border-bottom:1.5px solid var(--e-line);border-bottom-left-radius:6px}
.ed-pg.is-open{border-color:var(--e-line);background:#fff;box-shadow:0 8px 20px -14px rgba(20,20,40,.3)}
.ed-pg-ico{width:30px;height:30px;border-radius:9px;background:var(--e-soft);display:grid;place-items:center;flex:none;color:var(--e-sub)}
.ed-pg-ico .e-ico{width:16px;height:16px}
.ed-pg-name{flex:1;min-width:0;font-weight:700;font-size:14px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-pg-name small{display:block;font-weight:500;font-size:12px;color:var(--e-mute)}
.ed-pgset{padding:6px 10px 12px}
.ed-pgset .ed-field{margin-bottom:10px}
.ed-slug{display:flex;align-items:center;border:1px solid var(--e-line);border-radius:10px;background:#fff;overflow:hidden}
.ed-slug em{font-style:normal;color:var(--e-mute);padding:0 2px 0 10px}.ed-slug .ed-in{border:0!important;padding-left:2px;box-shadow:none!important}
.ed-pgbtns{display:flex;gap:6px;margin-top:10px}.ed-pgbtns .e-btn{flex:1;height:34px;font-size:13px;padding:0 8px}
/* 게시판 · 글 */
.ed-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.ed-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:99px;border:1px solid var(--e-line)!important;background:#fff;font-weight:700;font-size:13.5px;color:var(--e-sub)}
.ed-chip small{font-size:11.5px;font-weight:700;background:var(--e-soft);border-radius:99px;padding:1px 7px;color:var(--e-mute)}
.ed-chip.is-on{background:var(--e-ink);border-color:var(--e-ink)!important;color:#fff}.ed-chip.is-on small{background:rgba(255,255,255,.18);color:#fff}
.ed-chip-add{border-style:dashed!important;color:var(--e-mute)}.ed-chip-add .e-ico{width:15px;height:15px}
.ed-bdbox{border:1px solid var(--e-line);border-radius:14px;margin-bottom:8px}
.ed-bdhd{display:flex;align-items:center;gap:8px;padding:8px 6px 8px 10px;cursor:pointer;border-radius:13px}
.ed-bdhd:hover{background:var(--e-soft)}
.ed-bdbox.is-open .ed-bdhd{border-bottom:1px solid var(--e-line);border-radius:13px 13px 0 0}
.ed-bdset{padding:12px}
.ed-posts{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ed-post{display:flex;align-items:center;gap:10px;padding:6px;border-radius:12px;cursor:pointer;border:1px solid transparent}
.ed-post:hover{background:var(--e-soft)}
.ed-post.is-on{background:var(--e-brand-l);border-color:#FFD2B5}
.ed-post-th{width:44px;height:44px;border-radius:9px;overflow:hidden;background:var(--e-soft);flex:none;display:grid;place-items:center;color:var(--e-mute)}
.ed-post-th img,.ed-post-th svg.ms-illo{width:100%;height:100%;object-fit:cover;display:block}
.ed-post-t{flex:1;min-width:0;font-weight:700;font-size:13.5px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-post-t small{display:block;font-weight:500;font-size:12px;color:var(--e-mute)}
.ed-post-ord{display:flex;flex-direction:column}.ed-post-ord .e-icon-btn{width:26px;height:22px}.ed-post-ord .e-ico{width:14px;height:14px}
/* 글 본문 도구 */
.ed-mdbar{display:flex;gap:4px;margin-bottom:6px}
.ed-mdbar button{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;border-radius:8px;background:var(--e-soft);font-size:12.5px;font-weight:700;color:var(--e-sub)}
.ed-mdbar button:hover{background:var(--e-soft2);color:var(--e-ink)}.ed-mdbar .e-ico{width:15px;height:15px}
.ed-body-in{min-height:200px;line-height:1.7}
/* 그림 고르기: 없음 · 기본 표시 */
.ed-img-none{display:grid;place-items:center;font-size:12.5px;font-weight:700;color:var(--e-mute);border:1.5px dashed #D5D7DC!important}
.ed-img-none.is-on{border:2px solid var(--e-brand)!important;color:var(--e-brand-d)}
.ed-img-tag{position:absolute;left:4px;bottom:4px;font-style:normal;font-size:10.5px;font-weight:700;background:rgba(0,0,0,.55);color:#fff;border-radius:6px;padding:1px 5px}
.ed-img .ms-img,.ed-img .ms-illo{width:100%;height:100%;object-fit:cover;display:block}
/* 사용량 */
.ed-meter{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;margin:0 2px 10px;font-size:13px;align-items:center}
.ed-meter dt{color:var(--e-sub);font-weight:600}.ed-meter dd{margin:0;color:var(--e-mute)}.ed-meter dd b{color:var(--e-ink)}
.ed-meter i{display:block;height:5px;border-radius:9px;background:var(--e-soft2);margin-top:5px;overflow:hidden}.ed-meter em{display:block;height:100%;background:var(--e-brand);border-radius:9px}
/* 섹션 추가 창 묶음 제목 */
.lib-h small{font-weight:500;color:var(--e-mute);margin-left:6px}
/* 페이지 추가 창 */
.pg-kinds{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.pg-kind{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:14px;border:1.5px solid var(--e-line)!important;border-radius:14px;background:#fff}
.pg-kind i{width:36px;height:36px;border-radius:10px;background:var(--e-soft);display:grid;place-items:center;flex:none;color:var(--e-sub)}
.pg-kind b{display:block;font-size:15px;margin-bottom:2px}.pg-kind small{color:var(--e-mute);font-size:12.5px;line-height:1.5}
.pg-kind.is-on{border-color:var(--e-brand)!important;box-shadow:0 0 0 4px var(--e-brand-l)}.pg-kind.is-on i{background:var(--e-brand);color:#fff}
/* 사진 확인 */
.consent-list{margin:0;padding:0 0 0 18px;display:grid;gap:10px;font-size:14px;line-height:1.6;color:var(--e-sub)}
.consent-list b{color:var(--e-ink)}
/* 신청: 더할 기능 */
.sub-adds{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.sub-add{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--e-line);border-radius:99px;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--e-sub)}
.sub-add input{accent-color:var(--e-brand);margin:0}.sub-add.is-on{border-color:var(--e-brand);background:#FFFAF6;color:var(--e-ink)}
/* 시작 화면: 업종 3개 */
.onb-inds{grid-template-columns:repeat(3,1fr)}
.onb-ind{flex-direction:column;gap:10px}
@media (max-width:1023px){
  .ed-mnav{grid-template-columns:repeat(5,1fr)}
  .ed-mnav button{font-size:11.5px}
  .ed-crumb{display:none}
  .ed-crumb+.ed-canvas{padding-top:0}
  .pg-kinds{grid-template-columns:1fr}
  .onb-ind{flex-direction:row}
}
.ed-flipx{transform:scaleX(-1)}
