/* =====================================================================
   제품 카탈로그 (2차 개편) — 목록/상세 공용                 [2026-08-29]
   · 벤치마킹(CTKCLIP)식 구성: 상단 펼침 필터 → 선택 칩 → 카드 그리드
   · 색 원칙: 무채색 기본, 포인트는 사이트 민트(#17b5a9) 한 가지.
     OTC 배지만 예외적으로 빨강(자료 지시).
   ===================================================================== */
/* 사이트 컨테이너(1200px)와 맞춘다 — 우측 고정 퀵메뉴와 겹치지 않게 */
.cp-wrap{max-width:1200px;margin:0 auto;padding:0 20px 80px;}
.cp-crumb{display:flex;align-items:center;gap:8px;font-size:13px;color:#868e96;padding:18px 0 22px;flex-wrap:wrap;}
.cp-crumb a{color:#868e96;text-decoration:none;} .cp-crumb a:hover{color:#17b5a9;}
.cp-crumb .sep{color:#ced4da;} .cp-crumb b{color:#212529;font-weight:600;}
.cp-crumb svg{width:14px;height:14px;vertical-align:-2px;}

/* 카테고리 탭 */
.cp-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.cp-cats a{display:inline-block;padding:11px 26px;border-radius:8px;background:#f1f3f5;color:#868e96;font-size:15px;font-weight:600;text-decoration:none;transition:.15s;}
.cp-cats a:hover{background:#e9ecef;color:#343a40;}
.cp-cats a.on{background:#212529;color:#fff;}

/* 필터 바 */
.cp-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-bottom:16px;border-bottom:1px solid #e9ecef;position:relative;}
.cp-dd{position:relative;}
.cp-dd-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px 10px 16px;border:1px solid #dee2e6;border-radius:8px;background:#fff;font-size:14px;color:#343a40;cursor:pointer;font-family:inherit;line-height:1.2;}
.cp-dd-btn:hover{border-color:#adb5bd;}
.cp-dd-btn .n{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;background:#212529;color:#fff;font-size:11px;font-weight:700;padding:0 5px;}
.cp-dd-btn .car{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #495057;transition:.15s;}
.cp-dd.open .cp-dd-btn{border-color:#212529;}
.cp-dd.open .cp-dd-btn .car{transform:rotate(180deg);}
.cp-dd-btn.has{border-color:#212529;}
.cp-dd-panel{display:none;position:absolute;left:0;top:calc(100% + 6px);min-width:200px;background:#fff;border:1px solid #212529;border-radius:10px;padding:10px 6px;z-index:30;box-shadow:0 8px 24px rgba(0,0,0,.08);}
.cp-dd.open .cp-dd-panel{display:block;}
.cp-dd-panel label{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:14px;color:#343a40;cursor:pointer;border-radius:6px;white-space:nowrap;}
.cp-dd-panel label:hover{background:#f8f9fa;}
.cp-dd-panel input{width:16px;height:16px;accent-color:#212529;margin:0;}
.cp-tg{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid #dee2e6;border-radius:8px;background:#fff;font-size:14px;color:#343a40;cursor:pointer;font-family:inherit;line-height:1.2;}
.cp-tg.on{background:#212529;border-color:#212529;color:#fff;}

/* 선택 칩 */
.cp-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 0 6px;min-height:20px;}
.cp-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;background:#f1f3f5;border-radius:6px;font-size:13px;color:#343a40;}
.cp-chip a{color:#868e96;text-decoration:none;font-size:15px;line-height:1;} .cp-chip a:hover{color:#212529;}
.cp-clear{margin-left:auto;font-size:13px;color:#495057;text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.cp-clear:hover{color:#17b5a9;}

/* 상단 정보 줄 */
.cp-bar{display:flex;justify-content:space-between;align-items:center;padding:18px 0 22px;font-size:14px;color:#343a40;}
.cp-bar .cnt b{font-weight:700;}
.cp-bar select{border:0;background:transparent;font-size:13px;color:#495057;font-family:inherit;cursor:pointer;padding:4px 0;}

/* 카드 그리드 */
.cp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 22px;}
.cp-card{display:block;text-decoration:none;color:inherit;}
/* 제품 사진은 흰 배경 팩샷이 많아 cover 로 자르지 않고 contain 으로 여백을 준다 */
.cp-card .pic{position:relative;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#f3f4f6;}   /* [2026-08-29] ctkclip 처럼 사진이 박스를 꽉 채움 */
.cp-card .pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.cp-card:hover .pic img{transform:scale(1.05);}
.cp-card .pic .nopic{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#ced4da;font-size:13px;}
.cp-badges{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;gap:5px;}
.cp-bd{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;padding:4px 8px;border-radius:5px;line-height:1.2;color:#fff;background:rgba(33,37,41,.72);backdrop-filter:blur(2px);}
.cp-bd.otc{background:#e03131;} .cp-bd.gl{background:#17b5a9;}
.cp-card .cat{font-size:12px;color:#868e96;margin:14px 0 4px;}
.cp-card .nm{font-size:16px;font-weight:700;color:#212529;line-height:1.4;word-break:keep-all;}
.cp-card .br{font-size:12px;color:#adb5bd;margin-top:4px;}
.cp-empty{grid-column:1/-1;padding:80px 0;text-align:center;color:#adb5bd;font-size:15px;}

/* 페이징 */
.cp-paging{display:flex;justify-content:center;gap:6px;padding-top:50px;}
.cp-paging a{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:14px;color:#495057;text-decoration:none;border:1px solid transparent;}
.cp-paging a:hover{border-color:#dee2e6;} .cp-paging a.on{background:#212529;color:#fff;}

/* ---------- 상세 ---------- */
.cp-top{display:grid;grid-template-columns:100px 1fr 1fr;gap:26px;align-items:start;margin-top:8px;}
.cp-thumbs{display:flex;flex-direction:column;gap:12px;}
.cp-thumbs button{width:100px;height:100px;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#f1f3f5;padding:0;cursor:pointer;}
.cp-thumbs button.on{border-color:#212529;}
.cp-thumbs img{width:100%;height:100%;object-fit:cover;display:block;background:#f3f4f6;}
.cp-main{aspect-ratio:1/1;border-radius:20px;overflow:hidden;background:#f3f4f6;}
.cp-main img{width:100%;height:100%;object-fit:cover;display:block;}
.cp-info{padding-top:8px;}
.cp-info .fno{font-size:14px;color:#868e96;letter-spacing:.02em;}
.cp-info h1{font-size:30px;font-weight:700;color:#212529;margin:8px 0 14px;line-height:1.3;word-break:keep-all;}
.cp-info .badges{display:flex;gap:6px;margin-bottom:26px;}
.cp-info .badges .cp-bd{position:static;font-size:12px;padding:4px 10px;}
.cp-info hr{border:0;border-top:1px solid #e9ecef;margin:0 0 24px;}
.cp-info .pre{font-size:14px;color:#868e96;line-height:1.7;margin-bottom:18px;}
.cp-info .intro{font-size:16px;color:#343a40;line-height:1.8;margin-bottom:28px;word-break:keep-all;}
.cp-info .moq{display:flex;align-items:baseline;gap:14px;font-size:15px;color:#343a40;margin-bottom:30px;}
.cp-info .moq b{font-size:20px;font-weight:700;color:#212529;} .cp-info .moq small{color:#868e96;font-size:13px;}
.cp-info .moq .ctry{margin-left:auto;font-size:13px;color:#868e96;}
.cp-btns{display:flex;gap:10px;}
.cp-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:56px;border-radius:10px;border:1px solid #212529;background:#fff;color:#212529;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;font-family:inherit;transition:.15s;}
.cp-btn:hover{background:#212529;color:#fff;}
.cp-btn.p{background:#212529;color:#fff;} .cp-btn.p:hover{background:#17b5a9;border-color:#17b5a9;}
.cp-btn.off{border-color:#dee2e6;color:#adb5bd;cursor:not-allowed;background:#fff;}
.cp-btn svg{width:18px;height:18px;}

.cp-detail{margin-top:70px;}
.cp-detail h2{font-size:22px;font-weight:700;color:#212529;padding-bottom:16px;border-bottom:1px solid #e9ecef;margin:0 0 6px;}
.cp-sec{padding:26px 0 8px;}
.cp-sec h3{font-size:17px;font-weight:700;color:#212529;margin:0 0 12px;}
.cp-sec .tx{font-size:15px;color:#495057;line-height:1.85;white-space:pre-line;word-break:keep-all;}

.cp-rel{margin-top:80px;}
.cp-rel h2{font-size:22px;font-weight:700;color:#212529;margin:0 0 22px;}

/* 샘플 요청 모달 */
.cp-mo{display:none;position:fixed;inset:0;z-index:9990;background:rgba(0,0,0,.5);align-items:center;justify-content:center;padding:20px;}
.cp-mo.on{display:flex;}
.cp-mo-box{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:92vh;overflow:auto;padding:34px 34px 28px;position:relative;}
.cp-mo-box h3{font-size:22px;font-weight:700;margin:0 0 6px;color:#212529;}
.cp-mo-box .sub{font-size:13px;color:#868e96;margin:0 0 22px;line-height:1.6;}
.cp-mo-x{position:absolute;right:18px;top:18px;width:36px;height:36px;border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:#868e96;}
.cp-f{margin-bottom:14px;}
.cp-f label{display:block;font-size:13px;font-weight:600;color:#343a40;margin-bottom:6px;} .cp-f label i{color:#e03131;font-style:normal;}
.cp-f input,.cp-f textarea{width:100%;border:1px solid #dee2e6;border-radius:8px;padding:12px 14px;font-size:14px;font-family:inherit;box-sizing:border-box;}
.cp-f textarea{min-height:80px;resize:vertical;}
.cp-f input:focus,.cp-f textarea:focus{outline:none;border-color:#212529;}
.cp-f2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cp-agree{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#495057;line-height:1.6;margin:6px 0 18px;}
.cp-agree input{margin-top:3px;accent-color:#212529;}
.cp-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden;}
.cp-mo-done{text-align:center;padding:30px 0 10px;}
.cp-mo-done .ck{width:56px;height:56px;border-radius:50%;background:#e7f6f4;color:#17b5a9;display:inline-flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:14px;}
.cp-mo-done p{font-size:15px;color:#343a40;line-height:1.7;margin:0;}

@media (max-width:1200px){ .cp-grid{grid-template-columns:repeat(3,1fr);} .cp-top{grid-template-columns:80px 1fr 1fr;} .cp-thumbs button{width:80px;height:80px;} }
@media (max-width:991px){
  .cp-top{grid-template-columns:1fr;} .cp-thumbs{flex-direction:row;order:2;} .cp-main{order:1;} .cp-info{order:3;}
  .cp-info h1{font-size:24px;}
}
@media (max-width:767px){
  .cp-wrap{padding:0 16px 60px;}
  .cp-cats a{padding:9px 16px;font-size:14px;}
  .cp-grid{grid-template-columns:repeat(2,1fr);gap:22px 14px;}
  .cp-card .nm{font-size:14px;}
  .cp-dd-panel{min-width:170px;} .cp-dd-btn,.cp-tg{padding:9px 12px;font-size:13px;}
  .cp-btns{flex-direction:column;} .cp-f2{grid-template-columns:1fr;}
  .cp-mo-box{padding:26px 20px;}
}

/* [2026-08-29 모바일 점검] MOQ 줄 : 라벨/값/국가 정리 (moq-mobile) */
.cp-info .moq{flex-wrap:wrap;} .cp-info .moq > span{white-space:nowrap;}
@media (max-width:600px){ .cp-info .moq{gap:8px 12px;font-size:14px;} .cp-info .moq b{font-size:18px;} .cp-info .moq .ctry{margin-left:0;flex-basis:100%;} }

/* [2026-08-29] mobile-btn : 모바일 버튼 높이 키움 */
@media (max-width:600px){ .cp-btns{flex-direction:column;gap:10px;} .cp-btn{flex:none;height:60px;font-size:17px;border-radius:12px;} .cp-btn svg{width:22px;height:22px;} }

/* [2026-08-29] list-badge-mono : 목록 썸네일 안 배지는 참고사이트처럼 반투명 무채색 (상세 페이지 배지는 컬러 유지) */
.cp-card .pic .cp-bd, .cp-card .pic .cp-bd.otc, .cp-card .pic .cp-bd.gl{background:rgba(60,64,67,.42);color:#fff;font-weight:600;letter-spacing:.03em;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
