.rebrand .consultation-chat.messenger { inset: auto 20px 16px auto; width: 420px; height: 700px; max-width: calc(100% - 32px); padding: 0; margin: 0; border: 1px solid #3b4d42; border-radius: 8px; background: #101713; color: #edf4ef; box-shadow: 0 16px 64px #0008; overflow: hidden; font-family: var(--font-body); }
.rebrand .messenger[open] { display: flex; flex-direction: column; }
.messenger::backdrop { background: #0004; }
.rebrand .messenger .chat-header { display: flex; flex-shrink: 0; gap: 10px; align-items: center; min-height: 76px; padding: 12px 14px; background: #19251e; border-bottom: 1px solid #34433a; }
.rebrand .messenger .chat-avatar { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border-radius: 50%; background: #2f6545; color: #b9ffd0; }
.chat-avatar svg { width: 25px; height: 25px; }
.rebrand .messenger .chat-heading { flex: 1; min-width: 0; }
.rebrand .messenger .chat-header h2 { font: 600 16px/1.4 var(--font-body); margin: 0; }
.rebrand .messenger .chat-heading p { font: 12px/1.5 var(--font-body); color: #b0c6b8; margin: 3px 0 0; }
.rebrand .messenger .chat-icon { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; color: #bfd0c5; cursor: pointer; }
.rebrand .messenger .chat-icon:hover { background: #2d4234; }
.rebrand .messenger .chat-icon:disabled { opacity: .45; cursor: default; }
.rebrand .messenger .chat-icon svg { width: 20px; height: 20px; }
.rebrand .messenger .chat-messages { min-height: 0; flex: 1; overflow-y: auto; padding: 18px 12px 12px; scroll-padding: 16px; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #476151 transparent; }
.rebrand .messenger .chat-bubble { display: block; position: relative; width: fit-content; max-width: 92%; padding: 10px 12px 6px; margin: 0 0 12px; border: 0; border-radius: 8px; background: #24342b; color: #edf4ef; white-space: normal; font: 15px/1.55 var(--font-body); overflow-wrap: anywhere; box-shadow: 0 1px 2px #0003; }
.rebrand .messenger .chat-bubble p { font: inherit; margin: 0; color: inherit; white-space: pre-wrap; }
.rebrand .messenger .chat-bubble--user { margin-left: auto; background: #365143; color: #f0fff5; }
.rebrand .messenger .chat-bubble a { color: #a0e9bb; text-decoration: none; }
.rebrand .messenger .chat-bubble a:hover { text-decoration: underline; }
.rebrand .messenger .chat-message-time { display: block; text-align: right; color: #afc4b7; font: 10px/1.6 var(--font-body); padding-top: 5px; }
.rebrand .messenger .chat-inline-actions { display: grid; gap: 6px; margin-top: 12px; }
.rebrand .messenger .chat-inline-actions button, .rebrand .messenger .chat-inline-actions > a { min-height: 40px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 8px 12px; border: 1px solid #577362; border-radius: 4px; background: #2d4938; color: #bcf6d0; font: 500 14px/1.4 var(--font-body); cursor: pointer; white-space: normal; overflow-wrap: anywhere; }
.rebrand .messenger .chat-inline-actions button:hover, .rebrand .messenger .chat-inline-actions > a:hover { border-color: #b79cd9; color: #edddff; background: #3e3a49; text-decoration: none; }
.rebrand .messenger .chat-brief-summary { border-top: 1px solid #496351; margin-top: 12px; padding-top: 12px; }
.rebrand .messenger .chat-composer { flex-shrink: 0; padding: 10px 12px 7px; background: #19251e; border-top: 1px solid #34433a; }
.rebrand .messenger .chat-form { display: flex; align-items: flex-end; gap: 8px; padding: 4px; border: 1px solid #43594b; border-radius: 8px; background: #101713; }
.rebrand .messenger .chat-form:focus-within { outline: 1px solid #84e7a6; }
.rebrand .messenger .chat-form textarea { flex: 1; min-width: 0; width: 100%; height: 40px; min-height: 40px; max-height: 112px; padding: 9px 10px; margin: 0; resize: none; outline: 0; border: 0; background: transparent; color: #edf4ef; font: 16px/1.4 var(--font-body); }
.rebrand .messenger .chat-form textarea::placeholder { color: #a4b6aa; }
.rebrand .messenger .chat-send { width: 40px; height: 40px; flex: 0 0 40px; color: #061b0e; background: #57dc86; }
.rebrand .messenger .chat-send:hover { background: #93efb0; }
.rebrand .messenger .chat-send:disabled { opacity: .45; cursor: default; }
.rebrand .messenger .chat-privacy { display: block; width: fit-content; margin: 6px auto 0; font: 11px/1.4 var(--font-body); color: #aec1b4; }
.rebrand .messenger .chat-typing { position: relative; display: grid; place-items: center; width: 64px; height: 38px; padding: 0; margin: 0 0 12px; border-radius: 8px; background: #24342b; }
.chat-typing-dots { display: flex; align-items: center; justify-content: center; gap: 6px; width: 38px; height: 18px; }
.chat-typing-dot { display: block; flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: #b7dfc5; opacity: .65; }
@media (prefers-reduced-motion: no-preference) {
  html:not([data-site-motion="off"]) .chat-typing-dot { animation: chat-typing-slide 1.35s ease-in-out infinite; }
  html:not([data-site-motion="off"]) .chat-typing-dot:nth-child(2) { animation-delay: 150ms; }
  html:not([data-site-motion="off"]) .chat-typing-dot:nth-child(3) { animation-delay: 300ms; }
  html[data-site-motion="light"] .rebrand .messenger .chat-typing-dot { animation-duration: 1.35s !important; }
}
@keyframes chat-typing-slide {
  0%, 65%, 100% { transform: translate(-2px, 1px) scale(.85); opacity: .45; }
  32% { transform: translate(2px, -2px) scale(1); opacity: 1; }
}
.rebrand .messenger .chat-contact-form { display: grid; gap: 12px; margin-top: 14px; }
.rebrand .messenger .chat-contact-form label { display: grid; gap: 5px; font: 13px/1.4 var(--font-body); color: #bfd9c9; }
.rebrand .messenger .chat-contact-form input { width: 100%; min-width: 0; min-height: 42px; background: #14221a; color: #f0fff5; padding: 8px 10px; border: 1px solid #66816f; border-radius: 4px; font: 16px/1.4 var(--font-body); }
.rebrand .messenger .chat-contact-form .chat-contact-consent { font: 11px/1.5 var(--font-body); color: #c3d5c9; }
.rebrand .messenger .chat-contact-submit { min-height: 44px; padding: 10px 12px; border: 1px solid #92efb0; border-radius: 4px; background: #57dc86; color: #071b0e; font: 600 15px/1.4 var(--font-body); cursor: pointer; }
.rebrand .messenger .chat-contact-submit:disabled { opacity: .6; cursor: wait; }
.rebrand .messenger .chat-contact-error { color: #ffc3b2; }
.rebrand .messenger .chat-honey { position: absolute; left: -9999px; width: 1px; height: 1px; }
.rebrand .messenger :is(button, a, input):focus-visible { outline: 2px solid #bca3e1; outline-offset: 2px; }
@media (max-width: 600px) {
  .rebrand .consultation-chat.messenger { inset: auto 0 0; width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; }
  .rebrand .messenger .chat-header { min-height: 70px; padding: 10px 12px; gap: 8px; }
  .rebrand .messenger .chat-header h2 { font-size: 16px; }
  .rebrand .messenger .chat-messages { padding: 14px 10px 10px; }
  .rebrand .messenger .chat-composer { padding: 8px 10px max(7px, env(safe-area-inset-bottom)); }
}
@media (max-width: 350px) {
  .rebrand .messenger .chat-header { gap: 6px; padding-inline: 10px; }
  .rebrand .messenger .chat-header h2 { font-size: 14px; }
  .rebrand .messenger .chat-heading p { font-size: 10px; }
  .rebrand .messenger .chat-icon { width: 32px; height: 32px; flex-basis: 32px; }
  .rebrand .messenger .chat-avatar { width: 36px; height: 36px; flex-basis: 36px; }
}
