/* 마케팅랩 클래스 (2026-10-30) — 접두어 cx-
   lumex.css 의 [class$="-card"] 일괄 규칙에 걸리지 않게 '-card' 로 끝나는 클래스는 쓰지 않는다. */
.cx-wrap{max-width:1120px;margin:0 auto;padding:8px 0 40px}
.cx-wrap h1,.cx-wrap h2,.cx-wrap h3{letter-spacing:-.045em}
.cx-hero h1{font-size:clamp(28px,4vw,46px);line-height:1.12;font-weight:850;margin:16px 0 14px;color:#fff}
.cx-hero h1 em{font-style:normal;color:var(--lx-lime,#b9ff66)}
.cx-hero .lead{color:rgba(255,255,255,.68);font-size:15.5px;line-height:1.75;max-width:640px;margin:0 0 24px}
.cx-hero-acts{display:flex;gap:10px;flex-wrap:wrap}
.cx-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:34px;border-top:1px solid rgba(255,255,255,.1);padding-top:22px}
.cx-facts b{display:block;color:#fff;font-size:20px;font-weight:850;letter-spacing:-.04em}
.cx-facts span{color:rgba(255,255,255,.5);font-size:12.5px}
@media(max-width:760px){.cx-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.cx-sec{margin:0 0 40px}
.cx-sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.cx-sec-h h2{font-size:clamp(22px,2.6vw,30px);font-weight:850;margin:8px 0 0;color:var(--lx-ink,#0c0c12)}
.cx-sec-h p{margin:6px 0 0;color:var(--lx-muted,#757a87);font-size:14px}

.cx-route{display:grid;grid-template-columns:1fr 40px 1fr;gap:0;align-items:stretch}
.cx-route .arrow{display:flex;align-items:center;justify-content:center;color:#c4c7d0;font-size:20px}
@media(max-width:820px){.cx-route{grid-template-columns:1fr}.cx-route .arrow{transform:rotate(90deg);height:36px}}

.cx-box{background:#fff;border:1px solid var(--lx-line,#e4e5ec);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:12px;color:inherit;text-decoration:none;transition:.18s}
a.cx-box:hover{border-color:#c4b5fd;box-shadow:0 14px 34px rgba(12,12,18,.08);transform:translateY(-2px)}
.cx-box h3{margin:0;font-size:21px;font-weight:850;color:var(--lx-ink,#0c0c12)}
.cx-box p{margin:0;color:#5b606d;font-size:14px;line-height:1.7}
.cx-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;padding:4px 10px;border-radius:99px;background:#f4f0ff;color:#6d28d9;width:max-content}
.cx-tag.lime{background:#f3fce4;color:#3f7d00}
.cx-tag.gray{background:#f1f2f5;color:#5b606d}
.cx-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:#5b606d;font-size:13px}
.cx-meta i{color:#9aa0ad;margin-right:4px}
.cx-price{font-size:22px;font-weight:850;letter-spacing:-.04em;color:var(--lx-ink,#0c0c12)}
.cx-price small{font-size:12px;color:#9aa0ad;font-weight:600;margin-left:4px}
.cx-list{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.cx-list li{position:relative;padding-left:22px;font-size:14px;line-height:1.6;color:#2b2e36}
.cx-list li::before{content:"";position:absolute;left:4px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--lx-lime-d,#4c9800)}

.cx-sched{display:grid;gap:10px}
.cx-srow{display:grid;grid-template-columns:1.4fr 1.6fr .9fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--lx-line,#e4e5ec);border-radius:16px;padding:16px 18px}
.cx-srow b{font-size:15px;color:var(--lx-ink,#0c0c12)}
.cx-srow .sub{font-size:12.5px;color:#757a87;margin-top:3px}
.cx-seats{font-size:13px;font-weight:800}
.cx-seats.few{color:#b45309}.cx-seats.full{color:#dc2626}.cx-seats.ok{color:#15803d}
@media(max-width:820px){.cx-srow{grid-template-columns:1fr;gap:8px}}

.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 20px;border-radius:99px;border:1px solid var(--lx-ink,#0c0c12);
  background:var(--lx-ink,#0c0c12);color:#fff;font-weight:800;font-size:14px;text-decoration:none;cursor:pointer;white-space:nowrap}
.cx-btn:hover{background:#2a2a35;color:var(--lx-lime,#b9ff66)}
.cx-btn.line{background:#fff;color:var(--lx-ink,#0c0c12);border-color:var(--lx-line,#e4e5ec)}
.cx-btn.line:hover{border-color:#a78bfa;color:#6d28d9}
.cx-btn.sm{min-height:36px;padding:0 14px;font-size:13px}
.cx-btn[disabled],.cx-btn.off{opacity:.45;pointer-events:none}

.cx-cur{display:grid;gap:12px}
.cx-cur details{background:#fff;border:1px solid var(--lx-line,#e4e5ec);border-radius:16px;padding:0;overflow:hidden}
.cx-cur summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:800;font-size:15.5px;color:var(--lx-ink,#0c0c12)}
.cx-cur summary::-webkit-details-marker{display:none}
.cx-cur summary span{font-size:12.5px;color:#757a87;font-weight:700;white-space:nowrap}
.cx-cur .body{padding:0 20px 18px}

.cx-two{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.cx-side{position:sticky;top:90px}
@media(max-width:960px){.cx-two{grid-template-columns:1fr}.cx-side{position:static}}

.cx-note{background:#fafafb;border:1px solid var(--lx-line,#e4e5ec);border-radius:16px;padding:18px 20px;font-size:13.5px;line-height:1.8;color:#3d414b;white-space:pre-line}
.cx-faq details{border-bottom:1px solid var(--lx-line2,#eff0f5);padding:14px 2px}
.cx-faq summary{cursor:pointer;font-weight:800;font-size:14.5px;color:var(--lx-ink,#0c0c12)}
.cx-faq p{margin:10px 0 0;color:#5b606d;font-size:14px;line-height:1.75;white-space:pre-line}

.cx-form{display:grid;gap:14px}
.cx-form label{display:block;font-size:13px;font-weight:800;color:#3d414b;margin-bottom:6px}
.cx-form .req{color:#dc2626}
.cx-form input[type=text],.cx-form input[type=tel],.cx-form input[type=email],.cx-form select,.cx-form textarea{
  width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--lx-line,#e4e5ec);border-radius:12px;font-size:14.5px;font-family:inherit;background:#fff}
.cx-form textarea{min-height:90px}
.cx-form .hint{font-size:12.5px;color:#757a87;margin-top:5px;line-height:1.6}
.cx-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.cx-grid2{grid-template-columns:1fr}}
.cx-radio{display:flex;gap:8px;flex-wrap:wrap}
.cx-radio label{display:flex;align-items:center;gap:7px;border:1px solid var(--lx-line,#e4e5ec);border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;margin:0}
.cx-agree{border:1px solid var(--lx-line,#e4e5ec);border-radius:14px;padding:14px 16px;background:#fafafb}
.cx-agree label{display:flex;gap:9px;align-items:flex-start;font-weight:600;margin:6px 0;cursor:pointer}
.cx-agree input{width:18px;height:18px;margin-top:2px;flex:none;-webkit-appearance:checkbox !important;appearance:checkbox !important;accent-color:#0c0c12}

.cx-pay{background:var(--lx-deep,#0a0a10);color:#fff;border-radius:20px;padding:24px}
.cx-pay h3{color:#fff;margin:0 0 12px;font-size:18px}
.cx-pay dl{display:grid;grid-template-columns:90px 1fr;gap:8px 12px;margin:0;font-size:14px}
.cx-pay dt{color:rgba(255,255,255,.5)}
.cx-pay dd{margin:0;font-weight:700}
.cx-pay .big{font-size:20px;color:var(--lx-lime,#b9ff66)}

.cx-my{display:grid;gap:14px}
.cx-my .cx-box{gap:10px}
.cx-st{display:inline-block;padding:4px 11px;border-radius:99px;font-size:12px;font-weight:800}
.cx-st.green{background:#dcfce7;color:#166534}.cx-st.amber{background:#fef3c7;color:#92400e}.cx-st.red{background:#fee2e2;color:#991b1b}
.cx-st.blue{background:#dbeafe;color:#1e40af}.cx-st.gray{background:#f1f2f5;color:#5b606d}
.cx-files a{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--lx-line2,#eff0f5);border-radius:10px;color:inherit;text-decoration:none;font-size:13.5px;margin-bottom:6px}
.cx-files a:hover{border-color:#c4b5fd}

.cx-guide{background:#fff;border:1px solid var(--lx-line,#e4e5ec);border-radius:22px;padding:40px clamp(18px,4vw,56px);line-height:1.85;font-size:15.5px;color:#2b2e36}
.cx-guide h2{font-size:24px;font-weight:850;margin:38px 0 12px;padding-top:24px;border-top:1px solid var(--lx-line2,#eff0f5);color:var(--lx-ink,#0c0c12)}
.cx-guide h2:first-child{margin-top:0;padding-top:0;border-top:0}
.cx-guide h3{font-size:18px;font-weight:800;margin:24px 0 8px;color:var(--lx-ink,#0c0c12)}
.cx-guide table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px;display:block;overflow-x:auto}
.cx-guide th,.cx-guide td{border:1px solid var(--lx-line,#e4e5ec);padding:9px 12px;text-align:left;vertical-align:top}
.cx-guide th{background:#fafafb;font-weight:800;white-space:nowrap}
.cx-guide blockquote{margin:16px 0;padding:14px 18px;border-left:4px solid var(--lx-lime-d,#4c9800);background:#f3fce4;border-radius:0 12px 12px 0}
.cx-guide ul,.cx-guide ol{padding-left:22px}
.cx-empty{text-align:center;padding:40px 20px;color:#9aa0ad;background:#fff;border:1px dashed var(--lx-line,#e4e5ec);border-radius:18px}

[data-theme="dark"] .cx-box,[data-theme="dark"] .cx-srow,[data-theme="dark"] .cx-cur details,[data-theme="dark"] .cx-guide{background:#16161f;border-color:#252533;color:#d8d9e0}
[data-theme="dark"] .cx-box h3,[data-theme="dark"] .cx-srow b,[data-theme="dark"] .cx-sec-h h2,[data-theme="dark"] .cx-cur summary,[data-theme="dark"] .cx-price,[data-theme="dark"] .cx-guide h2,[data-theme="dark"] .cx-guide h3{color:#fff}
[data-theme="dark"] .cx-note,[data-theme="dark"] .cx-agree{background:#12121b;border-color:#252533;color:#c9cad3}

/* 사이트 공통 button 규칙이 덮어써서 흰 버튼으로 보이던 것 */
button.cx-btn{background:var(--lx-ink,#0c0c12) !important;color:#fff !important;border:1px solid var(--lx-ink,#0c0c12) !important;border-radius:99px !important;min-height:46px;font-weight:800 !important}
button.cx-btn:hover{background:#2a2a35 !important;color:var(--lx-lime,#b9ff66) !important}
button.cx-btn.line{background:#fff !important;color:var(--lx-ink,#0c0c12) !important;border-color:var(--lx-line,#e4e5ec) !important}
