/* RH Movers Smart Sales Assistant — v2.0.7 */
.rh-chat-root { position: relative; z-index: 99995; }
.rh-chat-launcher {
  position: fixed;
  right: 22px;
  bottom: 92px;
  z-index: 99996;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 8px 14px 8px 8px;
  border: 1px solid rgba(11,31,51,.14);
  border-radius: 999px;
  background: #fff;
  color: #0b1f33;
  box-shadow: 0 14px 38px rgba(11,31,51,.18), 0 3px 10px rgba(11,31,51,.08);
  cursor: pointer;
  font: inherit;
  transition: transform .18s ease, box-shadow .18s ease;
}
.rh-chat-launcher:hover { transform: translateY(-1px); box-shadow: 0 16px 44px rgba(11,31,51,.22), 0 3px 10px rgba(11,31,51,.08); }
.rh-chat-launcher-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #0b1f33;
  color: #fff;
}
.rh-chat-launcher-icon svg { width: 21px; height: 21px; fill: currentColor; }
.rh-chat-launcher-copy { display: grid; gap: 0; text-align: left; line-height: 1.15; }
.rh-chat-launcher-copy strong { font-size: 13px; font-weight: 850; }
.rh-chat-launcher-copy small { margin-top: 3px; color: #6f7c88; font-size: 10px; font-weight: 650; }
.rh-chat-root.has-nudge .rh-chat-launcher { animation: rhChatNudge 1s ease 2; }
@keyframes rhChatNudge { 0%,100%{transform:translateY(0)} 45%{transform:translateY(-5px)} 70%{transform:translateY(-2px)} }

.rh-chat-panel {
  position: fixed;
  right: 22px;
  bottom: 154px;
  z-index: 99997;
  width: min(390px, calc(100vw - 28px));
  max-height: min(610px, calc(100vh - 180px));
  display: grid;
  grid-template-rows: auto minmax(180px, 1fr) auto auto auto;
  overflow: hidden;
  border: 1px solid #dfe5ea;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 26px 70px rgba(11,31,51,.25), 0 8px 24px rgba(11,31,51,.10);
  font-family: inherit;
}
.rh-chat-panel[hidden], .rh-chat-modal[hidden] { display: none !important; }
.rh-chat-header {
  min-height: 72px;
  display: grid;
  grid-template-columns: 42px 1fr 34px;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  background: #0b1f33;
  color: #fff;
}
.rh-chat-brand {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #d8a93d;
  color: #0b1f33;
  font-size: 15px;
  font-weight: 950;
  letter-spacing: -.04em;
}
.rh-chat-title { display: grid; gap: 4px; min-width: 0; }
.rh-chat-title strong { font-size: 15px; line-height: 1.1; font-weight: 850; }
.rh-chat-title span { display: inline-flex; align-items: center; gap: 6px; color: #cbd4db; font-size: 11px; font-weight: 650; }
.rh-chat-title i { width: 7px; height: 7px; border-radius: 50%; background: #24c875; box-shadow: 0 0 0 3px rgba(36,200,117,.12); }
.rh-chat-close { width: 34px; height: 34px; border: 0; border-radius: 9px; background: rgba(255,255,255,.08); color: #fff; font: inherit; font-size: 24px; line-height: 1; cursor: pointer; }
.rh-chat-close:hover { background: rgba(255,255,255,.14); }

.rh-chat-body {
  min-height: 210px;
  overflow-y: auto;
  padding: 17px 14px 11px;
  background: #f7f9fb;
  overscroll-behavior: contain;
}
.rh-chat-message { display: flex; align-items: flex-end; gap: 8px; margin: 0 0 12px; }
.rh-chat-message.is-user { justify-content: flex-end; }
.rh-chat-avatar { flex: 0 0 28px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; background: #0b1f33; color: #fff; font-size: 9px; font-weight: 900; }
.rh-chat-bubble { max-width: 84%; padding: 10px 11px; border-radius: 14px 14px 14px 4px; background: #fff; color: #263746; box-shadow: 0 2px 10px rgba(11,31,51,.06); font-size: 13px; line-height: 1.5; white-space: pre-wrap; }
.rh-chat-message.is-user .rh-chat-bubble { border-radius: 14px 14px 4px 14px; background: #0b1f33; color: #fff; box-shadow: none; }
.rh-chat-response-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.rh-chat-inline-link { appearance: none; display: inline-flex; align-items: center; min-height: 30px; padding: 6px 9px; border: 1px solid #dfe5ea; border-radius: 999px; background: #fff; color: #0b1f33; font: inherit; font-size: 11px; font-weight: 800; line-height: 1.25; text-decoration: none; cursor: pointer; }
.rh-chat-inline-link:hover { border-color: #c8d2da; background: #f7f9fb; }
.rh-chat-inline-link.is-gold { border-color: #d8a93d; background: #d8a93d; color: #0b1f33; }
.rh-chat-inline-link.is-whatsapp { border-color: #15b965; background: #15b965; color: #fff; }

.rh-chat-typing { display: inline-flex; align-items: center; gap: 4px; min-width: 42px; }
.rh-chat-typing i { width: 5px; height: 5px; border-radius: 50%; background: #7e8a95; animation: rhTyping 1s infinite ease-in-out; }
.rh-chat-typing i:nth-child(2) { animation-delay: .12s; }
.rh-chat-typing i:nth-child(3) { animation-delay: .24s; }
@keyframes rhTyping { 0%,60%,100%{transform:translateY(0);opacity:.45} 30%{transform:translateY(-3px);opacity:1} }

.rh-chat-actions { display: flex; gap: 7px; overflow-x: auto; padding: 10px 12px; border-top: 1px solid #edf0f2; background: #fff; scrollbar-width: none; }
.rh-chat-actions::-webkit-scrollbar { display: none; }
.rh-chat-actions button { flex: 0 0 auto; min-height: 32px; padding: 7px 10px; border: 1px solid #dfe5ea; border-radius: 999px; background: #fff; color: #0b1f33; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.rh-chat-actions button:first-child { border-color: #d8a93d; background: #fff7df; }
.rh-chat-actions button:hover { border-color: #c5d0d9; background: #f6f8fa; }

.rh-chat-input-row { display: grid; grid-template-columns: 1fr 42px; gap: 8px; align-items: center; padding: 10px 12px 7px; border-top: 1px solid #edf0f2; background: #fff; }
.rh-chat-input-row input { width: 100%; min-width: 0; height: 42px; padding: 9px 12px; border: 1px solid #dfe5ea; border-radius: 12px; background: #fff; color: #15202b; font: inherit; font-size: 13px; outline: none; }
.rh-chat-input-row input::placeholder { color: #98a2ad; opacity: 1; }
.rh-chat-input-row input:focus { border-color: #d8a93d; box-shadow: 0 0 0 3px rgba(216,169,61,.13); }
.rh-chat-input-row button { width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 12px; background: #d8a93d; color: #0b1f33; cursor: pointer; }
.rh-chat-input-row button svg { width: 20px; height: 20px; fill: currentColor; }
.rh-chat-safety { margin: 0; padding: 2px 14px 10px; background: #fff; color: #87929c; font-size: 9px; line-height: 1.35; text-align: center; }

/* Quick Moving Quote modal */
html.rh-chat-modal-open, html.rh-chat-modal-open body { overflow: hidden; }
.rh-chat-modal { position: fixed; inset: 0; z-index: 100020; display: grid; place-items: center; padding: 18px; font-family: inherit; }
.rh-chat-modal-backdrop { position: absolute; inset: 0; background: rgba(4,18,31,.58); backdrop-filter: blur(3px); }
.rh-chat-quote-card { position: relative; z-index: 1; width: min(760px, 100%); max-height: min(820px, calc(100vh - 36px)); overflow: auto; border: 1px solid rgba(11,31,51,.12); border-radius: 22px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.rh-chat-quote-head { display: grid; grid-template-columns: 1fr 38px; gap: 16px; align-items: start; padding: 20px 22px 17px; border-bottom: 1px solid #edf0f2; background: #0b1f33; color: #fff; }
.rh-chat-quote-head span { display: block; margin-bottom: 5px; color: #d8a93d; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.rh-chat-quote-head h3 { margin: 0; color: #fff; font-size: 24px; line-height: 1.15; }
.rh-chat-quote-head button { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; background: rgba(255,255,255,.08); color: #fff; font: inherit; font-size: 25px; line-height: 1; cursor: pointer; }
.rh-chat-quote-form { padding: 20px 22px 18px; }
.rh-chat-quote-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.rh-chat-quote-grid label { display: grid; gap: 6px; min-width: 0; color: #0b1f33; font-size: 11px; font-weight: 850; }
.rh-chat-quote-grid label > span:first-child { min-height: 14px; }
.rh-chat-quote-grid em { color: #788795; font-style: normal; font-weight: 600; }
.rh-chat-quote-grid input, .rh-chat-quote-grid select, .rh-chat-quote-grid textarea { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #dce3e9; border-radius: 11px; background: #fff; color: #17293a; font: inherit; font-size: 14px; font-weight: 500; outline: none; }
.rh-chat-quote-grid input, .rh-chat-quote-grid select { height: 45px; padding: 9px 11px; }
.rh-chat-quote-grid textarea { resize: vertical; min-height: 82px; padding: 10px 11px; }
.rh-chat-quote-grid input::placeholder, .rh-chat-quote-grid textarea::placeholder { color: #9aa6b2; opacity: 1; }
.rh-chat-quote-grid input:focus, .rh-chat-quote-grid select:focus, .rh-chat-quote-grid textarea:focus { border-color: #d8a93d; box-shadow: 0 0 0 3px rgba(216,169,61,.12); }
.rh-chat-full { grid-column: 1 / -1; }
.rh-chat-phone { display: grid; grid-template-columns: 58px 1fr; }
.rh-chat-phone b { height: 45px; display: grid; place-items: center; border: 1px solid #dce3e9; border-right: 0; border-radius: 11px 0 0 11px; background: #f5f7f9; color: #0b1f33; font-size: 12px; }
.rh-chat-phone input { border-radius: 0 11px 11px 0 !important; }
.rh-chat-quote-error { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: #fff1f0; color: #9d2b25; font-size: 12px; line-height: 1.45; }
.rh-chat-quote-submit { width: 100%; min-height: 48px; margin-top: 16px; border: 0; border-radius: 12px; background: #d8a93d; color: #0b1f33; font: inherit; font-size: 13px; font-weight: 900; cursor: pointer; }
.rh-chat-quote-submit:hover { filter: brightness(.98); }
.rh-chat-quote-submit:disabled { opacity: .65; cursor: wait; }
.rh-chat-quote-privacy { margin: 9px 0 0; color: #7f8c97; font-size: 10px; line-height: 1.4; text-align: center; }
.rh-chat-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }

@media (max-width: 680px) {
  .rh-chat-launcher { right: 14px; bottom: 84px; padding-right: 10px; }
  .rh-chat-launcher-copy { display: none; }
  .rh-chat-launcher-icon { width: 42px; height: 42px; }
  .rh-chat-panel { right: 14px; bottom: 140px; width: calc(100vw - 28px); max-height: min(600px, calc(100vh - 160px)); border-radius: 18px; }
  .rh-chat-body { min-height: 180px; }
  .rh-chat-modal { padding: 10px; align-items: end; }
  .rh-chat-quote-card { width: 100%; max-height: calc(100vh - 20px); border-radius: 20px 20px 12px 12px; }
  .rh-chat-quote-head { padding: 17px 16px 14px; }
  .rh-chat-quote-head h3 { font-size: 21px; }
  .rh-chat-quote-form { padding: 16px; }
  .rh-chat-quote-grid { grid-template-columns: 1fr; gap: 12px; }
  .rh-chat-full { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .rh-chat-launcher, .rh-chat-root.has-nudge .rh-chat-launcher, .rh-chat-typing i { transition: none; animation: none; }
}
