/* 함투사 상담 도우미 (helper.js) — 오른쪽 아래를 따라다니는 버튼 + 자주 묻는 질문 창 */
.hpFab{position:fixed;right:18px;bottom:18px;z-index:40;display:flex;align-items:center;gap:7px;height:52px;padding:0 18px 0 16px;border-radius:99px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(135deg,#f05b70,#d9435b);color:#fff;font:inherit;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 14px 34px rgba(0,0,0,.4),0 0 0 4px rgba(240,91,112,.14);transition:transform .2s}
.hpFab:hover{transform:translateY(-2px)}
.hpFab:focus-visible{outline:3px solid #fff;outline-offset:3px}
html.hpOpen .hpFab{background:#1b2a3d;box-shadow:0 10px 26px rgba(0,0,0,.4)}
.hpPanel{position:fixed;right:18px;bottom:82px;z-index:41;width:min(370px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 110px));display:flex;flex-direction:column;border:1px solid #40516a;border-radius:18px;background:linear-gradient(170deg,#172436,#0f1a28);color:#f5f7fb;box-shadow:0 30px 80px rgba(0,0,0,.55);overflow:hidden}
.hpPanel[hidden]{display:none}
.hpPanel header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 14px 12px 16px;border-bottom:1px solid #26374b;background:rgba(240,91,112,.08)}
.hpPanel header b{display:block;font-size:15px;letter-spacing:-.03em}
.hpPanel header small{display:block;font-size:11.5px;color:#9fb0c3;margin-top:2px}
.hpX{width:32px;height:32px;flex:none;border-radius:50%;border:1px solid #3a4b61;background:#0f1a28;color:#cdd7e2;font:inherit;font-size:17px;line-height:1;cursor:pointer}
.hpLog{flex:1;min-height:120px;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:9px;overscroll-behavior:contain}
.hpMsg{max-width:88%;border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.65;word-break:keep-all}
.hpMsg p{margin:0}
.hpMsg.bot{align-self:flex-start;background:#1b2a3d;border:1px solid #2b3d55;border-top-left-radius:4px;color:#dbe5ee}
.hpMsg.me{align-self:flex-end;background:#f05b70;color:#fff;border-top-right-radius:4px}
.hpAct{display:block;margin-top:8px;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid #3a4b61;color:#ffb3be;font-size:12.5px;font-weight:800;text-decoration:none}
.hpAct:hover{border-color:#f05b70;color:#fff}
.hpChips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0;border-top:1px solid #22324a}
.hpChips button{height:32px;padding:0 11px;border-radius:99px;border:1px solid #3a4b61;background:#0f1a28;color:#dbe5ee;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.hpChips button:hover{border-color:#f05b70;color:#fff}
.hpAsk{display:flex;gap:6px;padding:10px 14px 6px}
.hpAsk input{flex:1;min-width:0;height:42px;border-radius:10px;border:1px solid #43536a;background:#091421;color:#fff;padding:0 12px;font:inherit;font-size:14px;outline:none}
.hpAsk input:focus{border-color:#f05b70;box-shadow:0 0 0 3px rgba(240,91,112,.18)}
.hpAsk button{flex:none;height:42px;padding:0 14px;border-radius:10px;border:0;background:#f05b70;color:#fff;font:inherit;font-size:13.5px;font-weight:900;cursor:pointer}
.hpNote{margin:0;padding:0 14px 12px;font-size:10.5px;color:#7f90a4;line-height:1.5}
@media(max-width:600px){
  .hpFab{right:12px;bottom:12px;height:48px;padding:0 15px 0 13px;font-size:14px}
  .hpPanel{left:8px;right:8px;bottom:70px;width:auto;max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px)}
}
@media(max-width:1080px){
  html.hpLift .hpFab{bottom:84px}
  html.hpLift .hpPanel{bottom:146px;max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px)}
}
@media (prefers-reduced-motion:reduce){.hpFab{transition:none}}
@media print{.hpFab,.hpPanel{display:none!important}}
