@charset "utf-8";
/* kims40 — 안내 챗봇 */
.k-bot-fab{position:fixed;right:24px;bottom:24px;z-index:870;display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;border:0;border-radius:999px;background:var(--k-navy);color:#fff;box-shadow:0 12px 32px rgba(7,43,92,.35);cursor:pointer;font-family:inherit;transition:transform .2s,box-shadow .2s}
.k-bot-fab:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(7,43,92,.45)}
.k-bot-fab-ico{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.14)}
.k-bot-fab-text{font-size:15px;font-weight:700;line-height:1.2;letter-spacing:.02em}
body.k-bot-open .k-bot-fab{display:none}
.k-bot{position:fixed;right:24px;bottom:24px;z-index:880;width:400px;max-width:calc(100vw - 32px);height:640px;max-height:calc(100vh - 48px);max-height:calc(100svh - 48px);display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(7,43,92,.35);overflow:hidden}
.k-bot[hidden]{display:none}
.k-bot-head{display:flex;align-items:center;gap:10px;padding:12px 10px 12px 16px;background:var(--k-navy-deep);color:#fff;flex:none}
.k-bot-avatar{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;background:#fff;padding:6px;box-sizing:border-box}
.k-bot-avatar img{width:100%;height:100%;object-fit:contain;display:block}
.k-bot-head-t{flex:1;min-width:0;line-height:1.2}
.k-bot-head-t strong{display:block;font-size:16px}
.k-bot-head-t small{font-size:12px;color:rgba(255,255,255,.7)}
.k-bot-min,.k-bot-close{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.k-bot-min:hover,.k-bot-close:hover{background:rgba(255,255,255,.22)}
.k-bot-log{flex:1;min-height:0;overflow-y:auto;padding:16px 14px;background:#f3f6fa;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}
.k-bot-msg{display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:100%}
.k-bot-msg.is-me{align-items:flex-end}
.k-bot-bubble{max-width:92%;padding:12px 14px;border-radius:16px 16px 16px 4px;background:#fff;color:var(--k-ink);font-size:15px;line-height:1.6;box-shadow:0 2px 8px rgba(7,43,92,.06);word-break:keep-all;overflow-wrap:anywhere}
.k-bot-msg.is-me .k-bot-bubble{background:var(--k-navy);color:#fff;border-radius:16px 16px 4px 16px}
.k-bot-msg.is-nav .k-bot-bubble{display:none}
.k-bot-bubble p{margin:0 0 6px}
.k-bot-bubble p:last-child{margin-bottom:0}
.k-bot-q{color:var(--k-navy);font-weight:700}
.k-bot-sub{font-size:13px;color:var(--k-ink-2)}
.k-bot-alert{padding:10px 12px;border-radius:10px;background:#fff1f2;color:#9f1239;font-size:14px;border:1px solid #fecdd3}
.k-bot-table{width:100%;border-collapse:collapse;margin:4px 0}
.k-bot-table th,.k-bot-table td{padding:6px 8px;border-bottom:1px solid var(--k-line);font-size:14px;text-align:left}
.k-bot-table th{color:var(--k-ink-2);font-weight:600;width:42%}
.k-bot-ol{padding-left:18px;margin:4px 0}
.k-bot-ul{padding-left:16px;margin:4px 0;list-style:disc}
.k-bot-ul li{margin:3px 0}
.k-bot-hist th{width:52px;color:var(--k-navy);font-weight:700}
.k-bot-ol li{margin:2px 0}
.k-bot-btns,.k-bot-chips{display:flex;flex-wrap:wrap;gap:6px;max-width:92%}
.k-bot-msg.is-nav .k-bot-btns{margin-top:2px}
.k-bot-btn{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;border:1.5px solid var(--k-navy);background:#fff;color:var(--k-navy);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none}
.k-bot-btn:hover{background:var(--k-sky)}
.k-bot-btn.is-primary{background:var(--k-navy);color:#fff}
.k-bot-btn.is-primary:hover{background:var(--k-navy-deep)}
.k-bot-msg.is-nav .k-bot-btn{border-color:var(--k-line);color:var(--k-ink-2);font-weight:500;padding:7px 11px;font-size:13px}
.k-bot-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:12px;border:1px solid var(--k-line);background:#fff;color:var(--k-ink);font-size:14px;cursor:pointer;font-family:inherit;text-align:left;line-height:1.4}
.k-bot-chip:hover{border-color:var(--k-navy);color:var(--k-navy)}
.k-bot-chip[data-act="none"]{border:0;background:none;color:var(--k-ink-3);font-size:12px;padding:0 2px;cursor:default;width:100%}
.k-bot-hint{margin:0;padding:8px 14px;background:#fff;border-top:1px solid var(--k-line);font-size:13px;color:var(--k-ink-2);flex:none}
.k-bot-hint.is-hidden{display:none}
.k-bot-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--k-line);background:#fff;flex:none}
.k-bot-hint + .k-bot-form{border-top:0;padding-top:4px}
.k-bot-form input{flex:1;min-width:0;height:46px;padding:0 14px;border:1.5px solid var(--k-line);border-radius:12px;font-size:16px;font-family:inherit}
.k-bot-form input:focus{border-color:var(--k-navy);outline:none;box-shadow:0 0 0 3px rgba(12,67,139,.12)}
.k-bot-send{width:46px;height:46px;border:0;border-radius:12px;background:var(--k-navy);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.k-bot-foot{margin:0;padding:6px 14px 10px;font-size:11px;color:var(--k-ink-3);line-height:1.4;background:#fff;flex:none}
.is-typing .k-bot-bubble{display:inline-flex;gap:4px;padding:12px 14px}
.is-typing span{width:6px;height:6px;border-radius:50%;background:#9db0c9;animation:k-bot-dot 1s infinite}
.is-typing span:nth-child(2){animation-delay:.15s}.is-typing span:nth-child(3){animation-delay:.3s}
@keyframes k-bot-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
html.k-big .k-bot-bubble{font-size:calc(15px * var(--k-tx,1))}
html.k-big .k-bot-chip,html.k-big .k-bot-btn{font-size:calc(14px * var(--k-tx,1))}
@media (max-width:860px){
  .k-bot-fab{right:12px;bottom:66px;padding:8px 12px 8px 8px}
  .k-bot-fab-ico{width:34px;height:34px}
  .k-bot-fab-text{font-size:12px}
  .k-bot{right:0;left:0;bottom:0;width:100%;max-width:none;height:auto;top:56px;max-height:none;border-radius:18px 18px 0 0;z-index:960}
  .k-bot-bubble{font-size:clamp(calc(15px * var(--k-tx,1)),calc(4.1vw * var(--k-tx,1)),calc(17px * var(--k-tx,1)))}
  .k-bot-form{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}
@media (max-width:420px){.k-bot-fab{padding:8px 12px 8px 8px}.k-bot-fab-text{font-size:14px}}

/* 오른쪽 아래 [챗봇] 버튼과 퀵메뉴 TOP 버튼이 겹치지 않게 */
@media (min-width:861px){.k-quick{bottom:100px}}

/* ---- 운영 홈페이지(theme/homepage) 전용 조정 ---- */
.k-bot,.k-bot *{box-sizing:border-box;font-family:var(--k-font)}
.k-bot ul,.k-bot ol{margin:0}
.k-bot p,.k-bot li{word-break:keep-all;overflow-wrap:anywhere}
.k-bot ol{overflow:visible;position:static}
@media (max-width:860px){.k-bot-fab{right:12px;bottom:66px}}
@media (min-width:861px){.k-quick{bottom:100px}}
