@charset "utf-8";
/* ── 웰니스존 AI 챗봇 상담 ── */

/* 라벨 시선 유도 애니메이션 (보일러 샘플과 동일, 색만 웰니스존 골드로) */
@keyframes hb-shine{
  0%,68%{background-position:220% 0}
  100%{background-position:-40% 0}
}
@keyframes hb-nudge{
  0%,88%,100%{transform:translateY(0)}
  92%{transform:translateY(-3px)}
  96%{transform:translateY(-1px)}
}
@keyframes hb-halo{
  0%,70%{box-shadow:0 12px 30px -12px rgba(40,28,16,.55),0 0 0 0 rgba(203,155,81,.5)}
  85%{box-shadow:0 12px 30px -12px rgba(40,28,16,.55),0 0 0 12px rgba(203,155,81,0)}
  100%{box-shadow:0 12px 30px -12px rgba(40,28,16,.55),0 0 0 0 rgba(203,155,81,0)}
}
@keyframes hb-enter{
  from{opacity:0;transform:translateY(24px) scale(.85)}
  to{opacity:1;transform:none}
}
@keyframes hb-wave{
  0%,60%,100%{transform:rotate(0)}
  66%{transform:rotate(-14deg)}
  72%{transform:rotate(12deg)}
  78%{transform:rotate(-8deg)}
  84%{transform:rotate(4deg)}
}
@keyframes ht-cb-in{
  from{opacity:0;transform:translateY(14px) scale(.98)}
  to{opacity:1;transform:none}
}
@keyframes ht-cb-dot{
  0%,80%,100%{opacity:.25;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-3px)}
}

.ht-cb{--ht-cb-brown:#493B2A;--ht-cb-rose:#A18276;--ht-cb-gold:#cb9b51;--ht-cb-cream:#FAF7F3;--ht-cb-line:#E8DFD5;--ht-cb-ink:#2B2219;--ht-cb-sub:#7E6B5B;--ht-cb-offset:0px;
  font-family:'SUIT','Montserrat','Noto Sans KR','Malgun Gothic','맑은 고딕',sans-serif;letter-spacing:-0.2px;line-height:1.5}
.ht-cb *,.ht-cb *::before,.ht-cb *::after{box-sizing:border-box}
.ht-cb button{font-family:inherit;margin:0}

/* 열기 버튼 */
.ht-cb-open{position:fixed;right:40px;bottom:calc(30px + var(--ht-cb-offset));z-index:10002;
  display:flex;align-items:center;gap:9px;height:54px;padding:0 24px 0 20px;border:0;border-radius:999px;
  background:var(--ht-cb-brown);color:#fff;font-size:16.5px;font-weight:700;white-space:nowrap;
  transition:bottom .35s cubic-bezier(.4,0,.2,1),opacity .2s,visibility .2s;
  animation:hb-enter .6s cubic-bezier(.2,.9,.3,1.3) .4s both,hb-nudge 5s ease-in-out 1s infinite,hb-halo 5s ease-in-out 1s infinite}
.ht-cb-open:hover{animation-play-state:paused;background:#5a4934}
.ht-cb-open svg{width:22px;height:22px;flex:none;color:#F6E27A;transform-origin:50% 80%;animation:hb-wave 5s ease-in-out 1s infinite}
.ht-cb-open:hover svg{animation-play-state:paused}
.ht-cb-open-label{background:linear-gradient(100deg,#fff 0%,#fff 40%,#F6E27A 50%,#fff 60%,#fff 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:hb-shine 4.5s ease-in-out infinite}
.ht-cb.is-open .ht-cb-open{opacity:0;visibility:hidden}

/* 패널 */
.ht-cb-panel{position:fixed;right:40px;bottom:calc(30px + var(--ht-cb-offset));z-index:10003;
  width:384px;height:600px;max-height:calc(100vh - 130px - var(--ht-cb-offset));
  display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 28px 60px -20px rgba(40,28,16,.5),0 0 0 1px rgba(73,59,42,.08);
  animation:ht-cb-in .28s cubic-bezier(.2,.8,.2,1)}
.ht-cb-panel[hidden]{display:none}

.ht-cb-hd{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:20px 18px 18px 22px;background:var(--ht-cb-brown);color:#fff}
.ht-cb-hd strong{display:block;font-size:19px;font-weight:700;line-height:1.3}
.ht-cb-hd p{margin:6px 0 0;font-size:13.5px;color:#EBDDC3}
.ht-cb-close{flex:none;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.14);
  color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s}
.ht-cb-close:hover{background:rgba(255,255,255,.26)}
.ht-cb-close svg{width:18px;height:18px}

.ht-cb-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 18px;
  background:var(--ht-cb-cream);display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.ht-cb-msg{max-width:88%;padding:12px 16px;border-radius:16px;font-size:14.5px;line-height:1.65;word-break:keep-all}
.ht-cb-msg p{margin:0;white-space:pre-line}
.ht-cb-msg.bot{background:#fff;border:1px solid var(--ht-cb-line);color:var(--ht-cb-ink);border-top-left-radius:6px}
.ht-cb-msg.user{align-self:flex-end;background:var(--ht-cb-brown);color:#fff;border-top-right-radius:6px;margin-top:6px}

.ht-cb-typing{display:flex;gap:5px;padding:16px 18px}
.ht-cb-typing span{width:7px;height:7px;border-radius:50%;background:var(--ht-cb-rose);animation:ht-cb-dot 1.1s infinite}
.ht-cb-typing span:nth-child(2){animation-delay:.15s}
.ht-cb-typing span:nth-child(3){animation-delay:.3s}

.ht-cb-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ht-cb-quick button{height:40px;padding:0 16px;border:1px solid var(--ht-cb-line);border-radius:999px;background:#fff;
  color:#4A3D31;font-size:14px;font-weight:500;transition:border-color .2s,background .2s,color .2s}
.ht-cb-quick button:hover{border-color:var(--ht-cb-rose);background:#F5EEE7;color:var(--ht-cb-brown)}

.ht-cb-chips{display:flex;flex-wrap:wrap;gap:6px}
.ht-cb-chips span{padding:3px 10px;border-radius:999px;background:#EFE5DA;color:#5A4636;font-size:12.5px;font-weight:600}

.ht-cb-items{align-self:stretch;display:flex;flex-direction:column;gap:8px}
.ht-cb a.ht-cb-item{display:flex;gap:12px;padding:10px;background:#fff;border:1px solid var(--ht-cb-line);border-radius:14px;
  color:var(--ht-cb-ink);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.ht-cb a.ht-cb-item:hover{border-color:var(--ht-cb-rose);box-shadow:0 8px 20px -12px rgba(73,59,42,.45)}
.ht-cb-thumb{flex:none;width:76px;height:76px;border-radius:10px;background:#EFE5DA center/cover no-repeat}
.ht-cb-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.ht-cb-meta{font-size:12px;color:var(--ht-cb-sub)}
.ht-cb-title{font-size:14.5px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ht-cb-spec{font-size:12.5px;color:var(--ht-cb-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ht-cb-price{margin-top:auto;padding-top:2px;display:flex;align-items:baseline;gap:6px}
.ht-cb-price b{font-size:15px;font-weight:800;color:var(--ht-cb-brown)}
.ht-cb-price del{font-size:12px;color:#A3948A}

.ht-cb-links{display:flex;flex-wrap:wrap;gap:6px}
.ht-cb a.ht-cb-link{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;transition:filter .2s}
.ht-cb a.ht-cb-link:hover{filter:brightness(.95)}
.ht-cb a.ht-cb-link.line{background:#fff;border:1px solid var(--ht-cb-line);color:var(--ht-cb-brown)}
.ht-cb a.ht-cb-link.kakao{background:#FEE500;color:#191600}
.ht-cb a.ht-cb-link.naver{background:#03C75A;color:#fff}
.ht-cb a.ht-cb-link.tel{background:var(--ht-cb-brown);color:#fff}

/* 입력 — 사이트 공통 input 스타일을 덮어씁니다 */
.ht-cb-form{flex:none;display:flex;align-items:center;gap:10px;margin:0;padding:14px 16px 16px;background:#fff;border-top:1px solid var(--ht-cb-line)}
.ht-cb .ht-cb-form input{flex:1;min-width:0;width:auto;height:48px;margin:0;padding:0 18px !important;border:1px solid var(--ht-cb-line);border-radius:999px;
  background:#fff;color:var(--ht-cb-ink);font-size:14.5px !important;line-height:normal !important;outline:none;transition:border-color .2s}
.ht-cb .ht-cb-form input::placeholder{color:#A3948A}
.ht-cb .ht-cb-form input:focus{border-color:var(--ht-cb-rose)}
.ht-cb-send{flex:none;width:48px;height:48px;border:0;border-radius:50%;background:var(--ht-cb-brown);color:#fff;
  display:flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s}
.ht-cb-send:hover{background:#5a4934}
.ht-cb-send:disabled{opacity:.5;cursor:default}
.ht-cb-send svg{width:20px;height:20px}

@media (max-width:900px){ .ht-cb-open{font-size:15.5px} }

/* 모바일 — 하단 메뉴바와 전화·카카오 버튼 위에 둡니다 */
@media (max-width:768px){
  .ht-cb-open{right:10px;bottom:calc(30vw + 108px);height:46px;padding:0 16px 0 13px;gap:7px;font-size:14.5px}
  .ht-cb-open svg{width:19px;height:19px}
  .ht-cb-panel{left:0;right:0;bottom:0;width:auto;height:calc(100% - 48px);max-height:none;border-radius:18px 18px 0 0}
  .ht-cb-form{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
  .ht-cb-msg{max-width:92%}
}

@media (prefers-reduced-motion:reduce){
  .ht-cb-open,.ht-cb-open svg,.ht-cb-open-label,.ht-cb-panel,.ht-cb-typing span{animation:none}
  .ht-cb-open-label{color:#fff;background:none;-webkit-background-clip:border-box;background-clip:border-box}
}
