/* Chat panel — hero-embedded concierge conversation */
.hpchat { background: var(--hp-paper); border: var(--hp-border); border-radius: var(--hp-radius-lg);
  box-shadow: var(--hp-shadow-card); display: flex; flex-direction: column; max-width: 640px;
  margin: 0 auto; overflow: hidden; }
.hpchat__log { padding: var(--hp-space-5); display: flex; flex-direction: column; gap: var(--hp-space-3);
  min-height: 120px; max-height: 55vh; overflow-y: auto; scroll-behavior: smooth; }
.hpchat__row { display: flex; gap: 10px; align-items: flex-end; }
.hpchat__row--user { flex-direction: row-reverse; }
.hpchat__avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex: none;
  border: 2px solid var(--hp-paper); box-shadow: 0 1px 4px rgba(14, 42, 77, 0.18); }
.hpchat__stack { display: flex; flex-direction: column; align-items: flex-start; gap: 4px;
  max-width: 85%; min-width: 0; }
.hpchat__row--user .hpchat__stack { align-items: flex-end; }
.hpchat__name { font-size: 12px; font-weight: 700; color: var(--hp-ink-3); padding: 0 6px; }
.hpchat__msg { position: relative; padding: var(--hp-space-3) var(--hp-space-4); border-radius: var(--hp-radius-md);
  font-size: 15px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: break-word; }
.hpchat__msg--user { background: var(--hp-navy); color: var(--hp-paper); border-bottom-right-radius: 4px; }
.hpchat__msg--bot { background: var(--hp-cream); color: var(--hp-ink-1); border-bottom-left-radius: 4px; }
.hpchat__msg--bot::after { content: ''; position: absolute; bottom: 0; left: -6px; width: 7px; height: 12px;
  background: var(--hp-cream); clip-path: polygon(100% 0, 100% 100%, 0 100%); }
.hpchat__msg--user::after { content: ''; position: absolute; bottom: 0; right: -6px; width: 7px; height: 12px;
  background: var(--hp-navy); clip-path: polygon(0 0, 0 100%, 100% 100%); }
.hpchat__msg--typing::after { content: '\2026'; opacity: .6; }
.hpchat__form { display: flex; gap: var(--hp-space-2); padding: var(--hp-space-3);
  border-top: var(--hp-border); background: var(--hp-paper); }
.hpchat__input { flex: 1; font: inherit; font-size: 16px; padding: var(--hp-space-3) var(--hp-space-4);
  border: var(--hp-border-strong); border-radius: var(--hp-radius-pill); color: var(--hp-ink-1); }
.hpchat__input:focus-visible { outline: 2px solid var(--hp-orange); outline-offset: 1px; }
.hpchat__send { font: inherit; font-weight: 800; padding: var(--hp-space-3) var(--hp-space-5);
  border: none; border-radius: var(--hp-radius-pill); background: var(--hp-orange); color: var(--hp-ink-1);
  cursor: pointer; }
.hpchat__send:disabled { opacity: .5; cursor: default; }
.hpchat__foot { display: flex; justify-content: center; gap: var(--hp-space-3);
  padding: 0 var(--hp-space-4) var(--hp-space-3); font-size: var(--hp-microcopy-size); color: var(--hp-ink-3); }
.hpchat__foot a { color: var(--hp-ink-2); font-weight: 700; text-decoration: none; }
.hpchat__foot a:hover { color: var(--hp-orange); }
@media (max-width: 640px) { .hpchat__log { max-height: 48vh; } }
