/* V2: the voice call card, the separate Talk button and the [mwd_ai_voice] page button. Colours follow the chat
   (voice.js copies its primary colour into --mwdai-voice-primary) unless Voice > Appearance sets them (V3):
   --mwdai-voice-primary main colour, --mwdai-voice-button buttons and the icon badge (empty: a little darker than the
   main colour), --mwdai-voice-on text on those colours, --mwdai-voice-surface and --mwdai-voice-ink the card.
   Theme button rules (for example a reset that paints every focused or hovered button) never reach these buttons:
   the properties a theme sets on buttons are fixed here with !important. */
.mwdai-voice-card,.mwdai-voice-launcher,.mwdai-voice-cta{--mwdai-voice-accent:var(--mwdai-voice-primary,#155eef);--mwdai-voice-fg:var(--mwdai-voice-on,#fff);box-sizing:border-box;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:normal;text-transform:none}
.mwdai-voice-card *,.mwdai-voice-card *::before,.mwdai-voice-card *::after{box-sizing:border-box}
.mwdai-voice-card svg,.mwdai-voice-launcher svg,.mwdai-voice-cta svg{display:block;fill:none;flex-shrink:0;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:20px}

/* Voice-only mode: the text chat stays on the page (its session starts the call) but is not shown. */
body.mwdai-voice-only .mwdai-core-shell.mwdai-core-floating{display:none!important}

/* The separate button and the page button: the chat button's shape (Core: 54 px pill, 10 px 18 px padding, 15 px
   semibold label beside a 34 px round icon). voice.js gives the separate button the chat button's exact size. */
.mwdai-voice-launcher.mwdai-voice-launcher,.mwdai-voice-launcher.mwdai-voice-launcher:hover,.mwdai-voice-launcher.mwdai-voice-launcher:focus,.mwdai-voice-launcher.mwdai-voice-launcher:active,
.mwdai-voice-cta.mwdai-voice-cta,.mwdai-voice-cta.mwdai-voice-cta:hover,.mwdai-voice-cta.mwdai-voice-cta:focus,.mwdai-voice-cta.mwdai-voice-cta:active{align-items:center!important;background:var(--mwdai-voice-accent)!important;border:0!important;border-radius:999px!important;color:var(--mwdai-voice-fg)!important;cursor:pointer;display:inline-flex!important;flex-direction:row!important;font-weight:600!important;gap:10px!important;justify-content:center!important;line-height:1.3!important;max-width:100%;min-height:54px!important;outline:0;padding:10px 18px!important;text-align:start!important;text-decoration:none!important;text-transform:none!important;white-space:nowrap!important;-webkit-tap-highlight-color:transparent}
.mwdai-voice-launcher.mwdai-voice-launcher{bottom:20px;box-shadow:0 12px 30px rgba(16,24,40,.22)!important;font-size:15px;margin:0!important;position:fixed!important;right:20px;width:auto;z-index:999998}
.mwdai-voice-launcher.is-left{left:20px;right:auto}
.mwdai-voice-cta.mwdai-voice-cta{box-shadow:0 8px 22px rgba(16,24,40,.16)!important;font-size:16px;margin:4px 0!important;width:auto!important}
.mwdai-voice-launcher b,.mwdai-voice-cta span{color:inherit!important;font:inherit;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mwdai-voice-launcher:hover,.mwdai-voice-cta:hover{filter:brightness(1.06)}
.mwdai-voice-launcher.mwdai-voice-launcher:focus-visible,.mwdai-voice-cta.mwdai-voice-cta:focus-visible{outline:3px solid #84adff!important;outline-offset:3px}
.mwdai-voice-launcher[hidden],.mwdai-voice-cta[hidden]{display:none!important}
html.mwdai-core-locked .mwdai-voice-launcher.mwdai-voice-launcher:is(*,:hover,:focus,:active),html.mwdai-voice-locked .mwdai-voice-launcher.mwdai-voice-launcher:is(*,:hover,:focus,:active){display:none!important}
@media(max-width:600px){.mwdai-voice-launcher.mwdai-voice-launcher{bottom:12px;right:12px}.mwdai-voice-launcher.is-left{left:12px;right:auto}}
/* The round icon badge (the chat button shows its logo the same way): a little darker than the button. */
.mwdai-voice-icon{align-items:center;background:var(--mwdai-voice-button,rgba(0,0,0,.18));border-radius:50%;color:var(--mwdai-voice-fg);display:inline-flex;flex:0 0 34px;font-style:normal;height:34px;justify-content:center;overflow:hidden;width:34px}
.mwdai-voice-icon svg{height:19px!important;width:19px!important}
.mwdai-voice-icon img{border-radius:50%;display:block;height:100%!important;margin:0;max-width:none;object-fit:cover;width:100%!important}

/* The call card. Opened in the chat's corner it hides the open chat window under it (the chat comes back on close). */
html.mwdai-voice-over-chat .mwdai-core-shell.mwdai-core-floating.is-open .mwdai-core-widget{visibility:hidden}
.mwdai-voice-card{background:var(--mwdai-voice-surface,#fff);border-radius:22px;bottom:92px;box-shadow:0 24px 64px rgba(16,24,40,.24),0 2px 6px rgba(16,24,40,.08);color:var(--mwdai-voice-ink,#101828);display:flex;flex-direction:column;font-size:15px;line-height:1.5;max-height:min(680px,calc(100vh - 112px));overflow:hidden;position:fixed;right:20px;text-align:start;width:min(380px,calc(100vw - 24px));z-index:1000000}
@supports(height:100dvh){.mwdai-voice-card{max-height:min(680px,calc(100dvh - 112px))}}
.mwdai-voice-card.is-left{left:20px;right:auto}
.mwdai-voice-card[hidden]{display:none!important}
.mwdai-voice-card:focus{outline:0}
.mwdai-voice-card-head{align-items:center;background:var(--mwdai-voice-accent);color:var(--mwdai-voice-fg);display:flex;flex-shrink:0;gap:12px;padding:14px 14px 14px 16px}
.mwdai-voice-avatar{display:flex;flex:0 0 38px}
.mwdai-voice-avatar .mwdai-voice-icon{flex-basis:38px;height:38px;width:38px}
.mwdai-voice-names{display:grid;flex:1 1 auto;min-width:0}
.mwdai-voice-names strong{font-size:16px;font-weight:600;line-height:1.3}
.mwdai-voice-names small{font-size:13px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mwdai-voice-card .mwdai-voice-close,.mwdai-voice-card .mwdai-voice-close:hover,.mwdai-voice-card .mwdai-voice-close:focus,.mwdai-voice-card .mwdai-voice-close:active{align-items:center!important;background:transparent!important;border:0!important;border-radius:10px!important;box-shadow:none!important;color:var(--mwdai-voice-fg)!important;cursor:pointer;display:inline-flex!important;flex:0 0 36px;height:36px;justify-content:center;margin:0;min-height:0;padding:0!important;width:36px}
.mwdai-voice-card .mwdai-voice-close:hover{background:rgba(255,255,255,.16)!important}
.mwdai-voice-scroll{display:flex;flex:1 1 auto;flex-direction:column;gap:14px;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 18px 8px}

/* Stage: the voice animation, the state and the call time. */
.mwdai-voice-stage{align-items:center;display:flex;flex-direction:column;gap:6px;padding:4px 0 2px;text-align:center}
.mwdai-voice-orb{--mwdai-voice-level:0;align-items:center;background:#eef4ff;border-radius:50%;display:flex;gap:6px;height:112px;justify-content:center;position:relative;width:112px}
.mwdai-voice-orb::after{border:2px solid #c7d7fe;border-radius:50%;content:"";inset:-6px;opacity:0;position:absolute}
.mwdai-voice-orb span{background:var(--mwdai-voice-accent);border-radius:4px;display:block;height:calc(10px + var(--mwdai-voice-level) * 46px);transition:height .08s linear;width:7px}
.mwdai-voice-orb span:nth-child(2),.mwdai-voice-orb span:nth-child(4){height:calc(14px + var(--mwdai-voice-level) * 34px)}
.mwdai-voice-orb span:nth-child(1),.mwdai-voice-orb span:nth-child(5){height:calc(8px + var(--mwdai-voice-level) * 20px)}
.mwdai-voice-card[data-state=notice] .mwdai-voice-orb span,.mwdai-voice-card[data-state=ended] .mwdai-voice-orb span,.mwdai-voice-card[data-state=error] .mwdai-voice-orb span,.mwdai-voice-card[data-state=muted] .mwdai-voice-orb span{opacity:.45}
.mwdai-voice-card[data-state=error] .mwdai-voice-orb{filter:grayscale(1)}
@media(prefers-reduced-motion:no-preference){
.mwdai-voice-card[data-state=connecting] .mwdai-voice-orb::after{animation:mwdai-voice-ring 1.4s ease-out infinite}
.mwdai-voice-card[data-state=connecting] .mwdai-voice-orb span{animation:mwdai-voice-wait 1.1s ease-in-out infinite}
.mwdai-voice-card[data-state=listening] .mwdai-voice-orb::after{animation:mwdai-voice-ring 2.4s ease-out infinite}
.mwdai-voice-card[data-state=speaking] .mwdai-voice-orb span{animation:mwdai-voice-talk .9s ease-in-out infinite}
.mwdai-voice-orb span:nth-child(2){animation-delay:.12s!important}.mwdai-voice-orb span:nth-child(3){animation-delay:.24s!important}.mwdai-voice-orb span:nth-child(4){animation-delay:.36s!important}.mwdai-voice-orb span:nth-child(5){animation-delay:.48s!important}
@keyframes mwdai-voice-ring{from{opacity:.9;transform:scale(.92)}to{opacity:0;transform:scale(1.18)}}
@keyframes mwdai-voice-wait{0%,100%{transform:scaleY(.6)}50%{transform:scaleY(1.25)}}
@keyframes mwdai-voice-talk{0%,100%{transform:scaleY(.85)}50%{transform:scaleY(1.45)}}
}
.mwdai-voice-status{color:inherit;font-size:15px;font-weight:600;margin:6px 0 0;min-height:1.5em}
.mwdai-voice-timer{color:inherit;opacity:.72;font-size:13px;font-variant-numeric:tabular-nums;margin:0}
.mwdai-voice-timer[hidden]{display:none}
.mwdai-voice-notice{background:#f2f4f7;border-radius:14px;color:#344054;font-size:14px;margin:0;padding:12px 14px;white-space:pre-wrap}

/* Buttons. */
.mwdai-voice-actions{align-items:center;border-top:1px solid #eaecf0;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;justify-content:center;padding:14px 16px 16px}
.mwdai-voice-actions:empty{display:none}
.mwdai-voice-card button:not(.mwdai-voice-close),.mwdai-voice-card button:not(.mwdai-voice-close):hover,.mwdai-voice-card button:not(.mwdai-voice-close):focus,.mwdai-voice-card button:not(.mwdai-voice-close):active{align-items:center!important;border:1px solid #d0d5dd!important;border-radius:12px!important;box-shadow:none!important;cursor:pointer;display:inline-flex!important;flex-direction:row;font:inherit!important;font-weight:600!important;gap:8px;justify-content:center!important;line-height:1.3!important;margin:0!important;min-height:44px;padding:8px 16px!important;text-decoration:none!important;text-transform:none!important;white-space:normal!important}
.mwdai-voice-card button:disabled{cursor:not-allowed;opacity:.55}
.mwdai-voice-card button[hidden]{display:none!important}
.mwdai-voice-card button:focus-visible{outline:3px solid #84adff!important;outline-offset:2px}
/* Start and Send: the button colour, by default a little darker than the main colour (flat main colour without color-mix()). */
.mwdai-voice-card .mwdai-voice-primary.mwdai-voice-primary,.mwdai-voice-card .mwdai-voice-primary.mwdai-voice-primary:hover,.mwdai-voice-card .mwdai-voice-primary.mwdai-voice-primary:focus,.mwdai-voice-card .mwdai-voice-primary.mwdai-voice-primary:active{background:var(--mwdai-voice-button,var(--mwdai-voice-accent))!important;border-color:transparent!important;color:var(--mwdai-voice-fg)!important}
.mwdai-voice-card .mwdai-voice-primary:hover:not(:disabled){filter:brightness(1.08)}
.mwdai-voice-card .mwdai-voice-secondary.mwdai-voice-secondary,.mwdai-voice-card .mwdai-voice-secondary.mwdai-voice-secondary:focus,.mwdai-voice-card .mwdai-voice-secondary.mwdai-voice-secondary:active{background:#fff!important;color:#344054!important}
.mwdai-voice-card .mwdai-voice-secondary.mwdai-voice-secondary:hover:not(:disabled){background:#f9fafb!important;color:#344054!important}
.mwdai-voice-card .mwdai-voice-start{flex:1 1 auto}
.mwdai-voice-card .mwdai-voice-round.mwdai-voice-round,.mwdai-voice-card .mwdai-voice-round.mwdai-voice-round:hover,.mwdai-voice-card .mwdai-voice-round.mwdai-voice-round:focus,.mwdai-voice-card .mwdai-voice-round.mwdai-voice-round:active{border-radius:999px!important;flex-direction:column!important;font-size:12px!important;gap:4px;min-width:84px;padding:10px 14px!important}
.mwdai-voice-card .mwdai-voice-round svg{height:22px;width:22px}
.mwdai-voice-card .mwdai-voice-mute.mwdai-voice-mute,.mwdai-voice-card .mwdai-voice-mute.mwdai-voice-mute:hover,.mwdai-voice-card .mwdai-voice-mute.mwdai-voice-mute:focus,.mwdai-voice-card .mwdai-voice-mute.mwdai-voice-mute:active{background:#f2f4f7!important;border-color:transparent!important;color:#344054!important}
.mwdai-voice-card .mwdai-voice-mute.mwdai-voice-mute[aria-pressed=true]{background:#101828!important;color:#fff!important}
.mwdai-voice-card .mwdai-voice-danger.mwdai-voice-danger,.mwdai-voice-card .mwdai-voice-danger.mwdai-voice-danger:focus,.mwdai-voice-card .mwdai-voice-danger.mwdai-voice-danger:active{background:#d92d20!important;border-color:transparent!important;color:#fff!important}
.mwdai-voice-card .mwdai-voice-danger.mwdai-voice-danger:hover{background:#b42318!important;color:#fff!important}

/* Transcript and the request review form. */
.mwdai-voice-transcript{border:1px solid #eaecf0;border-radius:14px;padding:0 12px}
.mwdai-voice-transcript[hidden]{display:none}
.mwdai-voice-transcript summary{color:inherit;cursor:pointer;font-size:14px;font-weight:600;padding:10px 0}
.mwdai-voice-log{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0 0 12px;max-height:200px;overflow:auto;padding:0}
.mwdai-voice-log li{background:#f2f4f7;border-radius:12px;font-size:14px;max-width:90%;padding:6px 10px;white-space:pre-wrap;word-break:break-word}
.mwdai-voice-log li{color:#101828}
.mwdai-voice-log li.is-user{align-self:flex-end;background:var(--mwdai-voice-accent);color:var(--mwdai-voice-fg)}
.mwdai-voice-log li.is-partial{opacity:.75}
.mwdai-voice-quote{background:var(--mwdai-voice-surface,#fff);border:1px solid #d0d5dd;border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.05);display:grid;gap:10px;padding:14px}
.mwdai-voice-quote[hidden]{display:none}
.mwdai-voice-quote h3{color:inherit;font-size:16px;font-weight:600;margin:0}
.mwdai-voice-quote p{margin:0}
.mwdai-voice-field{display:grid;gap:4px}
.mwdai-voice-field label{color:inherit;font-size:13px;font-weight:600}
.mwdai-voice-field input,.mwdai-voice-field textarea{background:#fff;border:1px solid #d0d5dd;border-radius:10px;box-shadow:none;color:#101828;font:inherit;font-size:16px;margin:0;padding:9px 11px;width:100%}
.mwdai-voice-field input:focus,.mwdai-voice-field textarea:focus{border-color:var(--mwdai-voice-accent);box-shadow:0 0 0 3px rgba(21,94,239,.16);outline:0}
.mwdai-voice-field textarea{min-height:72px;resize:vertical}
.mwdai-voice-field [aria-invalid=true]{border-color:#d92d20}
.mwdai-voice-field em{color:#b42318;font-style:normal;font-weight:400}
.mwdai-voice-help,.mwdai-voice-note,.mwdai-voice-earlier{color:#475467;font-size:13px}
.mwdai-voice-missing{color:#b54708;font-size:13px}
.mwdai-voice-sent{background:#ecfdf3;border-radius:10px;color:#067647;font-weight:600;padding:8px 10px}
.mwdai-voice-sent-field{font-size:14px}
.mwdai-voice-quote-actions{display:flex;flex-wrap:wrap;gap:8px}
.mwdai-voice-quote-actions button{flex:1 1 auto}

/* Phones: the card fills the visible viewport (VisualViewport, set by voice.js), so the keyboard of the request form
   never hides the header and the close button; the page behind does not scroll. */
.mwdai-voice-card.is-sheet{border-radius:0;bottom:auto!important;height:var(--mwdai-voice-view-height,100vh);left:var(--mwdai-voice-view-left,0px)!important;max-height:none;right:auto!important;top:var(--mwdai-voice-view-top,0px);width:var(--mwdai-voice-view-width,100vw)}
.mwdai-voice-card.is-sheet .mwdai-voice-card-head{padding-top:max(14px,env(safe-area-inset-top))}
.mwdai-voice-card.is-sheet .mwdai-voice-actions{padding-bottom:max(16px,env(safe-area-inset-bottom))}
html.mwdai-voice-locked,html.mwdai-voice-locked body{overflow:hidden!important;overscroll-behavior:none}

/* Shades of the chat's colour where the browser supports color-mix(); elsewhere the flat colours above stay (a mix
   inside var() would otherwise be dropped at computed time and leave the header transparent). */
@supports (color: color-mix(in srgb, red 50%, blue)) {
.mwdai-voice-launcher:focus-visible,.mwdai-voice-cta:focus-visible{outline:3px solid color-mix(in srgb,var(--mwdai-voice-accent) 45%,transparent)!important}
.mwdai-voice-card-head{background:linear-gradient(135deg,var(--mwdai-voice-accent),color-mix(in srgb,var(--mwdai-voice-accent) 70%,#000))}
.mwdai-voice-icon{background:var(--mwdai-voice-button,color-mix(in srgb,var(--mwdai-voice-accent) 82%,#000))}
.mwdai-voice-card .mwdai-voice-primary.mwdai-voice-primary,.mwdai-voice-card .mwdai-voice-primary.mwdai-voice-primary:hover,.mwdai-voice-card .mwdai-voice-primary.mwdai-voice-primary:focus,.mwdai-voice-card .mwdai-voice-primary.mwdai-voice-primary:active{background:var(--mwdai-voice-button,color-mix(in srgb,var(--mwdai-voice-accent) 82%,#000))!important}
.mwdai-voice-orb{background:radial-gradient(circle,color-mix(in srgb,var(--mwdai-voice-accent) 16%,#fff) 0 55%,color-mix(in srgb,var(--mwdai-voice-accent) 7%,#fff) 56% 100%)}
.mwdai-voice-orb::after{border:2px solid color-mix(in srgb,var(--mwdai-voice-accent) 35%,transparent)}
.mwdai-voice-card button:focus-visible{outline:3px solid color-mix(in srgb,var(--mwdai-voice-accent) 40%,transparent)}
.mwdai-voice-field input:focus,.mwdai-voice-field textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--mwdai-voice-accent) 16%,transparent)}
}
