/* 화장품 FDA 문구 검사기 (/cosmetic-claim-checker) 전용 */
:root {
  --navy:#0b2e4f; --navy-2:#12406b; --blue:#1f6feb;
  --ink:#1a2733; --muted:#5b6b7a; --line:#d5dde5; --bg:#f5f7fa;
  --red:#b42318; --red-bg:#fee4e2; --red-bd:#f04438;
  --amb:#93370d; --amb-bg:#fef0c7; --amb-bd:#f79009;
  --otc:#1849a9; --otc-bg:#d1e9ff; --otc-bd:#2e90fa;
  --gry:#475467; --gry-bg:#f2f4f7; --gry-bd:#98a2b3;
  --grn:#067647; --grn-bg:#dcfae6; --grn-bd:#17b26a;
}
* { box-sizing:border-box; }
body { margin:0; font:15px/1.6 "Malgun Gothic","Apple SD Gothic Neo",-apple-system,system-ui,sans-serif; color:var(--ink); background:var(--bg); }
a { color:var(--blue); }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

header { background:linear-gradient(135deg,var(--navy),var(--navy-2)); color:#fff; }
.hdr { max-width:1040px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 16px; }
.brand { display:flex; gap:10px; align-items:center; font-weight:700; color:#fff; text-decoration:none; }
.brand small { display:block; font-weight:400; opacity:.75; font-size:12px; }
.mark { background:#fff; color:var(--navy); font-weight:800; border-radius:6px; padding:2px 8px; }
.hside { display:flex; align-items:center; gap:10px; }
.lang { color:#cfe0f2; font-size:13px; text-decoration:none; }
.hcta { background:#fff; color:var(--navy); border-radius:999px; padding:6px 14px; font-weight:700; font-size:13px; text-decoration:none; white-space:nowrap; }

main { max-width:1040px; margin:0 auto; padding:28px 16px; display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
h1 { font-size:28px; line-height:1.3; margin:0 0 6px; }
h1 em { font-style:normal; color:var(--blue); }
.sub { color:var(--muted); margin:0 0 16px; font-size:14px; }

.box { background:#fff; border:1.5px solid var(--line); border-radius:14px; padding:16px; }
.box:focus-within { border-color:var(--blue); }
textarea { width:100%; height:170px; border:0; font:inherit; resize:vertical; color:var(--ink); outline:none; background:transparent; }
.attach { border-top:1.5px dashed var(--line); padding-top:12px; font-size:13px; color:var(--muted); }
.attach a { font-weight:700; }
.attach button { border:0; background:none; color:var(--blue); font:inherit; font-weight:700; cursor:pointer; padding:0; text-decoration:underline; }
.btn { background:var(--blue); color:#fff; border:0; border-radius:10px; padding:13px 22px; font-weight:700; font-size:16px; width:100%; margin-top:12px; cursor:pointer; }
.btn:hover { filter:brightness(1.08); }
.fine { font-size:12px; color:var(--muted); margin-top:8px; }

.res { min-height:200px; }
.cc-empty { border:2px dashed var(--line); border-radius:14px; padding:40px 20px; text-align:center; color:var(--muted); margin:0; }
.cc-demo { display:inline-block; margin:0 0 8px; font-size:12px; font-weight:700; color:#93370d; background:#fef0c7; border:1.5px solid #f79009; border-radius:999px; padding:2px 10px; }
.cc-h { font-size:15px; margin:0 0 10px; color:var(--muted); }
.cc-ab { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cc-v { border:2px solid; border-radius:12px; padding:12px 14px; }
.cc-v small { font-size:12px; font-weight:700; color:var(--muted); }
.cc-v div { font-size:19px; font-weight:800; }
.cc-v.cc-nda { border-color:var(--red-bd); background:var(--red-bg); color:var(--red); }
.cc-v.cc-drug { border-color:var(--amb-bd); background:var(--amb-bg); color:var(--amb); }
.cc-v.cc-otc { border-color:var(--otc-bd); background:var(--otc-bg); color:var(--otc); }
.cc-v.cc-caution { border-color:var(--gry-bd); background:var(--gry-bg); color:var(--gry); }
.cc-v.cc-cos { border-color:var(--grn-bd); background:var(--grn-bg); color:var(--grn); }

.cc-hits { list-style:none; padding:0; margin:12px 0 0; max-height:430px; overflow-y:auto; }
.cc-hits li { background:#fff; border:1.5px solid var(--line); border-radius:10px; padding:9px 12px; margin-bottom:7px; display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.cc-q { font-weight:600; word-break:keep-all; overflow-wrap:anywhere; }
.cc-q mark { background:#ffd98a; border-radius:3px; padding:0 2px; }
.cc-basis { font-size:12px; color:var(--muted); margin-top:2px; cursor:help; }
.cc-badge { white-space:nowrap; border-radius:6px; padding:1px 8px; font-size:12px; font-weight:700; border:1.5px solid; }
.cc-badge.cc-nda { color:var(--red); background:var(--red-bg); border-color:var(--red-bd); }
.cc-badge.cc-drug { color:var(--amb); background:var(--amb-bg); border-color:var(--amb-bd); }
.cc-badge.cc-otc { color:var(--otc); background:var(--otc-bg); border-color:var(--otc-bd); }
.cc-badge.cc-caution { color:var(--gry); background:var(--gry-bg); border-color:var(--gry-bd); }
.cc-badge.cc-cos { color:var(--grn); background:var(--grn-bg); border-color:var(--grn-bd); }

.cc-cta { margin-top:6px; background:var(--navy); color:#fff; border-radius:12px; padding:14px 16px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:14px; }
.cc-cta a { background:#fff; color:var(--navy); border-radius:999px; padding:7px 14px; font-weight:700; text-decoration:none; white-space:nowrap; }

/* 상담 신청 문의 창 */
.cc-dialog { border:0; border-radius:16px; padding:0; width:min(520px, calc(100vw - 32px)); box-shadow:0 20px 60px rgba(16,24,40,.35); }
.cc-dialog::backdrop { background:rgba(11,46,79,.55); }
#cc-form { padding:22px; display:grid; gap:12px; }
#cc-form h2 { margin:0; font-size:20px; }
#cc-form label { display:grid; gap:4px; font-size:13px; font-weight:700; }
#cc-form input:not([type=checkbox]), #cc-form textarea { border:1.5px solid var(--line); border-radius:10px; padding:10px 12px; font:inherit; font-size:14px; font-weight:400; }
#cc-form input:focus, #cc-form textarea:focus { outline:none; border-color:var(--blue); }
#cc-form .cc-consent { display:flex; gap:8px; align-items:flex-start; font-weight:400; color:var(--muted); }
.cc-status { margin:0; font-size:14px; font-weight:700; color:var(--navy); min-height:1.2em; }
.cc-actions { display:flex; gap:10px; }
.cc-actions .btn { margin-top:0; flex:1; }
.cc-ghost { background:#fff; border:1.5px solid var(--line); border-radius:10px; padding:12px 18px; font:inherit; font-weight:700; cursor:pointer; }
#cc-form .fine { margin:0; }

footer { max-width:1040px; margin:0 auto; padding:0 16px 28px; font-size:12px; color:var(--muted); text-align:center; }
footer p { margin:4px 0; }

@media (max-width:760px) {
  main { grid-template-columns:1fr; padding-top:20px; }
  h1 { font-size:24px; }
  .brand small, .lang { display:none; }
  .cc-hits { max-height:none; }
}

/* 판정 불가 줄 — 말없이 빼지 않고 보여준다 */
.cc-v.cc-unknown { border-color:#98a2b3; border-style:dashed; background:#f9fafb; color:#344054; }
.cc-badge.cc-unknown { color:#344054; background:#fff; border-color:#98a2b3; border-style:dashed; }

/* 문의 접수 알림 (창을 닫은 뒤 화면 아래) */
.cc-toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); max-width:calc(100vw - 32px); background:var(--grn-bg); color:var(--grn); border:2px solid var(--grn-bd); border-radius:12px; padding:12px 18px; font-weight:700; box-shadow:0 10px 30px rgba(16,24,40,.2); z-index:1000; }

/* 검증 중 안내 화면 */
main.paused { grid-template-columns:1fr; max-width:640px; text-align:center; padding-top:56px; }
main.paused .btn { max-width:320px; }
