/* 공개 사이트 챗봇 (메인 · 서브 공통, _Layout의 #e-cbot-btn · #e-cbot) */
/* ---- 플로팅 버튼 ---- */
.e-cbot-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px 0 14px;border:1px solid #fff;border-radius:999px;background:var(--e-text,#212222);color:#fff;
  font-family:var(--font-head);font-size:15px;font-weight:700;box-shadow:0 10px 28px rgba(0,0,0,.28);cursor:pointer;transition:background-color .2s}
.e-cbot-btn[hidden]{display:none}
.e-cbot-btn svg{width:20px;height:20px}
.e-cbot-btn:hover{background:var(--e-black,#0B0B0C)}
/* ---- 창 ---- */
.e-cbot{position:fixed;right:16px;bottom:16px;z-index:960;display:flex;flex-direction:column;width:380px;height:min(640px,calc(100vh - 32px));
  border-radius:20px;background:#F4F4F3;color:var(--e-text,#212222);box-shadow:0 24px 60px rgba(0,0,0,.28);overflow:hidden;font-family:var(--font-body)}
.e-cbot[hidden]{display:none}
.e-cbot-head{display:flex;align-items:center;gap:10px;padding:14px 12px 14px 16px;background:var(--e-text,#212222);color:#fff;--e-focus:#fff}
.e-cbot-av{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--e-red,#8C0A1B)}
.e-cbot-av svg{width:20px;height:20px}
.e-cbot-ti{flex:1;min-width:0;display:flex;flex-direction:column}
.e-cbot-ti strong{font-family:var(--font-head);font-size:16px;font-weight:800}
.e-cbot-ti span{font-size:12px;color:#C4C6C9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.e-cbot-ti span:empty{display:none}
.e-cbot-home,.e-cbot-x{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.e-cbot-home:hover,.e-cbot-x:hover{background:rgba(255,255,255,.12)}
.e-cbot-home svg,.e-cbot-x svg{width:20px;height:20px}
/* ---- 대화 ---- */
.e-cbot-log{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;padding:16px}
.e-cbot-msg{max-width:88%;padding:12px 14px;border-radius:16px;font-size:14.5px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
.e-cbot-msg p{margin:0;white-space:pre-line}
.e-cbot-msg.is-bot{align-self:flex-start;background:#fff;border-top-left-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.e-cbot-msg.is-user{align-self:flex-end;background:var(--e-red,#8C0A1B);color:#fff;border-top-right-radius:4px;white-space:pre-line}
.e-cbot-msg.is-typing{display:inline-flex;gap:4px}
.e-cbot-msg.is-typing span{width:6px;height:6px;border-radius:50%;background:#999;animation:e-cbot-dot 1s infinite ease-in-out}
.e-cbot-msg.is-typing span:nth-child(2){animation-delay:.15s}
.e-cbot-msg.is-typing span:nth-child(3){animation-delay:.3s}
@keyframes e-cbot-dot{0%,80%,100%{opacity:.3}40%{opacity:1}}
.e-cbot-link{display:inline-flex;align-items:center;min-height:36px;margin-top:10px;padding:0 14px;border-radius:999px;background:var(--e-bg2,#F4F4F3);color:var(--e-text,#212222);
  font-size:13.5px;font-weight:700;text-decoration:none}
.e-cbot-link:hover{background:#E8E8E6}
/* 분류 카드 · 문의 카드 */
.e-cbot-card{padding:16px;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.e-cbot-card h3{margin:0;font-family:var(--font-head);font-size:15px;font-weight:800}
.e-cbot-card p{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--e-sub,#555758)}
.e-cbot-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.e-cbot-chip{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border:1px solid var(--e-line,#E4E4E4);border-radius:999px;background:#fff;color:var(--e-text,#212222);
  font:inherit;font-size:13.5px;font-weight:600;line-height:1.35;text-align:left;cursor:pointer}
.e-cbot-chip:hover{border-color:var(--e-text,#212222)}
.e-cbot-card .e-cbot-link{margin-top:0}
.e-cbot-contact{background:transparent;box-shadow:none;border:1px dashed #CFCFCF}
.e-cbot-contact .e-cbot-link{background:#fff;border:1px solid var(--e-line,#E4E4E4)}
.e-cbot-contact .e-cbot-link:hover{border-color:var(--e-text,#212222);background:#fff}
.e-cbot-after{display:flex;gap:6px}
/* ---- 입력 ---- */
.e-cbot-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--e-line,#E4E4E4);background:#fff}
.e-cbot-form input{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid var(--e-line,#E4E4E4);border-radius:999px;font:inherit;font-size:15px;color:var(--e-text,#212222)}
.e-cbot-form input:focus{outline:2px solid var(--e-text,#212222);outline-offset:1px}
.e-cbot-form button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:var(--e-red,#8C0A1B);color:#fff;cursor:pointer}
.e-cbot-form button svg{width:20px;height:20px}
.e-cbot-note{margin:0;padding:0 16px 12px;background:#fff;font-size:14px;line-height:1.4;color:var(--e-sub,#555758)}
/* 모바일: 전체 화면, 뒤 페이지 스크롤 막기 */
@media (max-width:767px){
  .e-cbot-btn{height:48px}
  .e-cbot{inset:0;width:auto;height:auto;border-radius:0}
  .e-cbot-open,.e-cbot-open body{overflow:hidden}
}
@media (min-width:768px){.e-cbot-open .e-fab{visibility:hidden}}
@media (prefers-reduced-motion:reduce){.e-cbot-msg.is-typing span{animation:none}}
