/* cocktailmedia.co.kr (오픈타임 SEO) 디자인 레이어 — Tailwind(tailwind.css) 위에 얹는 전용 컴포넌트.
   클래스는 모두 cm- 접두어. pagekit 게이트가 이 파일의 클래스도 '있는 클래스'로 인식한다. */
:root{--cm-navy:#060a1c;--cm-navy2:#0b1230;--cm-ink:#0f172a;--cm-text:#334155;--cm-mute:#64748b;--cm-line:#e2e8f0;
  --cm-brand:#2b59ff;--cm-brand2:#5b7cff;--cm-sky:#7dd3fc;--cm-mint:#34d399;--cm-soft:#f5f7fc;--cm-r:20px}
.cm-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.cm-section{padding:96px 0}
.cm-section-tight{padding:72px 0}
.cm-soft{background:var(--cm-soft)}
.cm-dark{background:var(--cm-navy);color:#e2e8f0}
.cm-dark .cm-h2{color:#fff}
.cm-dark .cm-sub{color:#94a3b8}
.cm-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cm-brand)}
.cm-kicker:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(43,89,255,.15)}
.cm-dark .cm-kicker{color:var(--cm-sky)}
.cm-h2{font-size:clamp(28px,3.6vw,44px);line-height:1.2;letter-spacing:-.03em;font-weight:800;color:var(--cm-ink);margin:14px 0 0}
.cm-sub{font-size:17px;line-height:1.75;color:var(--cm-text);margin-top:16px;max-width:640px}
.cm-head{display:grid;gap:24px;align-items:end;margin-bottom:48px}
.cm-center{text-align:center}
.cm-center .cm-sub{margin-left:auto;margin-right:auto}
.cm-grad{background:linear-gradient(92deg,#8fb0ff 0%,#5b7cff 45%,#7dd3fc 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ── 히어로 ── */
.cm-hero{position:relative;overflow:hidden;background:var(--cm-navy);color:#fff;padding:88px 0 96px}
.cm-hero:before{content:"";position:absolute;inset:0;background:
  radial-gradient(600px 380px at 78% 30%,rgba(43,89,255,.38),transparent 70%),
  radial-gradient(520px 320px at 8% 90%,rgba(125,211,252,.16),transparent 70%);pointer-events:none}
.cm-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 60% 40%,#000 30%,transparent 75%);pointer-events:none}
.cm-hero-grid{position:relative;z-index:1;display:grid;gap:56px;align-items:center}
.cm-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;color:#c7d2fe}
.cm-pill i{width:7px;height:7px;border-radius:50%;background:var(--cm-mint);box-shadow:0 0 12px var(--cm-mint)}
.cm-h1{font-size:clamp(34px,5.2vw,60px);line-height:1.12;letter-spacing:-.035em;font-weight:800;margin:22px 0 0;color:#fff}
.cm-lead{font-size:18px;line-height:1.75;color:#b6c2dc;margin-top:22px;max-width:560px}
.cm-lead b{color:#fff;font-weight:700}
.cm-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.cm-btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:15px 24px;font-size:16px;font-weight:800;text-decoration:none;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.cm-btn:hover{transform:translateY(-2px)}
.cm-btn-primary{background:var(--cm-brand);color:#fff;box-shadow:0 10px 30px rgba(43,89,255,.45)}
.cm-btn-primary:hover{background:#1f44d6;color:#fff}
.cm-btn-ghost{border:1px solid rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.04)}
.cm-btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.cm-btn-dark{background:var(--cm-ink);color:#fff}
.cm-btn-dark:hover{background:#1e293b;color:#fff}
.cm-btn-line{border:1px solid var(--cm-line);color:var(--cm-ink);background:#fff}
.cm-btn-line:hover{border-color:#c7d2fe;color:var(--cm-brand)}
.cm-checks{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;padding:0;list-style:none;font-size:14px;color:#9fb0cf}
.cm-checks li{display:flex;align-items:center;gap:8px}
.cm-checks li:before{content:"";width:16px;height:16px;border-radius:50%;background:rgba(52,211,153,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%2334d399' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.cm-visual{position:relative}
.cm-visual img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.08)}
.cm-visual-note{position:absolute;right:14px;bottom:-12px;font-size:11.5px;color:#7c8aa5;background:rgba(6,10,28,.9);padding:3px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1)}

/* ── 신뢰 지표 ── */
.cm-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--cm-line);border:1px solid var(--cm-line);border-radius:var(--cm-r);overflow:hidden}
.cm-stat{background:#fff;padding:28px 24px}
.cm-stat-num{font-size:clamp(30px,3.4vw,42px);font-weight:800;letter-spacing:-.03em;color:var(--cm-ink);line-height:1}
.cm-stat-num small{font-size:.5em;font-weight:800;margin-left:2px;color:var(--cm-brand)}
.cm-stat-label{margin-top:10px;font-size:14.5px;color:var(--cm-text);line-height:1.5}
.cm-footnote{margin-top:14px;font-size:12.5px;color:var(--cm-mute);line-height:1.6}
.cm-press{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:22px;font-size:14px;color:var(--cm-mute)}
.cm-press a{color:var(--cm-ink);font-weight:700;text-decoration:none;border-bottom:1px solid var(--cm-line)}
.cm-press a:hover{color:var(--cm-brand);border-color:var(--cm-brand)}

/* ── 카드 그리드(벤토) ── */
.cm-bento{display:grid;gap:16px}
.cm-card{position:relative;display:block;background:#fff;border:1px solid var(--cm-line);border-radius:var(--cm-r);padding:28px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
a.cm-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,23,42,.08);border-color:#c7d2fe}
.cm-card h3{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--cm-ink);margin:18px 0 8px}
.cm-card p{font-size:15px;line-height:1.7;color:var(--cm-text);margin:0}
.cm-card ul{margin:14px 0 0;padding:0;list-style:none;font-size:14px;color:var(--cm-text)}
.cm-card li{padding:5px 0 5px 18px;position:relative}
.cm-card li:before{content:"";position:absolute;left:2px;top:13px;width:6px;height:6px;border-radius:2px;background:var(--cm-brand2)}
.cm-more{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:14px;font-weight:800;color:var(--cm-brand)}
.cm-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#eef2ff,#e0f2fe);color:var(--cm-brand)}
.cm-icon svg{width:24px;height:24px}
.cm-num{font-size:12.5px;font-weight:800;color:#94a3b8;letter-spacing:.08em}
.cm-card-feature{background:linear-gradient(150deg,#0b1230 0%,#14205a 100%);border-color:transparent;color:#cbd5e1}
.cm-card-feature h3{color:#fff}
.cm-card-feature p,.cm-card-feature li{color:#b6c2dc}
.cm-card-feature .cm-icon{background:rgba(255,255,255,.08);color:var(--cm-sky)}
.cm-card-feature .cm-more{color:var(--cm-sky)}
.cm-tag{display:inline-block;font-size:11.5px;font-weight:800;color:var(--cm-brand);background:#eef2ff;border-radius:7px;padding:4px 9px}
.cm-card-feature .cm-tag{background:rgba(125,211,252,.12);color:var(--cm-sky)}

/* ── 이미지 + 글 나란히 ── */
.cm-split{display:grid;gap:48px;align-items:center}
.cm-shot{position:relative}
.cm-shot img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid var(--cm-line);box-shadow:0 24px 60px rgba(15,23,42,.10)}
.cm-shot figcaption{margin-top:10px;font-size:12.5px;color:var(--cm-mute)}
.cm-list{margin:24px 0 0;padding:0;list-style:none}
.cm-list li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--cm-line);font-size:15.5px;line-height:1.65;color:var(--cm-text)}
.cm-list li:last-child{border-bottom:1px solid var(--cm-line)}
.cm-list b{color:var(--cm-ink)}
.cm-list i{font-style:normal;width:28px;height:28px;border-radius:8px;background:#eef2ff;color:var(--cm-brand);font-size:13px;font-weight:800;display:grid;place-items:center}

/* ── 진행 단계 ── */
.cm-steps{display:grid;gap:16px;counter-reset:cmstep}
.cm-step{position:relative;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--cm-r);padding:26px 24px}
.cm-step:before{counter-increment:cmstep;content:"0" counter(cmstep);display:block;font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--cm-sky)}
.cm-step h3{color:#fff;font-size:18px;font-weight:800;margin:12px 0 8px;letter-spacing:-.02em}
.cm-step p{color:#9fb0cf;font-size:14.5px;line-height:1.7;margin:0}
.cm-step em{display:inline-block;margin-top:14px;font-style:normal;font-size:12.5px;font-weight:700;color:#c7d2fe;background:rgba(91,124,255,.16);border-radius:999px;padding:4px 10px}

/* ── 요금 ── */
.cm-prices{display:grid;gap:16px}
.cm-price{border-radius:var(--cm-r);padding:32px;background:#fff;border:1px solid var(--cm-line)}
.cm-price-main{background:linear-gradient(160deg,#0b1230,#172463);border-color:transparent;color:#cbd5e1;box-shadow:0 24px 60px rgba(11,18,48,.25)}
.cm-price .cm-tag{margin-bottom:14px}
.cm-price-num{font-size:44px;font-weight:800;letter-spacing:-.03em;color:var(--cm-ink);line-height:1.1}
.cm-price-main .cm-price-num{color:#fff}
.cm-price-num small{font-size:16px;font-weight:700;color:var(--cm-mute);margin-left:6px;letter-spacing:0}
.cm-price-main .cm-price-num small{color:#9fb0cf}
.cm-price p{font-size:15px;line-height:1.7;margin:12px 0 0;color:var(--cm-text)}
.cm-price-main p{color:#b6c2dc}
.cm-incl{display:grid;gap:10px;margin-top:22px;padding:0;list-style:none}
.cm-incl li{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;padding:11px 0;border-bottom:1px dashed var(--cm-line);color:var(--cm-text)}
.cm-incl li b{color:var(--cm-ink);white-space:nowrap}

/* ── 가이드 ── */
.cm-guides{display:grid;gap:16px}
.cm-guide{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--cm-line);border-radius:16px;padding:22px;text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.cm-guide:hover{border-color:#c7d2fe;transform:translateY(-3px)}
.cm-guide strong{font-size:16.5px;line-height:1.45;color:var(--cm-ink);letter-spacing:-.01em}
.cm-guide span{font-size:14px;line-height:1.6;color:var(--cm-mute)}

/* ── 마지막 CTA ── */
.cm-cta{position:relative;overflow:hidden;border-radius:28px;padding:56px 32px;background:linear-gradient(135deg,#1838c9 0%,#2b59ff 55%,#4f8bff 100%);color:#fff;text-align:center}
.cm-cta:before{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-260px;border-radius:50%;background:rgba(255,255,255,.10)}
.cm-cta h2{position:relative;font-size:clamp(26px,3.4vw,40px);line-height:1.25;letter-spacing:-.03em;font-weight:800;color:#fff;margin:0}
.cm-cta p{position:relative;font-size:17px;line-height:1.7;color:#dbe4ff;margin:14px auto 0;max-width:600px}
.cm-cta .cm-actions{position:relative;justify-content:center}
.cm-btn-white{background:#fff;color:#16255f}
.cm-btn-white:hover{background:#eef2ff;color:#16255f}

@media (min-width:768px){
  .cm-stats{grid-template-columns:repeat(4,1fr)}
  .cm-bento{grid-template-columns:repeat(3,1fr)}
  .cm-span2{grid-column:span 2}
  .cm-steps{grid-template-columns:repeat(2,1fr)}
  .cm-prices{grid-template-columns:1.15fr 1fr}
  .cm-guides{grid-template-columns:repeat(3,1fr)}
  .cm-head{grid-template-columns:1.1fr 1fr}
  .cm-cta{padding:72px 48px}
}
@media (min-width:1024px){
  .cm-hero{padding:104px 0 112px}
  .cm-hero-grid{grid-template-columns:1.02fr 1fr}
  .cm-split{grid-template-columns:1.05fr 1fr}
  .cm-split-rev .cm-shot{order:2}
  .cm-steps{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:767px){
  .cm-section{padding:72px 0}
  .cm-hero{padding:64px 0 72px}
  .cm-lead{font-size:16.5px}
}
.cm{display:block}
/* 보정 */
.cm-price-main .cm-incl li{color:#b6c2dc;border-bottom-color:rgba(255,255,255,.14)}
.cm-price-main .cm-incl li b{color:#fff}
.cm-guide .cm-tag{align-self:flex-start}
.cm-visual img{box-shadow:none;border-radius:0;filter:drop-shadow(0 28px 50px rgba(0,0,0,.5))}
.cm-visual-note{bottom:2px;right:2px}
.cm-visual-note,.cm-shot figcaption{font-style:normal}
/* ── 작은 히어로(용어·목록 페이지) ── */
.cm-hero-sm{position:relative;overflow:hidden;background:var(--cm-navy);color:#fff;padding:64px 0 72px}
.cm-hero-sm:before{content:"";position:absolute;inset:0;background:radial-gradient(520px 300px at 85% 20%,rgba(43,89,255,.35),transparent 70%);pointer-events:none}
.cm-hero-sm .cm-wrap{position:relative;z-index:1}
.cm-h1-sm{font-size:clamp(30px,4.2vw,48px);line-height:1.18;letter-spacing:-.03em;font-weight:800;margin:18px 0 0;color:#fff}
.cm-h1-sm span{display:block;font-size:.5em;font-weight:700;letter-spacing:-.01em;color:#9fb6ff;margin-top:12px}
.cm-crumb{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:#8a98b6}
.cm-crumb a{color:#c7d2fe;text-decoration:none}
.cm-crumb a:hover{color:#fff}
.cm-narrow{max-width:800px;margin:0 auto}
.cm-def{border-left:4px solid var(--cm-brand);background:#f5f7fc;border-radius:0 16px 16px 0;padding:22px 24px;font-size:17px;line-height:1.75;color:var(--cm-ink);font-weight:600}
.cm-points{margin:28px 0 0;padding:0;list-style:none}
.cm-points li{position:relative;padding:14px 0 14px 34px;border-top:1px solid var(--cm-line);font-size:16px;line-height:1.75;color:var(--cm-text)}
.cm-points li:last-child{border-bottom:1px solid var(--cm-line)}
.cm-points li:before{content:"";position:absolute;left:4px;top:22px;width:16px;height:16px;border-radius:5px;background:linear-gradient(135deg,#5b7cff,#7dd3fc)}
.cm-h3{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--cm-ink);margin:44px 0 0}
.cm-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cm-link{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--cm-line);background:#fff;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:700;color:var(--cm-ink);text-decoration:none}
.cm-link:hover{border-color:#c7d2fe;color:var(--cm-brand)}
.cm-link-out:after{content:"↗";font-size:12px;color:var(--cm-mute)}
.cm-index{display:grid;gap:8px}
.cm-index-row{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--cm-line)}
.cm-index-row b{font-size:18px;font-weight:800;color:var(--cm-brand)}
.cm-index-row div{display:flex;flex-wrap:wrap;gap:8px}
.cm-group{margin-top:56px}
.cm-group .cm-h2{font-size:clamp(24px,2.8vw,32px)}
/* ── 글 본문 보조 블록 ── */
.cm-summary{background:#f5f7fc;border:1px solid #dbe2f1;border-radius:16px;padding:20px 24px;margin:24px 0}
.cm-summary p{margin:0 0 8px}
.cm-summary ul{margin:0;padding-left:18px}
.cm-summary li{margin:6px 0;line-height:1.7}
.cm-note{background:#fffbeb;border-left:4px solid #f59e0b;border-radius:0 12px 12px 0;padding:14px 18px;color:#78350f;line-height:1.7}
.cm-cta-inline{background:linear-gradient(135deg,#eef2ff,#e0f2fe);border:1px solid #c7d2fe;border-radius:16px;padding:20px 24px;margin:36px 0}
.cm-cta-inline p{margin:0;line-height:1.8}
.cm-source{font-size:13px;color:#64748b;border-top:1px solid #e2e8f0;padding-top:14px;margin-top:36px}
/* 글 본문 목록 번호·글머리 복원 (테마가 list-style 을 지움) */
.elementor-widget-theme-post-content ol{list-style:decimal;padding-left:24px}
.elementor-widget-theme-post-content ul{list-style:disc;padding-left:22px}
.elementor-widget-theme-post-content li{padding-left:4px}
.elementor-widget-theme-post-content li::marker{color:#2b59ff;font-weight:800}
.elementor-widget-theme-post-content figcaption{font-style:normal;font-size:13px;color:#64748b;text-align:center;margin-top:8px}

/* 글 본문: 표·문단 안 코드가 모바일 화면 밖으로 밀지 않게 */
table code,td code,p code,li code{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
td,th{overflow-wrap:anywhere}
