/* Standalone Setdio Ecommerce AI v1.3.0 voice UI. This only styles AI voice controls. */
.setdio-ecommerce-ai .setdio-realtime-voice-mic:not([hidden]){
  display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;
  border-radius:50%!important;min-width:40px!important;min-height:40px!important;
  transition:background .2s ease,transform .2s ease!important;
}
.setdio-ecommerce-ai .setdio-realtime-voice-mic:not([hidden]):focus-visible{
  outline:3px solid #89b8ff!important;outline-offset:2px!important
}
.setdio-ecommerce-ai .setdio-realtime-voice-mic.is-realtime-active{
  background:#337cf5!important;color:#fff!important;box-shadow:0 0 0 5px rgba(51,124,245,.12)!important
}
.setdio-ecommerce-ai .setdio-realtime-voice-mic.is-realtime-active::before{
  content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(51,124,245,.48);
  animation:setdio-realtime-mic-glow 1.5s ease-in-out infinite;pointer-events:none
}
@keyframes setdio-realtime-mic-glow{0%,100%{opacity:.24;transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}}
.setdio-realtime-voice[hidden]{display:none!important}
body.setdio-realtime-voice-active{overflow:hidden!important}
.setdio-realtime-voice{
  --setdio-voice-level:0;--setdio-voice-scale:1;--setdio-halo-scale:.87;--setdio-halo-outer:1.06;--setdio-halo-opacity:.32;--setdio-halo-outer-opacity:.14;
  box-sizing:border-box!important;position:fixed!important;inset:0!important;z-index:2147483640!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  padding:calc(20px + env(safe-area-inset-top)) 22px calc(25px + env(safe-area-inset-bottom))!important;
  background:linear-gradient(155deg,#111a28,#15283d 48%,#101827)!important;
  color:#fff!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  font-size:16px!important;line-height:1.4!important;overflow:auto!important;overscroll-behavior:contain!important
}
.setdio-realtime-voice *{box-sizing:border-box!important}
.setdio-realtime-voice button{font:inherit!important;cursor:pointer!important}
.setdio-realtime-voice__top{display:flex;justify-content:space-between;align-items:center;gap:15px}
.setdio-realtime-voice__title{font-size:20px;font-weight:650}
.setdio-realtime-voice__state{font-size:13px;color:#bfd0e0;margin-top:4px}
.setdio-realtime-voice__close{border:0!important;background:#303b4b!important;color:#fff!important;border-radius:50%!important;width:46px;height:46px;font-size:30px;flex:none}
.setdio-realtime-voice__center{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:15px;min-height:320px}
.setdio-realtime-voice__visual{width:225px;height:205px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}
.setdio-realtime-voice__microphone{
  width:95px;height:95px;border-radius:50%;position:relative;z-index:2;
  background:linear-gradient(155deg,#69b1ff,#2873ed);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 28px rgba(68,145,255,.35);
  transform:scale(var(--setdio-voice-scale));transition:transform .09s ease-out,background .2s ease
}
.setdio-realtime-voice__microphone svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.setdio-realtime-voice__halo{
  position:absolute;top:26px;left:39px;width:147px;height:147px;border-radius:50%;z-index:1;
  border:2px solid rgba(94,161,255,.24);transform:scale(var(--setdio-halo-scale));
  opacity:var(--setdio-halo-opacity);transition:transform .1s ease-out,opacity .1s ease-out
}
.setdio-realtime-voice__halo:nth-child(2){transform:scale(var(--setdio-halo-outer));opacity:var(--setdio-halo-outer-opacity)}
.setdio-realtime-voice__bars{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:6px;height:38px}
.setdio-realtime-voice__bars span{height:23px;width:6px;display:block;border-radius:8px;transform:scaleY(.15);background:#8ac4ff;transform-origin:center;transition:transform .07s ease-out}
.setdio-realtime-voice[data-voice-phase="speaking"] .setdio-realtime-voice__microphone{background:linear-gradient(145deg,#31c9b4,#1f8b9d)}
.setdio-realtime-voice[data-voice-phase="speaking"] .setdio-realtime-voice__bars span{background:#53e8ce}
.setdio-realtime-voice[data-voice-phase="muted"] .setdio-realtime-voice__microphone{background:linear-gradient(145deg,#7b8596,#555c6d)}
.setdio-realtime-voice[data-voice-phase="muted"] .setdio-realtime-voice__halo{opacity:.08}
.setdio-realtime-voice__center h2{font-size:26px!important;line-height:1.25!important;margin:0!important;color:#fff!important;font-weight:650}
.setdio-realtime-voice__hint{margin:0;color:#ccd8e3;font-size:14px!important}
.setdio-realtime-voice__captions{min-height:38px;max-width:580px;font-size:15px;line-height:1.5;color:#edf3fa;max-height:90px;overflow:auto;overflow-wrap:anywhere}
.setdio-realtime-voice__timer{margin:0;color:#b4c1ce;font-variant-numeric:tabular-nums;font-size:13px}
.setdio-realtime-voice__bottom{max-width:620px;width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px}
.setdio-realtime-voice__privacy{color:#b9c5d3;font-size:12px!important;text-align:center;line-height:1.5;margin:0}
.setdio-realtime-voice__buttons{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}
.setdio-realtime-voice__round{min-width:79px;min-height:54px;border:1px solid #5c6d7e!important;border-radius:30px!important;background:#344659!important;color:#fff!important;padding:11px 14px!important;font-size:15px!important}
.setdio-realtime-voice__end{border-color:#db4456!important;background:#cb2e45!important}
.setdio-realtime-voice button:focus-visible{outline:3px solid #93c5fd!important;outline-offset:2px!important}
@media(max-width:450px){.setdio-realtime-voice{padding-left:18px!important;padding-right:18px!important}.setdio-realtime-voice__top{padding-top:8px}.setdio-realtime-voice__center h2{font-size:23px!important}.setdio-realtime-voice__visual{height:190px}}
@media(prefers-reduced-motion:reduce){
  .setdio-ecommerce-ai .setdio-realtime-voice-mic.is-realtime-active::before{animation:none!important}
  .setdio-realtime-voice__bars span,.setdio-realtime-voice__microphone,.setdio-realtime-voice__halo{transition:none!important}
}

/* v1.2.3 — compact, read-only transcript while audio continues. */
.setdio-realtime-voice__transcript[hidden]{display:none!important}
.setdio-realtime-voice__transcript{width:min(100%,550px);max-height:148px;min-height:34px;overflow:hidden;border:1px solid rgba(177,204,233,.25);background:rgba(14,31,51,.56);border-radius:13px;text-align:left;padding:8px 12px}
.setdio-realtime-voice__transcript-label{font-size:11px;line-height:1.4;color:#abc1d8;margin-bottom:6px}
.setdio-realtime-voice__transcript-items{max-height:110px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.setdio-realtime-voice__transcript-item{font-size:13px;line-height:1.45;color:#f3f7fc;margin:4px 0;overflow-wrap:anywhere}
.setdio-realtime-voice__transcript-item strong{font-weight:650;color:#b1e5d9}
.setdio-realtime-voice__transcript-item--assistant strong{color:#bdd9ff}
@media(max-height:760px){.setdio-realtime-voice__transcript{max-height:90px}.setdio-realtime-voice__transcript-items{max-height:52px}}

/* v1.2.5 — original chatbox with no floating voice status or timer. */
.setdio-realtime-voice,
.setdio-realtime-voice:not([hidden]){display:none!important}
body.setdio-realtime-voice-active{overflow:initial!important}
.setdio-realtime-voice-screenreader{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;
  border:0!important;pointer-events:none!important
}
/* v1.2.6 — compact, centered iOS-style alert for voice permissions.
   Scope ALL rules to this dialog: the regular ecommerce chatbox remains unchanged. */
.setdio-realtime-voice-permission[hidden]{display:none!important}
.setdio-realtime-voice-permission{
  position:fixed!important;inset:0!important;z-index:2147483646!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:24px!important;background:rgba(0,0,0,.38)!important;
  box-sizing:border-box!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important
}
.setdio-realtime-voice-permission *,
.setdio-realtime-voice-permission *::before,
.setdio-realtime-voice-permission *::after{box-sizing:border-box!important}
.setdio-realtime-voice-permission__card{
  width:min(100%,300px)!important;max-height:calc(100dvh - 48px)!important;
  display:flex!important;flex-direction:column!important;
  padding:0!important;margin:0!important;overflow:hidden!important;
  background:rgba(242,242,247,.98)!important;color:#111!important;
  border:0!important;border-radius:14px!important;
  box-shadow:0 10px 30px rgba(0,0,0,.15)!important;
  text-align:center!important
}
.setdio-realtime-voice-permission__card h2{
  margin:0!important;padding:20px 18px 0!important;
  color:#111!important;background:transparent!important;
  font:600 17px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  letter-spacing:0!important;text-align:center!important
}
.setdio-realtime-voice-permission__card p{
  margin:0!important;padding:7px 18px 20px!important;
  min-height:0!important;overflow-y:auto!important;
  font:400 16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  color:#303036!important;background:transparent!important;
  text-align:center!important;overflow-wrap:anywhere!important
}
.setdio-realtime-voice-permission__actions{
  width:100%!important;display:flex!important;align-items:stretch!important;
  gap:0!important;margin:0!important;padding:0!important;flex-shrink:0!important;
  border-top:1px solid rgba(60,60,67,.19)!important
}
.setdio-realtime-voice-permission__actions button{
  -webkit-appearance:none!important;appearance:none!important;display:block!important;
  flex:1 1 0!important;width:50%!important;min-width:0!important;
  min-height:49px!important;margin:0!important;padding:10px 5px!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;color:#007aff!important;
  box-shadow:none!important;text-transform:none!important;
  font:400 17px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  text-align:center!important;cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important
}
.setdio-realtime-voice-permission__actions button[hidden]{display:none!important}
.setdio-realtime-voice-permission__actions button[data-voice-permission-cancel]:not([hidden]) + button{
  border-left:1px solid rgba(60,60,67,.19)!important
}
.setdio-realtime-voice-permission__actions button[data-voice-permission-confirm]{
  background:transparent!important;color:#007aff!important;font-weight:500!important
}
.setdio-realtime-voice-permission__actions button:active{background:rgba(60,60,67,.08)!important}
.setdio-realtime-voice-permission__actions button:focus-visible{
  outline:2px solid #007aff!important;outline-offset:-3px!important
}
.setdio-ecommerce-ai .setdio-realtime-voice-mic.is-realtime-active{
  transform:scale(calc(1 + var(--setdio-voice-level,0) * .10))!important;
  transition:transform .09s ease-out!important
}
.setdio-ecommerce-ai .setdio-realtime-voice-mic.is-realtime-active::before{
  opacity:calc(.23 + var(--setdio-voice-level,0) * .65)!important;
  transform:scale(calc(1 + var(--setdio-voice-level,0) * .42))!important;
  animation:none!important;
  transition:transform .09s ease-out,opacity .09s ease-out!important
}
.setdio-ecommerce-ai .setdio-realtime-voice-mic[data-voice-phase="speaking"]{background:#149f8c!important}
@media(prefers-reduced-motion:reduce){
  .setdio-ecommerce-ai .setdio-realtime-voice-mic.is-realtime-active,
  .setdio-ecommerce-ai .setdio-realtime-voice-mic.is-realtime-active::before{transition:none!important}
}


/* v1.2.9 — while live voice is active, the normal composer collapses into a single full-width wave pill. */
.setdio-ecommerce-ai .setdio-realtime-voice-inline[hidden]{display:none!important}
.setdio-ecommerce-ai .setdio-realtime-voice-inline{display:none!important}
.setdio-ecommerce-ai.setdio-realtime-voice-inline-active .setdio-ecommerce-ai__composer.is-voice-active,
.setdio-ecommerce-ai.is-open.setdio-realtime-voice-inline-active .setdio-ecommerce-ai__composer.is-voice-active{
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-height:70px!important;height:70px!important;grid-template-rows:none!important;
  padding:8px 14px!important;border-radius:999px!important;overflow:hidden!important
}
.setdio-ecommerce-ai.setdio-realtime-voice-inline-active .setdio-ecommerce-ai__composer .setdio-ecommerce-ai__textarea,
.setdio-ecommerce-ai.setdio-realtime-voice-inline-active .setdio-ecommerce-ai__composer .setdio-ecommerce-ai__tools{display:none!important}
.setdio-ecommerce-ai.setdio-realtime-voice-inline-active .setdio-realtime-voice-inline{display:flex!important;flex:1 1 auto!important;width:100%!important}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__button{
  -webkit-appearance:none!important;appearance:none!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-height:54px!important;padding:0 18px!important;margin:0!important;
  border:0!important;border-radius:999px!important;background:transparent!important;
  color:#171717!important;box-shadow:none!important;cursor:pointer!important;position:relative!important;
  gap:18px!important
}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__button:focus-visible{outline:2px solid rgba(37,99,235,.38)!important;outline-offset:3px!important}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__wave{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:5px!important;flex:0 1 auto!important;min-width:0!important;height:30px!important
}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__wave span{
  display:block!important;width:5px!important;height:18px!important;border-radius:99px!important;
  background:#1d2433!important;transform:scaleY(.35);transform-origin:center!important;
  transition:transform .09s ease-out,background .18s ease!important;opacity:.95!important
}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__orb{
  display:grid!important;place-items:center!important;flex:0 0 auto!important;
  width:48px!important;height:48px!important;border-radius:50%!important;position:relative!important;
  background:#d8ebff!important;color:#4a7ff3!important;
  box-shadow:0 0 0 calc(6px + var(--setdio-voice-level,0) * 14px) rgba(126,164,255,.18)!important;
  transform:scale(calc(1 + var(--setdio-voice-level,0) * .08))!important;
  transition:transform .09s ease-out,box-shadow .09s ease-out,background .18s ease,color .18s ease!important
}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__orb::before{
  content:'';position:absolute!important;inset:-5px!important;border-radius:50%!important;
  border:2px solid rgba(126,164,255,.34)!important;opacity:calc(.35 + var(--setdio-voice-level,0) * .55)!important;
  transform:scale(calc(1 + var(--setdio-voice-level,0) * .28))!important;
  transition:transform .09s ease-out,opacity .09s ease-out!important;pointer-events:none!important
}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__orb svg{
  width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;
  stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important;position:relative!important;z-index:1!important
}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__sr{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
}
.setdio-ecommerce-ai.setdio-realtime-voice-inline-active[data-voice-phase="speaking"] .setdio-realtime-voice-inline__orb,
.setdio-ecommerce-ai .setdio-ecommerce-ai__composer.is-voice-active[data-voice-phase="speaking"] .setdio-realtime-voice-inline__orb{
  background:#c9f5ec!important;color:#148d80!important;box-shadow:0 0 0 calc(6px + var(--setdio-voice-level,0) * 14px) rgba(66,219,188,.18)!important
}
.setdio-ecommerce-ai.setdio-realtime-voice-inline-active[data-voice-phase="speaking"] .setdio-realtime-voice-inline__orb::before,
.setdio-ecommerce-ai .setdio-ecommerce-ai__composer.is-voice-active[data-voice-phase="speaking"] .setdio-realtime-voice-inline__orb::before{border-color:rgba(66,219,188,.36)!important}
.setdio-ecommerce-ai.setdio-realtime-voice-inline-active[data-voice-phase="speaking"] .setdio-realtime-voice-inline__wave span,
.setdio-ecommerce-ai .setdio-ecommerce-ai__composer.is-voice-active[data-voice-phase="speaking"] .setdio-realtime-voice-inline__wave span{background:#1b2e3d!important}
.setdio-ecommerce-ai.setdio-realtime-voice-inline-active[data-voice-phase="muted"] .setdio-realtime-voice-inline__orb,
.setdio-ecommerce-ai .setdio-ecommerce-ai__composer.is-voice-active[data-voice-phase="muted"] .setdio-realtime-voice-inline__orb{background:#ececee!important;color:#6f7580!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){
  .setdio-ecommerce-ai .setdio-realtime-voice-inline__wave span,
  .setdio-ecommerce-ai .setdio-realtime-voice-inline__orb,
  .setdio-ecommerce-ai .setdio-realtime-voice-inline__orb::before{transition:none!important}
}

/* Subtle life indicator between spoken phrases; waveform height still tracks real audio. */
@keyframes setdioVoicePillBreathe{0%,100%{filter:brightness(1)}50%{filter:brightness(.92)}}
.setdio-ecommerce-ai.setdio-realtime-voice-inline-active .setdio-realtime-voice-inline__orb{animation:setdioVoicePillBreathe 2s ease-in-out infinite}
@media(max-width:480px){
  .setdio-ecommerce-ai.is-open.setdio-realtime-voice-inline-active .setdio-ecommerce-ai__composer.is-voice-active{
    min-height:66px!important;height:66px!important;padding:7px 12px!important
  }
  .setdio-ecommerce-ai .setdio-realtime-voice-inline__wave{gap:4px!important}
  .setdio-ecommerce-ai .setdio-realtime-voice-inline__wave span{width:4px!important}
}
@media(prefers-reduced-motion:reduce){
  .setdio-ecommerce-ai.setdio-realtime-voice-inline-active .setdio-realtime-voice-inline__orb{animation:none!important}
}


/* v1.2.9 — hide the mic orb and let the waveform fill the whole pill. */
.setdio-ecommerce-ai .setdio-realtime-voice-inline__button{
  padding:0 16px!important;
}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__wave{
  flex:1 1 auto!important;
  width:100%!important;
  max-width:none!important;
  justify-content:space-between!important;
  gap:6px!important;
  height:34px!important;
}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__wave span{
  flex:1 1 0!important;
  width:auto!important;
  min-width:4px!important;
  max-width:8px!important;
  height:18px!important;
}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__orb{
  display:none!important;
}
@media(max-width:480px){
  .setdio-ecommerce-ai .setdio-realtime-voice-inline__button{padding:0 14px!important}
  .setdio-ecommerce-ai .setdio-realtime-voice-inline__wave{gap:4px!important}
  .setdio-ecommerce-ai .setdio-realtime-voice-inline__wave span{min-width:3px!important;max-width:6px!important}
}


/* v1.3.1 — booking-style waveform bars. */
.setdio-ecommerce-ai .setdio-realtime-voice-inline__button{
  padding:0 22px!important;
}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__wave{
  flex:1 1 auto!important;
  width:100%!important;
  max-width:none!important;
  justify-content:space-between!important;
  gap:10px!important;
  height:36px!important;
}
.setdio-ecommerce-ai .setdio-realtime-voice-inline__wave span{
  flex:1 1 0!important;
  width:auto!important;
  min-width:7px!important;
  max-width:11px!important;
  height:24px!important;
  border-radius:999px!important;
  background:#1f2738!important;
  opacity:1!important;
  transform-origin:center center!important;
  box-shadow:none!important;
}
@media(max-width:480px){
  .setdio-ecommerce-ai .setdio-realtime-voice-inline__button{padding:0 18px!important}
  .setdio-ecommerce-ai .setdio-realtime-voice-inline__wave{gap:8px!important;height:34px!important}
  .setdio-ecommerce-ai .setdio-realtime-voice-inline__wave span{min-width:6px!important;max-width:9px!important;height:22px!important}
}

/* v1.5.0: secure customer verification form, never passed to the voice model. */
.setdio-ai-verify-dialog[hidden]{display:none!important}
.setdio-ai-verify-dialog{position:fixed!important;inset:0!important;z-index:2147483647!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;background:rgba(0,0,0,.44)!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.setdio-ai-verify-dialog *{box-sizing:border-box!important}
.setdio-ai-verify-dialog__card{background:#fff!important;border-radius:16px!important;padding:22px!important;width:min(100%,340px)!important;max-height:85dvh!important;overflow:auto!important;box-shadow:0 10px 50px rgba(0,0,0,.2)!important;color:#161616!important}
.setdio-ai-verify-dialog h2{text-align:center!important;font-family:inherit!important;font-size:19px!important;font-weight:600!important;line-height:1.3!important;margin:0 0 12px!important}
.setdio-ai-verify-dialog p{text-align:center!important;font-size:15px!important;line-height:1.45!important;margin:8px 0 16px!important;color:#454545!important}
.setdio-ai-verify-dialog label{display:block!important;font-size:14px!important;margin:8px 0!important}
.setdio-ai-verify-dialog input{display:block!important;width:100%!important;padding:12px!important;font-size:17px!important;border:1px solid #a7a9af!important;border-radius:9px!important;background:#fff!important;color:#101010!important}
.setdio-ai-verify-dialog [data-verify-error]{font-size:13px!important;color:#b42318!important;margin:9px 0!important}
.setdio-ai-verify-dialog__actions{display:flex!important;gap:9px!important;margin-top:14px!important}
.setdio-ai-verify-dialog__actions button{flex:1!important;min-height:44px!important;border:1px solid #bdc3ce!important;border-radius:9px!important;background:#f6f6f8!important;font-size:15px!important;color:#111!important}
.setdio-ai-verify-dialog__actions button[type=submit]{background:#111827!important;color:#fff!important}
