/* AIM 상담원 위젯 — aim-agent.js 가 만드는 요소 전용(.ama*). site.css 의 변수(--ink, --signal, --kr, --en …)를 쓴다.
   위치 약속(2026-10-17 확정): 열기 버튼 원형 52×52 · right 24 / bottom 24, 720px 이하 48×48 · 16 / 16, z-index 95. 아이콘 20px 상자·선 2px.
   '맨 위로' 버튼이 같은 크기로 바로 위(bottom 88 / 모바일 76, 간격 12px)에 있다. 열린 상담창은 머리 메뉴(100) 위 105.
   위젯 안 버튼은 텍스트만 쓴다(화살표 글리프·장식 금지). */
.ama{--ama-ink:var(--ink,#0a0d14);--ama-sig:var(--signal,#ff4f00);--ama-line:var(--line,#e3e1db);--ama-bone:var(--bone,#f5f4f0);--ama-sub:var(--sub,#4b4f58);--ama-mute:var(--mute,#85878d);
  font-family:var(--kr,system-ui,sans-serif);font-size:15px;line-height:1.6;color:var(--ama-ink);word-break:keep-all;overflow-wrap:anywhere}
.ama *,.ama *::before,.ama *::after{box-sizing:border-box}
/* 일본어·중국어는 띄어쓰기가 없어 keep-all 이면 문장 부호에서만 줄이 바뀐다 */
.ama:lang(ja),.ama :lang(ja),.ama:lang(zh),.ama :lang(zh){word-break:normal;line-break:strict}
.ama-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ama button{font:inherit}
.ama svg{display:block}

/* ---------- 열기 버튼 ---------- */
.ama-launch{position:fixed;right:24px;bottom:24px;z-index:95;width:52px;height:52px;border-radius:50%;border:0;padding:0;cursor:pointer;
  display:grid;place-items:center;background:var(--ama-sig);color:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.14),0 10px 24px -10px rgba(10,13,20,.5);transition:background .2s}
.ama-launch svg{width:20px;height:20px}
.ama-launch:hover{background:var(--ama-ink)}
.ama-launch:focus-visible{outline:2px solid var(--ama-ink);outline-offset:3px;box-shadow:0 0 0 5px #fff}
.ama-launch-dot{position:absolute;top:11px;right:11px;width:7px;height:7px;border-radius:50%;background:var(--good,#3ccf8e);box-shadow:0 0 0 1.5px var(--ama-sig)}
.ama-launch:hover .ama-launch-dot{box-shadow:0 0 0 1.5px var(--ama-ink)}
.ama.is-open .ama-launch-dot{display:none}
body.menu-open .ama-launch,body.menu-open .ama-nudge{opacity:0;visibility:hidden;pointer-events:none}

/* ---------- 안내 말풍선(열기 버튼 왼쪽) ---------- */
.ama-nudge{position:fixed;right:88px;bottom:24px;z-index:95;max-width:min(300px,calc(100vw - 130px));display:flex;align-items:flex-start;gap:4px;
  background:#fff;border:1px solid var(--ama-line);border-radius:4px;padding:12px 8px 12px 16px;box-shadow:0 18px 40px -18px rgba(10,13,20,.35);
  opacity:0;transform:translateX(8px);transition:opacity .25s var(--ease,ease),transform .25s var(--ease,ease)}
.ama-nudge.in{opacity:1;transform:none}
.ama-nudge::after{content:"";position:absolute;right:-6px;bottom:20px;width:10px;height:10px;background:#fff;border-right:1px solid var(--ama-line);border-top:1px solid var(--ama-line);transform:rotate(45deg)}
.ama-nudge-msg{flex:1;border:0;background:none;padding:0;text-align:left;font-size:14px;line-height:1.55;cursor:pointer;color:var(--ama-ink)}
.ama-nudge-msg:hover{color:var(--ama-sig)}
.ama-nudge-x{flex:none;width:28px;height:28px;border:0;background:none;padding:6px;cursor:pointer;color:var(--ama-mute);margin-top:-4px}
.ama-nudge-x:hover{color:var(--ama-ink)}
.ama-nudge-x svg{width:16px;height:16px}
.ama-nudge button:focus-visible{outline:2px solid var(--ama-sig);outline-offset:2px}

/* ---------- 상담창 ---------- */
.ama-panel{position:fixed;right:24px;bottom:88px;z-index:105;width:400px;height:620px;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--ama-line);border-radius:4px;overflow:hidden;
  box-shadow:0 40px 90px -30px rgba(10,13,20,.45),0 0 0 1px rgba(10,13,20,.04);
  opacity:0;transform:translateY(12px);transition:opacity .2s var(--ease,ease),transform .2s var(--ease,ease)}
.ama-panel.in{opacity:1;transform:none}
.ama-panel[hidden]{display:none}

.ama-head{flex:none;display:flex;align-items:center;gap:12px;padding:14px 12px 14px 16px;background:var(--ama-ink);color:#fff}
.ama-mark{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ama-sig);color:#fff;font-family:var(--en,sans-serif);font-weight:800;font-size:11.5px;letter-spacing:.06em}
.ama-htext{flex:1;min-width:0}
.ama-title{margin:0;display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;line-height:1.3;letter-spacing:-.01em}
.ama-badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border:1px solid rgba(255,255,255,.35);border-radius:3px;font-family:var(--en,sans-serif);font-size:11px;font-weight:800;letter-spacing:.08em}
.ama-sub{margin:2px 0 0;display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--sub-d,#b3b7c0)}
.ama-dot{width:7px;height:7px;border-radius:50%;background:var(--good,#3ccf8e);box-shadow:0 0 0 3px rgba(60,207,142,.18)}
.ama-x{flex:none;width:40px;height:40px;border:0;border-radius:50%;background:none;cursor:pointer;color:#fff;display:grid;place-items:center}
.ama-x svg{width:20px;height:20px}
.ama-x:hover{background:rgba(255,255,255,.1)}
.ama-x:focus-visible{outline:2px solid var(--ama-sig);outline-offset:-2px}

.ama-log{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 8px;background:#fff;scroll-behavior:smooth}
.ama-log:focus-visible{outline:2px solid var(--ama-sig);outline-offset:-2px}
.ama-row{display:flex;margin:0 0 12px}
.ama-me{justify-content:flex-end}
.ama-bubble{max-width:86%;padding:11px 14px;font-size:14.5px;line-height:1.65}
.ama-bot .ama-bubble{background:var(--ama-bone);border-radius:2px 14px 14px 14px}
.ama-me .ama-bubble{background:var(--ama-ink);color:#fff;border-radius:14px 2px 14px 14px;white-space:pre-wrap}
.ama-bubble p{margin:0}
.ama-bubble p+p,.ama-bubble ul+p,.ama-bubble ol+p,.ama-bubble p+ul,.ama-bubble p+ol{margin-top:8px}
.ama-bubble ul,.ama-bubble ol{margin:6px 0 0;padding-left:18px}
.ama-bubble li{margin:2px 0}
.ama-bubble li::marker{color:var(--ama-sig)}
.ama-bubble strong{font-weight:700}
.ama-link{color:inherit;text-decoration:underline;text-decoration-color:var(--ama-sig);text-underline-offset:3px;text-decoration-thickness:1.5px}
.ama-link:hover{color:var(--ama-sig)}
.ama-me .ama-link{color:#fff}
.ama-note{margin:0 0 12px;font-size:13px;color:var(--ama-sub);padding:10px 12px;border-left:2px solid var(--ama-line)}
.ama-note.is-err{border-left-color:var(--ama-sig);color:var(--ama-ink)}

.ama-typing .ama-bubble{display:flex;align-items:center;gap:5px;min-height:42px}
.ama-typing i{width:6px;height:6px;border-radius:50%;background:var(--ama-mute);animation:ama-b 1.1s infinite ease-in-out}
.ama-typing i:nth-of-type(2){animation-delay:.15s}.ama-typing i:nth-of-type(3){animation-delay:.3s}
.ama-status{margin-left:6px;font-size:12.5px;color:var(--ama-sub)}
@keyframes ama-b{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

.ama-mode{flex:none;margin:0;padding:8px 16px;font-size:12px;line-height:1.5;color:var(--ama-sub);background:var(--ama-bone);border-top:1px solid var(--ama-line)}
.ama-mode[hidden]{display:none}

/* 빠른 답변 */
.ama-chips{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px 10px;border-top:1px solid var(--ama-line)}
.ama-chips[hidden],.ama-chips:empty{display:none}
.ama-chip{border:1px solid var(--line-2,#cfccc4);background:#fff;border-radius:999px;padding:7px 13px;font-size:13px;line-height:1.35;cursor:pointer;color:var(--ama-ink);text-align:left;transition:border-color .2s,color .2s,background .2s}
.ama-chip:hover{border-color:var(--ama-ink)}
.ama-chip.is-lead{border-color:var(--ama-sig);color:var(--ama-sig)}
.ama-chip.is-lead:hover{background:var(--ama-sig);color:#fff}
.ama-chip:focus-visible{outline:2px solid var(--ama-sig);outline-offset:2px}

/* 입력 */
.ama-form{flex:none;display:flex;align-items:flex-end;gap:8px;padding:10px 12px 10px 16px;border-top:1px solid var(--ama-line);background:#fff}
.ama-input{flex:1;min-height:44px;max-height:120px;resize:none;border:1px solid var(--line-2,#cfccc4);border-radius:0;padding:11px 12px;font:inherit;font-size:15px;line-height:1.45;color:var(--ama-ink);background:#fff}
.ama-input:focus{outline:none;border-color:var(--ama-ink)}
.ama-input::placeholder{color:var(--ama-mute)}
.ama-send{flex:none;height:44px;padding:0 16px;border:0;border-radius:999px;background:var(--ama-sig);color:#fff;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .2s,opacity .2s}
.ama-send:hover{background:#e04600}
.ama-send:disabled{opacity:.4;cursor:default}
.ama-send:focus-visible{outline:2px solid var(--ama-ink);outline-offset:2px}
.ama-foot{flex:none;display:flex;align-items:center;gap:10px;padding:0 12px 12px 16px;background:#fff}
.ama-foot-t{flex:1;margin:0;font-size:11.5px;line-height:1.5;color:var(--ama-mute)}
.ama-foot-a{color:var(--ama-sub);text-decoration:underline;text-underline-offset:2px}
.ama-ae{flex:none;border:1px solid var(--ama-ink);background:#fff;color:var(--ama-ink);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.ama-ae:hover{background:var(--ama-ink);color:#fff}
.ama-ae:focus-visible,.ama-foot-a:focus-visible{outline:2px solid var(--ama-sig);outline-offset:2px}

/* ---------- 카드 ---------- */
.ama-cardrow{display:block}
.ama-card{border:1px solid var(--ama-line);background:#fff;border-radius:4px;padding:14px;font-size:13.5px}
.ama-card-h{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.ama-card-h b{font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--ama-sig)}
.ama-card-h span{font-size:14px;font-weight:700}
.ama-stack{display:flex;height:8px;gap:2px;margin:0 0 10px}
.ama-stack i{display:block;min-width:4px;border-radius:1px}
.ama .c0{background:#ff4f00}.ama .c1{background:#0a0d14}.ama .c2{background:#4b4f58}.ama .c3{background:#85878d}.ama .c4{background:#b9b6ae}.ama .c5{background:#dcd9d2}
.ama-tbl-wrap{overflow-x:auto}
.ama-tbl{width:100%;border-collapse:collapse;font-size:13px}
.ama-tbl th{font-size:11.5px;font-weight:600;color:var(--ama-mute);text-align:left;padding:0 6px 6px 0;border-bottom:1px solid var(--ama-line)}
.ama-tbl td{padding:7px 6px 7px 0;border-bottom:1px solid var(--ama-line);vertical-align:top}
.ama-tbl .r{text-align:right;white-space:nowrap}
.ama-tbl .num{font-family:var(--en,sans-serif);font-variant-numeric:tabular-nums}
.ama-tbl .m{font-weight:600;white-space:nowrap}
.ama-tbl .m i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:1px}
.ama-tbl .why{color:var(--ama-sub);font-size:12.5px}
.ama-card-note{margin:10px 0 0;font-size:12px;line-height:1.55;color:var(--ama-sub)}
.ama-card-a{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ama-btn{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--ama-sig);background:var(--ama-sig);color:#fff;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.ama-btn:hover{background:#e04600;border-color:#e04600}
.ama-btn.ghost{background:#fff;color:var(--ama-ink);border-color:var(--line-2,#cfccc4)}
.ama-btn.ghost:hover{border-color:var(--ama-ink)}
.ama-btn:disabled{opacity:.55;cursor:default}
.ama-btn:focus-visible{outline:2px solid var(--ama-ink);outline-offset:2px}
@media (max-width:420px){.ama-tbl .why{display:none}.ama-tbl th:nth-child(2){display:none}}

.ama-links{display:flex;flex-wrap:wrap;gap:6px}
.ama-pill{display:inline-flex;align-items:center;border:1px solid var(--ama-line);border-radius:999px;padding:6px 12px;font-size:13px;text-decoration:none;color:var(--ama-ink);background:#fff}
.ama-pill:hover{border-color:var(--ama-ink)}
.ama-pill:focus-visible{outline:2px solid var(--ama-sig);outline-offset:2px}

/* 연락처 카드 */
.ama-lead{display:flex;flex-direction:column;gap:10px;border-top:2px solid var(--ama-sig)}
.ama-lead-h{font-size:14.5px;font-weight:700}
.ama-lead-done{margin:0;font-size:14px;line-height:1.65;outline:none}
.ama-f{display:flex;flex-direction:column;gap:4px}
.ama-f label{font-size:12.5px;font-weight:600;color:var(--ama-sub)}
.ama-f label em{font-style:normal;color:var(--ama-sig);font-weight:600;font-size:11.5px}
.ama-f input,.ama-f textarea{width:100%;border:1px solid var(--line-2,#cfccc4);border-radius:0;padding:9px 10px;font:inherit;font-size:14.5px;line-height:1.45;color:var(--ama-ink);background:#fff;resize:vertical}
.ama-f input:focus,.ama-f textarea:focus{outline:none;border-color:var(--ama-ink)}
.ama-f-hint{margin:-4px 0 0;font-size:12px;line-height:1.5;color:var(--ama-mute)}
.ama-f-err{margin:0;font-size:12.5px;color:#c23a00;min-height:0}
.ama-f-err:empty{display:none}
.ama-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.ama-extra,.ama-notice{margin:0;padding:10px 12px;background:var(--ama-bone);font-size:12.5px;line-height:1.55}
.ama-extra>div,.ama-notice>div{display:grid;grid-template-columns:76px 1fr;gap:8px;padding:2px 0}
.ama-extra dt,.ama-notice dt{color:var(--ama-mute);font-weight:600}
.ama-extra dd,.ama-notice dd{margin:0;color:var(--ama-ink);white-space:pre-wrap}
.ama-extra-h{display:block;margin-bottom:4px;color:var(--ama-sub)!important}
.ama-agree{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:600;cursor:pointer;line-height:1.5}
.ama-agree input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--ama-sig);flex:none}
.ama-lead .ama-btn{align-self:flex-start}

/* ---------- 모바일: 전체 화면 시트 ---------- */
@media (max-width:720px){
  .ama-launch{right:16px;bottom:16px;width:48px;height:48px}
  .ama-launch-dot{top:10px;right:10px}
  .ama-nudge{right:76px;bottom:14px;max-width:calc(100vw - 100px)}
  .ama-panel{inset:0;right:0;bottom:0;width:100%;height:100%;max-height:none;border:0;border-radius:0;transform:translateY(24px)}
  .ama.is-open .ama-launch{opacity:0;visibility:hidden;pointer-events:none}
  .ama-head{padding-top:max(14px,env(safe-area-inset-top))}
  .ama-foot{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .ama-input{font-size:16px}   /* iOS 확대 방지 */
  .ama-f input,.ama-f textarea{font-size:16px}
  html.ama-lock,html.ama-lock body{overflow:hidden}
}

@media (prefers-reduced-motion:reduce){
  .ama-launch,.ama-panel,.ama-nudge,.ama-chip,.ama-btn,.ama-send{transition:none}
  .ama-panel,.ama-nudge{transform:none}
  .ama-typing i{animation:none;opacity:.6}
  .ama-log{scroll-behavior:auto}
}
@media print{.ama{display:none}}
