/* Booking conversation, sharing the hero input's frosted BorderBeam surface. */
#chat {
  width: min(420px, calc(100% - 40px));
  height: min(650px, calc(100dvh - 48px));
  max-height: calc(100dvh - 48px);
  margin: auto 24px 24px auto;
  border: 1px solid #ffffff35;
  border-radius: 28px;
  background: #24485de8;
  color: #f5f9fc;
  box-shadow: 0 32px 90px #03131c66, inset 0 1px 0 #ffffff24;
  backdrop-filter: blur(32px);
}
#chat::backdrop {
  background: #06192538;
  backdrop-filter: blur(5px);
}
.chat-beam-host, .chat-beam, .chat-beam-content, .chat-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 28px;
}
.chat-panel { overflow: hidden; }
#chat .chat-head {
  flex-shrink: 0;
  padding: 24px;
  gap: 14px;
  background: #ffffff07;
  border-bottom: 1px solid #ffffff16;
}
.chat-head::before {
  content: 'SC';
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  height: 44px;
  border: 1px solid #ffffff35;
  border-radius: 50%;
  background: #ffffff12;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
}
#chat .chat-head > div { flex: 1; }
#chat .chat-head h2 { font-size: 15px; font-weight: 600; }
#chat .chat-head p { color: #d1e0e9; font-size: 11px; margin-top: 3px; }
#close-chat {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border: 1px solid #ffffff20;
  border-radius: 50%;
  background: #ffffff0d;
  color: #eff7fb;
  font-size: 25px;
}
#chat #messages { padding: 24px 22px; gap: 14px; scrollbar-width: thin; scrollbar-color: #ffffff45 transparent; }
#chat .bubble {
  max-width: 92%;
  padding: 14px 16px;
  border: 1px solid #ffffff16;
  border-radius: 20px 20px 20px 6px;
  background: #ffffff12;
  color: #f3f8fc;
  font-size: 14px;
  line-height: 1.6;
}
#chat .bubble small { color: #bed2de; font-size: 10px; font-weight: 500; margin-bottom: 6px; }
#chat .bubble.visitor { background: #dcecf3; color: #173d50; border-radius: 20px 20px 6px 20px; }
#chat .bubble.visitor small { color: #496979; }
#chat #quick-replies { flex-shrink: 0; padding: 0 22px; }
#chat #quick-replies:empty, #chat-status:empty { display: none; }
#chat #quick-replies button {
  background: #ffffff12;
  border-color: #ffffff40;
  color: #f5f9fc;
  font-size: 12px;
  padding: 10px 14px;
}
#chat #chat-status { flex-shrink: 0; margin: 12px 0 0; padding: 0 24px; color: #ffdbbc; }
#chat #message-form {
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  margin: 20px 18px 10px;
  padding: 6px 6px 6px 18px;
  border: 1px solid #ffffff30;
  border-radius: 40px;
  background: #e9f7ff20;
  box-shadow: inset 0 1px 0 #ffffff10;
}
#chat #message { padding: 10px 0; background: transparent; border-radius: 0; color: #fff; }
#chat #message::placeholder { color: #d2e0e9; opacity: 1; }
#chat .send { width: 44px; height: 44px; background: #ffffff30; color: #fff; font-size: 26px; }
#chat .chat-foot { flex-shrink: 0; background: none; color: #c1d3de; font-size: 10px; line-height: 1.6; padding: 0 28px 22px; margin: 0; }
#chat button { transition: background-color 160ms ease; }
#chat button:hover { background-color: #ffffff28; }
#chat :focus-visible { outline: 2px solid #c5e6f8; outline-offset: 3px; }
#chat #message:focus-visible { outline-offset: 1px; border-radius: 4px; }
@media (max-width: 700px) {
  #chat {
    width: calc(100% - 20px);
    max-width: 440px;
    height: min(680px, calc(100dvh - 20px));
    max-height: calc(100dvh - 20px);
    margin: auto auto 10px;
    padding-bottom: 0;
  }
  #chat .chat-head { padding: 20px 18px; gap: 10px; }
  #chat #messages { padding: 20px 18px; }
  #chat .chat-foot { padding-bottom: max(18px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  #chat { background: #24485d; backdrop-filter: none; }
  #chat .bubble { background: #365a6d; }
  #chat .bubble.visitor { background: #dcecf3; }
  #chat #message-form { background: #3c5e71; }
}
@media (prefers-reduced-motion: reduce) {
  #chat button { transition: none; }
  .chat-beam::before, .chat-beam::after, .chat-beam [data-beam-bloom] { animation: none !important; transition: none !important; }
}
