/* Hollywood Kayak Co. — chat widget */
.hkc-chat{
  --hkc-ink:#0b2a36;
  --hkc-cream:#fdf8ee;
  --hkc-coral:#ff7048;
  --hkc-aqua:#5fd4e0;
  --hkc-sun:#ffb347;
  --hkc-line:rgba(11,42,54,.1);
  position:fixed;bottom:20px;right:20px;z-index:70;
  font-family:'Inter Tight','Inter',ui-sans-serif,system-ui,sans-serif;
}

/* ---------- BUBBLE ---------- */
.hkc-bubble{
  position:relative;display:inline-flex;align-items:center;gap:8px;
  background:var(--hkc-ink);color:var(--hkc-cream);
  border:0;border-radius:999px;cursor:pointer;
  padding:14px 18px 14px 16px;font-weight:600;font-size:14px;
  box-shadow:0 22px 40px -22px rgba(11,42,54,.55),0 10px 22px -14px rgba(255,112,72,.3);
  transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s,padding .35s,box-shadow .25s;
}
.hkc-bubble:hover{transform:translateY(-2px);background:var(--hkc-coral)}
.hkc-bubble .close-ic{display:none}
.hkc-bubble-label{transition:max-width .35s,opacity .25s,margin .35s;white-space:nowrap}
.hkc-chat.shrunk .hkc-bubble{padding:14px}
.hkc-chat.shrunk .hkc-bubble-label{max-width:0;opacity:0;margin:0;overflow:hidden}
.hkc-bubble-pulse{
  position:absolute;inset:-4px;border-radius:999px;
  border:2px solid var(--hkc-coral);opacity:.7;
  animation:hkc-pulse 2.4s ease-out infinite;pointer-events:none;
}
@keyframes hkc-pulse{
  0%{transform:scale(.95);opacity:.6}
  100%{transform:scale(1.18);opacity:0}
}
.hkc-chat.open .open-ic{display:none}
.hkc-chat.open .close-ic{display:block}
.hkc-chat.open .hkc-bubble{padding:14px;background:var(--hkc-coral)}
.hkc-chat.open .hkc-bubble-label{max-width:0;opacity:0;margin:0;overflow:hidden}
.hkc-chat.open .hkc-bubble-pulse{display:none}

/* ---------- PANEL ---------- */
.hkc-panel{
  position:absolute;right:0;bottom:64px;
  width:380px;max-width:calc(100vw - 28px);height:560px;max-height:calc(100vh - 110px);
  background:#fff;border-radius:24px;
  box-shadow:0 40px 80px -30px rgba(11,42,54,.45),0 12px 24px -12px rgba(11,42,54,.2);
  overflow:hidden;
  display:flex;flex-direction:column;
  transform:translateY(20px) scale(.96);opacity:0;pointer-events:none;
  transform-origin:bottom right;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s;
}
.hkc-chat.open .hkc-panel{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}
@media(max-width:480px){
  .hkc-panel{width:calc(100vw - 16px);right:-12px;bottom:70px;height:75vh}
}

.hkc-head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:14px 18px;border-bottom:1px solid var(--hkc-line);
  background:linear-gradient(180deg,#fdf8ee,#fff);
}
.hkc-brand{display:flex;align-items:center;gap:10px}
.hkc-dot{
  width:30px;height:30px;border-radius:50%;flex-shrink:0;
  background:radial-gradient(circle at 30% 30%,var(--hkc-sun),var(--hkc-coral) 60%,#b1351b);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.5),0 4px 10px -4px rgba(255,112,72,.6);
  position:relative;
}
.hkc-dot::after{content:"";position:absolute;inset:5px;border-radius:50%;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.7),transparent 50%)}
.hkc-name{font-weight:700;font-size:14px;letter-spacing:-.01em;color:var(--hkc-ink);line-height:1.1}
.hkc-status{font-size:11px;color:rgba(11,42,54,.55);font-weight:500;display:flex;align-items:center;gap:5px;margin-top:2px}
.hkc-live{width:6px;height:6px;border-radius:50%;background:#7cf3a0;box-shadow:0 0 6px #7cf3a0;animation:hkc-blink 2s ease-in-out infinite}
@keyframes hkc-blink{0%,100%{opacity:1}50%{opacity:.4}}
.hkc-close{
  width:28px;height:28px;border-radius:8px;background:rgba(11,42,54,.06);
  display:grid;place-items:center;color:var(--hkc-ink);border:0;cursor:pointer;
  transition:background .15s;
}
.hkc-close:hover{background:var(--hkc-ink);color:#fff}

.hkc-body{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fbf8f2}
.hkc-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.hkc-msg{display:flex}
.hkc-msg.user{justify-content:flex-end}
.hkc-bubble-msg{
  max-width:78%;padding:11px 14px;border-radius:18px;font-size:14.5px;line-height:1.45;
  word-wrap:break-word;
}
.hkc-msg.bot .hkc-bubble-msg{
  background:#fff;color:var(--hkc-ink);
  border:1px solid var(--hkc-line);
  border-bottom-left-radius:6px;
}
.hkc-msg.user .hkc-bubble-msg{
  background:var(--hkc-ink);color:#fff;
  border-bottom-right-radius:6px;
}
.hkc-bubble-msg strong{font-weight:700}
.hkc-bubble-msg a{color:var(--hkc-coral);text-decoration:underline}
.hkc-dot-typing{display:inline-block;width:6px;height:6px;border-radius:50%;background:rgba(11,42,54,.4);margin:0 2px;animation:hkc-bounce 1s infinite ease-in-out}
.hkc-dot-typing:nth-child(2){animation-delay:.15s}
.hkc-dot-typing:nth-child(3){animation-delay:.3s}
@keyframes hkc-bounce{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}

.hkc-cta{margin:2px 0}
.hkc-cta a, .hkc-cta button{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--hkc-coral);color:#fff;border:0;cursor:pointer;
  padding:9px 14px;border-radius:999px;font-size:13px;font-weight:600;font-family:inherit;
  text-decoration:none;transition:background .15s,transform .15s;
  box-shadow:0 8px 18px -8px rgba(255,112,72,.5);
}
.hkc-cta a:hover, .hkc-cta button:hover{background:#ff5a30;transform:translateY(-1px)}

.hkc-quickies{
  display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px 6px;
}
.hkc-quick{
  background:rgba(11,42,54,.06);color:var(--hkc-ink);border:0;cursor:pointer;
  padding:7px 12px;border-radius:999px;font-size:12.5px;font-weight:600;font-family:inherit;
  transition:background .15s,color .15s;
}
.hkc-quick:hover{background:var(--hkc-ink);color:#fff}

.hkc-form{
  display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--hkc-line);background:#fff;
}
.hkc-form input{
  flex:1;border:1px solid var(--hkc-line);border-radius:999px;
  padding:11px 16px;font-size:14px;font-family:inherit;color:var(--hkc-ink);
  background:#fbf8f2;outline:none;transition:border-color .15s,background .15s;
}
.hkc-form input:focus{border-color:var(--hkc-aqua);background:#fff}
.hkc-form button{
  width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;
  background:var(--hkc-ink);color:#fff;display:grid;place-items:center;
  transition:background .15s,transform .15s;flex-shrink:0;
}
.hkc-form button:hover{background:var(--hkc-coral);transform:translateY(-1px)}
.hkc-foot{padding:6px 14px 10px;font-size:10.5px;color:rgba(11,42,54,.4);text-align:center;background:#fff;border-top:1px solid rgba(11,42,54,.04)}
