/* ===========================================================
   KOREACOSPACK — 수출 인증 서류 안내 (사이트 내장용)
   - 본 사이트 헤더/푸터와 충돌하지 않도록 모든 클래스에 cp- 접두어
   - 다크(네이비) 테마, 제목 서체는 본 사이트와 동일(Noto Serif KR), 포인트 #d81e79
   =========================================================== */
#cplApp{
  --accent:#d81e79;
  --accent-tint:rgba(216,30,121,.14);
  --accent-line:rgba(216,30,121,.5);
  --ink:#eef1f8;
  --ink-2:rgba(233,237,247,.72);
  --muted:rgba(233,237,247,.45);
  --line:rgba(255,255,255,.12);
  --line-2:rgba(255,255,255,.22);
  --surface:rgba(255,255,255,.04);
  --surface-2:rgba(255,255,255,.08);
  --font-serif:'Noto Serif KR','Cormorant Garamond',Georgia,serif;
  --font-body:'Pretendard','Pretendard Variable',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',system-ui,sans-serif;
  --maxw:1440px;
  --pad:30px;

  position:relative;color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;letter-spacing:-0.01em;
  -webkit-font-smoothing:antialiased;
}
#cplApp *{box-sizing:border-box}
#cplApp a{color:inherit;text-decoration:none}
#cplApp button{font-family:inherit;cursor:pointer}
#cplApp .cp-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
#cplApp .cp-eyebrow{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.55)}

/* ---------- hero ---------- */
#cplApp .cp-hero{position:relative;overflow:hidden;padding:clamp(50px,7vw,110px) 0 clamp(44px,5vw,70px);border-bottom:1px solid var(--line)}
#cplApp .cp-hero::before{
  content:"COMPLIANCE";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-weight:800;font-size:clamp(110px,18vw,300px);color:rgba(255,255,255,.03);white-space:nowrap;letter-spacing:.02em;pointer-events:none;
}
#cplApp .cp-hero .cp-wrap{position:relative;z-index:1}
#cplApp .cp-hero h1{font-family:var(--font-serif);font-weight:300;letter-spacing:-.01em;color:#fff;
  font-size:clamp(44px,5.6vw,84px);line-height:1.15;margin:26px 0 0}
#cplApp .cp-hero h1 small{display:block;font-family:var(--font-body);font-size:.3em;font-weight:600;letter-spacing:.02em;color:#979ca3;margin-top:20px}
#cplApp .cp-lede{margin:26px 0 0;font-size:17px;line-height:1.85;font-weight:300;color:var(--ink-2);max-width:60ch}
#cplApp .cp-search{margin-top:38px;display:flex;align-items:center;gap:12px;max-width:600px;
  background:var(--surface);border:1px solid var(--line-2);padding:15px 18px;transition:border-color .2s}
#cplApp .cp-search:focus-within{border-color:#fff}
#cplApp .cp-search svg{flex:0 0 auto;color:var(--muted)}
#cplApp .cp-search input{border:0;outline:0;background:transparent;flex:1;min-width:0;font-size:16px;color:#fff;font-family:inherit;letter-spacing:-0.01em}
#cplApp .cp-search input::placeholder{color:var(--muted)}
#cplApp .cp-search .cp-clear{border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:600}
#cplApp .cp-legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px;font-size:13px;color:var(--muted)}
#cplApp .cp-legend b{font-weight:700;letter-spacing:.04em;color:var(--ink-2)}
#cplApp .cp-legend .cp-lk{display:inline-flex;align-items:center;gap:8px}
#cplApp .cp-dot{width:9px;height:9px;border-radius:50%;display:inline-block}

/* ---------- section shell ---------- */
#cplApp .cp-sec{padding:clamp(54px,6vw,90px) 0}
#cplApp .cp-sec + .cp-sec{border-top:1px solid var(--line)}
#cplApp .cp-sec-head h2{font-family:var(--font-serif);font-size:clamp(28px,3.2vw,44px);font-weight:300;line-height:1.25;color:#fff;margin:14px 0 0}
#cplApp .cp-sec-head p{color:var(--ink-2);font-size:16px;font-weight:300;line-height:1.8;margin:14px 0 0;max-width:66ch}

/* ---------- 국가 선택(레일) + 서류 카드 ---------- */
#cplApp .cp-split{display:grid;grid-template-columns:270px 1fr;gap:54px;margin-top:40px;align-items:start}
#cplApp .cp-rail{position:sticky;top:130px;display:flex;flex-direction:column;gap:4px}
#cplApp .cp-ri{text-align:left;background:transparent;padding:16px 18px;display:flex;flex-direction:column;gap:4px;
  color:var(--ink-2);border:1px solid transparent;border-left:2px solid var(--line);transition:all .2s}
#cplApp .cp-ri .cp-code{font-size:10.5px;font-weight:800;letter-spacing:.14em;color:var(--muted)}
#cplApp .cp-ri .cp-nm{font-size:16px;font-weight:700;color:var(--ink)}
#cplApp .cp-ri .cp-tg{font-size:12px;color:var(--muted)}
#cplApp .cp-ri:hover{background:var(--surface)}
#cplApp .cp-ri.on{background:var(--surface-2);border-left-color:var(--accent)}
#cplApp .cp-ri.on .cp-code{color:#ff6fb0}
#cplApp .cp-intro{display:flex;gap:18px;align-items:flex-start;margin:0 0 22px}
#cplApp .cp-intro .cp-tagb{flex:0 0 auto;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#ff8cc0;border:1px solid var(--accent-line);border-radius:999px;padding:6px 13px;background:var(--accent-tint);white-space:nowrap}
#cplApp .cp-intro p{margin:3px 0 0;color:var(--ink-2);font-size:16px;font-weight:300;line-height:1.75;max-width:74ch}
#cplApp .cp-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
#cplApp .cp-dcard{background:var(--surface);border:1px solid var(--line);padding:20px 20px 17px;
  display:flex;flex-direction:column;gap:10px;min-height:136px;transition:transform .18s,border-color .18s,background .18s}
#cplApp .cp-dcard.clickable{cursor:pointer}
#cplApp .cp-dcard.clickable:hover{transform:translateY(-2px);border-color:var(--accent-line);background:var(--surface-2)}
#cplApp .cp-dcard .cp-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#cplApp .cp-dcard .cp-nm{font-size:16.5px;font-weight:700;letter-spacing:-0.015em;color:#fff}
#cplApp .cp-dcard .cp-ds{font-size:14px;color:var(--ink-2);font-weight:300;flex:1;line-height:1.6}
#cplApp .cp-view{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--ink);white-space:nowrap}
#cplApp .cp-view.dim{color:var(--muted);font-weight:600}
#cplApp .cp-dcard.clickable:hover .cp-view{color:#ff8cc0}

/* badges */
#cplApp .cp-bdg{font-size:11px;font-weight:800;letter-spacing:.02em;padding:3px 10px;border-radius:999px;white-space:nowrap;flex:0 0 auto}
#cplApp .cp-bdg.cospack{background:var(--accent);color:#fff}
#cplApp .cp-bdg.support{background:transparent;color:#ff8cc0;border:1px solid var(--accent-line)}
#cplApp .cp-bdg.external{background:transparent;color:var(--muted);border:1px solid var(--line-2)}
#cplApp .cp-bdg.phys{background:#fff;color:#000F31}

/* ---------- 검색 결과 (목록형) ---------- */
#cplApp .cp-reqlist{margin-top:30px;border-top:1px solid var(--line)}
#cplApp .cp-req{display:grid;grid-template-columns:34px 1fr auto;gap:18px;align-items:center;padding:22px 6px;border-bottom:1px solid var(--line);transition:background .15s}
#cplApp .cp-req .cp-idx{font-size:12px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
#cplApp .cp-req .cp-nm{font-size:17px;font-weight:700;color:#fff;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#cplApp .cp-req .cp-ds{font-size:14px;color:var(--ink-2);font-weight:300;margin-top:4px}
#cplApp .cp-req.clickable{cursor:pointer}
#cplApp .cp-req.clickable:hover{background:var(--surface)}
#cplApp .cp-req.clickable:hover .cp-view{color:#ff8cc0}
#cplApp .cp-empty{padding:60px 0;text-align:center;color:var(--muted);font-size:16px}

/* ---------- 표준 견본 라이브러리 ---------- */
#cplApp .cp-lib{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}
#cplApp .cp-libitem{background:var(--surface);border:1px solid var(--line);overflow:hidden;cursor:pointer;
  display:flex;flex-direction:column;transition:transform .18s,border-color .18s,background .18s}
#cplApp .cp-libitem:hover{transform:translateY(-3px);border-color:var(--accent-line);background:var(--surface-2)}
#cplApp .cp-thumb{position:relative;aspect-ratio:1/1.05;background:#e9e7e2;overflow:hidden}
#cplApp .cp-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .6s cubic-bezier(.2,.6,.2,1)}
#cplApp .cp-libitem:hover .cp-thumb img{transform:scale(1.05)}
#cplApp .cp-pages{position:absolute;top:10px;right:10px;background:rgba(0,15,49,.85);color:#fff;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:.03em}
#cplApp .cp-meta{padding:16px 17px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
#cplApp .cp-meta .cp-nm{font-size:15.5px;font-weight:700;color:#fff;letter-spacing:-0.015em}
#cplApp .cp-meta .cp-ds{font-size:13px;color:var(--ink-2);font-weight:300;flex:1;line-height:1.55}
#cplApp .cp-meta .cp-go{font-size:12.5px;font-weight:700;color:#ff8cc0;display:inline-flex;align-items:center;gap:6px;margin-top:4px}

/* ---------- 문의 유도 (패키징 페이지와 동일 톤) ---------- */
#cplApp .cp-cta{text-align:center;padding:clamp(50px,7vw,96px) 0 clamp(20px,4vw,50px);border-top:1px solid var(--line)}
#cplApp .cp-cta h3{font-family:var(--font-serif);font-weight:300;font-size:clamp(26px,3.2vw,42px);line-height:1.3;color:#fff;margin:0 0 14px}
#cplApp .cp-cta p{color:var(--ink-2);font-size:17px;font-weight:300;margin:0 0 30px}
#cplApp .cp-cta a{display:inline-block;border:1px solid rgba(255,255,255,.4);color:#fff;padding:16px 46px;font-size:15px;letter-spacing:.08em;transition:all .25s}
#cplApp .cp-cta a:hover{background:#fff;color:#000F31;border-color:#fff}
#cplApp .cp-foot-note{text-align:center;color:var(--muted);font-size:12.5px;padding:0 0 10px}

/* ---------- 견본 뷰어 (body에 붙음) ---------- */
.cp-modal{position:fixed;inset:0;z-index:9999;display:none;flex-direction:column;background:rgba(0,8,26,.9);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:'Pretendard','Pretendard Variable',system-ui,sans-serif}
.cp-modal.open{display:flex}
.cp-modal *{box-sizing:border-box}
.cp-m-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;color:#fff}
.cp-m-ti{min-width:0;flex:1}
.cp-m-ti .cp-m-nm{font-size:16px;font-weight:700;letter-spacing:-0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-m-ti .cp-m-sub{font-size:12px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:8px;margin-top:4px;white-space:nowrap}
.cp-m-tools{display:flex;align-items:center;gap:8px}
.cp-m-tools button{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;
  width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .2s}
.cp-m-tools button:hover{background:rgba(255,255,255,.2)}
.cp-m-tools button:disabled{opacity:.3;cursor:default}
.cp-m-tools .cp-m-pg{font-size:13px;font-weight:700;min-width:60px;text-align:center;color:rgba(255,255,255,.9);font-variant-numeric:tabular-nums}
.cp-m-tools .cp-gap{width:8px;display:inline-block}
.cp-m-stage{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:8px 22px 30px}
.cp-m-stage::-webkit-scrollbar{width:10px;height:10px}
.cp-m-stage::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:8px}
.cp-m-doc{background:#e9e7e2;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);user-select:none;-webkit-user-drag:none;transition:width .18s ease;max-width:none;flex:0 0 auto}
.cp-m-doc img{width:100%;display:block;pointer-events:none;user-select:none;-webkit-user-drag:none}
.cp-m-foot{text-align:center;color:rgba(255,255,255,.5);font-size:12px;padding:0 0 16px;letter-spacing:.02em}

/* responsive */
@media(max-width:1100px){
  #cplApp .cp-lib{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  #cplApp .cp-lib{grid-template-columns:repeat(2,1fr)}
  #cplApp .cp-split{grid-template-columns:1fr;gap:26px}
  #cplApp .cp-rail{position:static;flex-direction:row;flex-wrap:wrap}
  #cplApp .cp-ri{flex:1 1 150px;border-left:1px solid var(--line);border-bottom:2px solid var(--line)}
  #cplApp .cp-ri.on{border-left-color:var(--line);border-bottom-color:var(--accent)}
  #cplApp .cp-cards{grid-template-columns:1fr}
}
@media(max-width:620px){
  #cplApp{--pad:18px}
  #cplApp .cp-req{grid-template-columns:1fr;gap:8px}
  #cplApp .cp-req .cp-idx{display:none}
  #cplApp .cp-lib{grid-template-columns:1fr 1fr;gap:12px}
  #cplApp .cp-intro{flex-direction:column;gap:10px}
  .cp-m-bar{padding:12px 14px}
  .cp-m-tools button{width:36px;height:36px}
}
