/* A minimal conversation: opening message, suggested questions and real composer. */
body .voice-launch.chat-launch {
  display:flex; align-items:center; justify-content:center; gap:0;
  width:48px; height:48px; min-height:48px; padding:0;
  border:1px solid #d1d3d3; border-radius:12px;
  background:#fff; color:#151719; box-shadow:0 4px 20px #1017190d;
  transition:background 180ms ease,box-shadow 180ms ease,transform 180ms ease;
}
body .voice-launch.chat-launch>svg { display:block; width:24px; height:24px; flex:none; }
body .voice-launch.chat-launch::after { content:none!important; display:none!important; }
body .voice-launch.chat-launch:hover { background:#f5f6f5; box-shadow:0 5px 24px #10171916; transform:translateY(-2px); }
body .voice-launch.chat-launch:focus-visible,
#voice-dialog .assistant-chat-close:focus-visible,
#voice-dialog .assistant-chat-fallback:focus-visible { outline:2px solid #151719; outline-offset:3px; }
#voice-dialog.assistant-chat {
  position:fixed; inset:auto max(20px,env(safe-area-inset-right,0px)) max(82px,calc(68px + env(safe-area-inset-bottom,0px))) auto;
  margin:0; width:min(410px,calc(100vw - 40px)); height:min(440px,calc(100dvh - 112px));
  max-width:none; max-height:none; padding:0; overflow:hidden;
  border:1px solid #d7d9d8; border-radius:20px; color:#151719; background:#fff;
  box-shadow:0 15px 70px #11171926; overscroll-behavior:contain;
}
#voice-dialog.assistant-chat[open] { display:flex; flex-direction:column; transform-origin:bottom right; animation:assistant-chat-in 320ms cubic-bezier(.22,1,.36,1) both; }
#voice-dialog.assistant-chat[open].is-closing { animation:assistant-chat-out 180ms cubic-bezier(.4,0,1,1) both; pointer-events:none; }
#voice-dialog.assistant-chat::backdrop { background:#15171910; backdrop-filter:none; -webkit-backdrop-filter:none; }
#voice-dialog .assistant-chat-title {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
#voice-dialog .assistant-chat-close {
  position:absolute; top:10px; right:10px; z-index:30; display:grid; place-items:center;
  width:34px; height:34px; min-height:34px; padding:7px; margin:0;
  border:0; border-radius:9px; color:#555b57; background:#fff;
}
#voice-dialog .assistant-chat-close:hover { background:#f0f2f0; }
#voice-dialog .assistant-chat-close svg { width:18px; height:18px; }
#voice-widget.assistant-chat-conversation {
  position:relative; display:flex; flex:1 1 0; flex-direction:column;
  min-width:0; min-height:0; width:100%; margin:0; padding:0; overflow:hidden; background:#fff;
}
#voice-widget.assistant-chat-conversation>elevenlabs-convai {
  --el-base:#fff!important; --el-base-hover:#f7f8f7!important; --el-base-active:#f0f2f0!important;
  --el-base-border:#e3e6e3!important; --el-base-subtle:#727a73!important; --el-base-primary:#171b18!important; --el-base-error:#ae3830!important;
  --el-accent:#171b18!important; --el-accent-hover:#303831!important; --el-accent-active:#464e47!important;
  --el-accent-border:#303831!important; --el-accent-subtle:#777f78!important; --el-accent-primary:#fff!important;
  --el-button-radius:12px!important; --el-input-radius:12px!important; --el-bubble-radius:14px!important;
  --el-sheet-radius:20px!important; --el-compact-sheet-radius:0!important; --el-dropdown-sheet-radius:12px!important;
  position:relative; inset:auto; display:block; flex:1 1 0; min-width:0; min-height:0;
  width:100%; height:100%; max-width:100%; pointer-events:auto; transform:none; z-index:auto; font-family:inherit;
}
#voice-widget.assistant-chat-conversation>.fine { position:absolute; inset:60px 24px auto; margin:0; color:#747b76; font-size:12px; line-height:1.75; }
#voice-dialog .assistant-chat-fallback { display:none; }
#voice-dialog.is-chat-unavailable .assistant-chat-fallback {
  display:block; flex:none; align-self:flex-start; margin:0 24px 24px; padding:8px 12px;
  border:1px solid #dfe3df; border-radius:10px; font-size:12px; background:#fff; color:#202621;
}
@keyframes assistant-chat-in { from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes assistant-chat-out { from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.98)} }
/* Related panels use the same short, quiet motion without moving page content. */
#estimate-dialog[open] { animation:estimate-panel-in 300ms cubic-bezier(.22,1,.36,1) both; }
#estimate-dialog[open].is-closing { animation:estimate-panel-out 180ms cubic-bezier(.4,0,1,1) both; pointer-events:none; }
dialog[open]::backdrop { animation:panel-backdrop-in 240ms ease both; }
dialog[open].is-closing::backdrop { animation:panel-backdrop-out 180ms ease both; }
.cookie-banner:not([hidden]) { animation:cookie-panel-in 300ms cubic-bezier(.22,1,.36,1) both; }
.cookie-banner.is-closing:not([hidden]) { animation:cookie-panel-out 180ms ease both; pointer-events:none; }
@keyframes estimate-panel-in { from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes estimate-panel-out { from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.99)} }
@keyframes panel-backdrop-in { from{opacity:0}to{opacity:1} }
@keyframes panel-backdrop-out { from{opacity:1}to{opacity:0} }
@keyframes cookie-panel-in { from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)} }
@keyframes cookie-panel-out { from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)} }
@media(max-width:760px) {
  body .voice-launch.chat-launch { right:max(12px,env(safe-area-inset-right,0px)); bottom:calc(12px + env(safe-area-inset-bottom,0px)); width:44px; height:44px; min-height:44px; }
  body .voice-launch.chat-launch>svg { width:23px; height:23px; }
  #voice-dialog.assistant-chat { inset:auto 8px calc(8px + env(safe-area-inset-bottom,0px)); width:calc(100vw - 16px); height:min(480px,calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))); border-radius:18px; }
  #voice-dialog .assistant-chat-close { top:8px; right:8px; width:40px; height:40px; min-height:40px; padding:10px; }
}
@media(prefers-reduced-motion:reduce) {
  body .voice-launch.chat-launch { transition:none; }
  body .voice-launch.chat-launch:hover { transform:none; }
  #voice-dialog.assistant-chat[open],#voice-dialog.assistant-chat[open].is-closing,
  #estimate-dialog[open],#estimate-dialog[open].is-closing,
  dialog[open]::backdrop,dialog[open].is-closing::backdrop,
  .cookie-banner:not([hidden]),.cookie-banner.is-closing:not([hidden]) { animation:none; }
}
