
:root{
  --zai-blue:#2563eb;
  --zai-blue-2:#3b82f6;
  --zai-cyan:#38bdf8;
  --zai-navy:#071b42;
  --zai-ink:#0b1f46;
  --zai-muted:#667a99;
  --zai-line:#dce9f8;
  --zai-bg:#f7fbff;
  --zai-white:#fff;
}
.zuplix-ai-launcher{
  position:fixed;left:22px;bottom:22px;z-index:920;
  display:flex;align-items:center;gap:10px;min-height:58px;
  padding:7px 15px 7px 7px;border:1px solid rgba(255,255,255,.82);
  border-radius:999px;color:#fff;
  background:linear-gradient(135deg,var(--zai-navy),var(--zai-blue) 68%,var(--zai-cyan));
  box-shadow:0 20px 50px rgba(8,48,119,.30);cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease;
  font:800 .82rem/1 "Manrope",system-ui,sans-serif;
}
.zuplix-ai-launcher:hover{transform:translateY(-4px);box-shadow:0 25px 60px rgba(8,48,119,.38)}
.zuplix-ai-launcher-avatar{
  position:relative;width:44px;height:44px;flex:0 0 44px;overflow:hidden;
  border-radius:50%;background:radial-gradient(circle,#dff4ff,#9bc9ff);
  border:2px solid rgba(255,255,255,.92)
}
.zuplix-ai-launcher-avatar img{
  width:155%;height:155%;max-width:none;object-fit:contain;
  object-position:center 14%;transform:translate(-18%,-5%)
}
.zuplix-ai-online-dot{
  position:absolute;right:0;bottom:1px;width:11px;height:11px;border-radius:50%;
  background:#22c55e;border:2px solid #fff;box-shadow:0 0 0 0 rgba(34,197,94,.5);
  animation:zaiPulse 1.8s infinite
}
.zuplix-ai-launcher-copy{display:grid;gap:3px;text-align:left}
.zuplix-ai-launcher-copy strong{font-size:.83rem;letter-spacing:.02em}
.zuplix-ai-launcher-copy small{font-size:.66rem;color:#cfe6ff;font-weight:700}
.zuplix-ai-nudge{
  position:fixed;left:25px;bottom:92px;z-index:919;max-width:250px;
  padding:13px 15px;border:1px solid var(--zai-line);border-radius:17px 17px 17px 4px;
  background:#fff;color:var(--zai-ink);box-shadow:0 18px 45px rgba(9,46,105,.16);
  font:750 .78rem/1.45 "Manrope",system-ui,sans-serif;
  opacity:0;visibility:hidden;transform:translateY(9px) scale(.96);transition:.3s ease
}
.zuplix-ai-nudge.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.zuplix-ai-panel{
  position:fixed;left:22px;bottom:94px;z-index:930;
  width:min(410px,calc(100vw - 28px));height:min(650px,calc(100dvh - 125px));
  display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;
  border:1px solid rgba(156,196,244,.48);border-radius:28px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(22px) saturate(135%);
  box-shadow:0 35px 90px rgba(4,29,76,.28);
  opacity:0;visibility:hidden;transform:translateY(22px) scale(.96);
  transform-origin:left bottom;
  transition:opacity .28s ease,visibility .28s ease,transform .36s cubic-bezier(.2,.8,.2,1)
}
.zuplix-ai-panel.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.zuplix-ai-header{
  position:relative;display:flex;align-items:center;gap:12px;padding:15px 16px;color:#fff;
  background:radial-gradient(circle at 85% 10%,rgba(56,189,248,.28),transparent 35%),
  linear-gradient(135deg,#061633,#0a347d 66%,#1469ca)
}
.zuplix-ai-header-avatar{
  width:52px;height:52px;flex:0 0 52px;border-radius:18px;overflow:hidden;
  background:radial-gradient(circle,#e9f7ff,#acd4ff);border:2px solid rgba(255,255,255,.86)
}
.zuplix-ai-header-avatar img{
  width:165%;height:165%;max-width:none;object-fit:contain;
  object-position:center 12%;transform:translate(-20%,-5%)
}
.zuplix-ai-header-copy{display:grid;gap:3px}
.zuplix-ai-header-copy strong{font-size:1rem;letter-spacing:-.02em}
.zuplix-ai-header-copy span{font-size:.69rem;color:#cae4ff;font-weight:700}
.zuplix-ai-close{
  margin-left:auto;width:38px;height:38px;border:1px solid rgba(255,255,255,.14);
  border-radius:12px;color:#fff;background:rgba(255,255,255,.08);
  font-size:1.35rem;cursor:pointer;transition:.2s
}
.zuplix-ai-close:hover{background:rgba(255,255,255,.16)}
.zuplix-ai-messages{
  overflow-y:auto;padding:18px 14px 20px;
  background:radial-gradient(circle at 80% 0,rgba(56,189,248,.08),transparent 25%),
  linear-gradient(180deg,#f9fcff,#f3f8ff);scroll-behavior:smooth
}
.zuplix-ai-messages::-webkit-scrollbar{width:7px}
.zuplix-ai-messages::-webkit-scrollbar-thumb{background:#c8dbf2;border-radius:999px}
.zuplix-ai-row{
  display:flex;align-items:flex-end;gap:8px;margin:0 0 13px;
  animation:zaiMessageIn .34s ease both
}
.zuplix-ai-row.user{justify-content:flex-end}
.zuplix-ai-mini-avatar{
  width:29px;height:29px;flex:0 0 29px;border-radius:10px;overflow:hidden;
  background:#dff1ff;border:1px solid #c4ddfb
}
.zuplix-ai-mini-avatar img{
  width:170%;height:170%;max-width:none;object-fit:contain;transform:translate(-21%,-6%)
}
.zuplix-ai-bubble{
  max-width:84%;padding:11px 13px;border-radius:17px 17px 17px 5px;
  color:#304664;background:#fff;border:1px solid #deebf8;
  box-shadow:0 8px 22px rgba(13,59,123,.06);
  font:600 .82rem/1.55 "Manrope",system-ui,sans-serif;
  white-space:pre-wrap;overflow-wrap:anywhere
}
.zuplix-ai-row.user .zuplix-ai-bubble{
  color:#fff;background:linear-gradient(135deg,var(--zai-blue),var(--zai-blue-2));
  border-color:transparent;border-radius:17px 17px 5px 17px
}
.zuplix-ai-time{margin-top:4px;font-size:.58rem;color:#95a6bd;font-weight:700}
.zuplix-ai-row.user .zuplix-ai-time{color:#d7e8ff;text-align:right}
.zuplix-ai-options{
  display:grid;gap:8px;margin:3px 0 15px 37px;animation:zaiMessageIn .36s ease both
}
.zuplix-ai-option{
  width:100%;padding:11px 13px;border:1px solid #cfe1f6;border-radius:14px;
  text-align:left;color:#16396c;background:#fff;
  font:800 .77rem/1.35 "Manrope",system-ui,sans-serif;cursor:pointer;transition:.22s
}
.zuplix-ai-option:hover{
  transform:translateX(4px);border-color:#83b8f7;color:var(--zai-blue);background:#eef7ff
}
.zuplix-ai-option.primary{
  color:#fff;border-color:transparent;
  background:linear-gradient(135deg,var(--zai-blue),var(--zai-blue-2));
  box-shadow:0 12px 27px rgba(37,99,235,.20)
}
.zuplix-ai-option.whatsapp{color:#087b42;border-color:#bdebd2;background:#effcf5}
.zuplix-ai-typing{display:flex;align-items:center;gap:4px;min-width:62px;min-height:38px}
.zuplix-ai-typing i{
  width:7px;height:7px;border-radius:50%;background:#7f9cbe;animation:zaiTyping 1.2s infinite
}
.zuplix-ai-typing i:nth-child(2){animation-delay:.15s}
.zuplix-ai-typing i:nth-child(3){animation-delay:.3s}
.zuplix-ai-footer{padding:11px 12px 12px;border-top:1px solid #e0ebf7;background:#fff}
.zuplix-ai-input-wrap{display:flex;align-items:flex-end;gap:8px}
.zuplix-ai-input{
  min-width:0;width:100%;max-height:95px;min-height:44px;resize:none;
  padding:11px 12px;border:1px solid #d7e5f5;border-radius:14px;outline:none;
  color:var(--zai-ink);background:#f9fcff;
  font:600 .8rem/1.4 "Manrope",system-ui,sans-serif;transition:.2s
}
.zuplix-ai-input:focus{border-color:#76acf1;box-shadow:0 0 0 4px rgba(96,165,250,.13)}
.zuplix-ai-send{
  width:44px;height:44px;flex:0 0 44px;border:0;border-radius:14px;color:#fff;
  background:linear-gradient(135deg,var(--zai-blue),var(--zai-cyan));
  font-size:1.1rem;cursor:pointer;box-shadow:0 10px 25px rgba(37,99,235,.22)
}
.zuplix-ai-footer-note{
  display:flex;justify-content:space-between;gap:10px;margin-top:7px;color:#8a9bb3;
  font:650 .58rem/1.3 "Manrope",system-ui,sans-serif
}
.zuplix-ai-reset{
  padding:0;border:0;color:#4f79ae;background:none;
  font:800 .58rem/1 "Manrope",system-ui,sans-serif;cursor:pointer
}
.zuplix-ai-summary{
  margin:5px 0 14px 37px;padding:13px;border:1px solid #cfe1f6;border-radius:16px;
  background:#fff;color:#425b7d;font:650 .74rem/1.55 "Manrope",system-ui,sans-serif
}
.zuplix-ai-summary strong{display:block;color:var(--zai-ink);margin-bottom:6px}
.zuplix-ai-disclaimer{
  margin:8px 0 12px 37px;color:#8295af;
  font:650 .62rem/1.4 "Manrope",system-ui,sans-serif
}
@keyframes zaiMessageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes zaiTyping{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-5px);opacity:1}}
@keyframes zaiPulse{70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}}
@media(max-width:640px){
  .zuplix-ai-launcher{left:13px;bottom:13px;min-height:54px;padding:5px}
  .zuplix-ai-launcher-copy{display:none}
  .zuplix-ai-panel{
    left:7px;right:7px;bottom:7px;width:auto;height:min(720px,calc(100dvh - 14px));
    border-radius:24px;transform-origin:center bottom
  }
  .zuplix-ai-nudge{left:14px;bottom:78px}
  body.zuplix-ai-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){
  .zuplix-ai-launcher,.zuplix-ai-panel,.zuplix-ai-row,.zuplix-ai-nudge,
  .zuplix-ai-online-dot,.zuplix-ai-typing i{animation:none!important;transition:none!important}
}


/* ZUPLIX ACENANDO NO CHATBOT */
.zuplix-ai-launcher-avatar,
.zuplix-ai-header-avatar{
  overflow:visible;
}

.zuplix-ai-launcher-avatar::before,
.zuplix-ai-header-avatar::before{
  content:"";
  position:absolute;
  inset:-5px;
  z-index:-1;
  border-radius:inherit;
  background:radial-gradient(circle,rgba(56,189,248,.32),transparent 68%);
  animation:zaiAvatarGlow 2.8s ease-in-out infinite;
}

.zuplix-ai-avatar-video,
.zuplix-ai-header-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  opacity:0;
  border-radius:inherit;
  transition:opacity .3s ease;
}

.zuplix-ai-launcher-avatar.has-video .zuplix-ai-avatar-video,
.zuplix-ai-header-avatar.has-video .zuplix-ai-header-video{
  opacity:1;
}

.zuplix-ai-launcher-avatar.has-video img,
.zuplix-ai-header-avatar.has-video img{
  opacity:0;
}

.zuplix-ai-launcher-avatar img{
  animation:zaiMascotWave 2.9s ease-in-out infinite;
  transform-origin:54% 72%;
}

.zuplix-ai-header-avatar img{
  animation:zaiMascotWaveLarge 3.1s ease-in-out infinite;
  transform-origin:54% 72%;
}

@keyframes zaiMascotWave{
  0%,100%{transform:translate(-18%,-5%) rotate(-1deg)}
  18%{transform:translate(-18%,-7%) rotate(2deg)}
  32%{transform:translate(-17%,-6%) rotate(-2deg)}
  48%{transform:translate(-18%,-8%) rotate(2.5deg)}
  68%{transform:translate(-18%,-5%) rotate(0)}
}
@keyframes zaiMascotWaveLarge{
  0%,100%{transform:translate(-20%,-5%) rotate(-1deg)}
  20%{transform:translate(-20%,-7%) rotate(2deg)}
  36%{transform:translate(-19%,-6%) rotate(-2deg)}
  52%{transform:translate(-20%,-8%) rotate(2.3deg)}
  72%{transform:translate(-20%,-5%) rotate(0)}
}
@keyframes zaiAvatarGlow{
  0%,100%{opacity:.6;transform:scale(.96)}
  50%{opacity:1;transform:scale(1.05)}
}

.zuplix-ai-intro-card{
  margin:4px 0 14px 37px;
  padding:14px;
  border:1px solid #d8e8f8;
  border-radius:17px;
  background:linear-gradient(145deg,#fff,#f1f8ff);
  color:#425a79;
  font:650 .74rem/1.55 "Manrope",system-ui,sans-serif;
}

.zuplix-ai-intro-card strong{
  display:block;
  margin-bottom:7px;
  color:var(--zai-ink);
  font-size:.79rem;
}

.zuplix-ai-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}

.zuplix-ai-chip{
  padding:6px 9px;
  border-radius:999px;
  background:#eaf5ff;
  color:#245493;
  border:1px solid #d2e7fb;
  font-size:.63rem;
  font-weight:850;
}

.zuplix-ai-highlight{
  margin:4px 0 14px 37px;
  padding:13px 14px;
  border-radius:16px;
  color:#fff;
  background:linear-gradient(135deg,#071b42,#145ac2);
  box-shadow:0 14px 32px rgba(8,45,108,.18);
  font:650 .73rem/1.55 "Manrope",system-ui,sans-serif;
}

.zuplix-ai-highlight strong{
  display:block;
  margin-bottom:5px;
  color:#fff;
}

.zuplix-ai-option.secondary-blue{
  color:#1f5ca6;
  border-color:#c9e0fb;
  background:#f3f8ff;
}


/* ================================================================
   CORREÇÃO FINAL — CHATBOT À DIREITA + IOS/ANDROID
   ================================================================ */
:root{
  --zai-safe-top:env(safe-area-inset-top,0px);
  --zai-safe-right:env(safe-area-inset-right,0px);
  --zai-safe-bottom:env(safe-area-inset-bottom,0px);
  --zai-safe-left:env(safe-area-inset-left,0px);
  --zai-visible-height:100dvh;
}

.zuplix-ai-launcher{
  left:auto!important;
  right:max(18px,var(--zai-safe-right))!important;
  bottom:max(18px,var(--zai-safe-bottom))!important;
  z-index:2147483000!important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.zuplix-ai-nudge{
  left:auto!important;
  right:max(22px,var(--zai-safe-right))!important;
  bottom:calc(max(18px,var(--zai-safe-bottom)) + 72px)!important;
  z-index:2147482999!important;
}

.zuplix-ai-panel{
  left:auto!important;
  right:max(18px,var(--zai-safe-right))!important;
  bottom:calc(max(18px,var(--zai-safe-bottom)) + 72px)!important;
  width:min(420px,calc(100vw - 36px - var(--zai-safe-left) - var(--zai-safe-right)))!important;
  height:min(660px,calc(var(--zai-visible-height) - 126px - var(--zai-safe-top) - var(--zai-safe-bottom)))!important;
  max-height:calc(var(--zai-visible-height) - 126px - var(--zai-safe-top) - var(--zai-safe-bottom))!important;
  transform-origin:right bottom!important;
  z-index:2147483001!important;
  overscroll-behavior:contain;
}

.zuplix-ai-header{
  padding-top:max(15px,var(--zai-safe-top));
  min-height:74px;
}

.zuplix-ai-close{
  position:relative!important;
  z-index:2147483005!important;
  display:grid!important;
  place-items:center!important;
  min-width:44px!important;
  min-height:44px!important;
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  margin-left:auto!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  cursor:pointer!important;
  line-height:1!important;
  user-select:none!important;
}

.zuplix-ai-close::before{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:16px;
}

.zuplix-ai-header-copy,
.zuplix-ai-header-avatar{
  pointer-events:none;
}

.zuplix-ai-messages{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  min-height:0;
}

.zuplix-ai-input{
  font-size:16px!important; /* evita zoom automático no iOS */
  line-height:1.45;
}

.zuplix-ai-send,
.zuplix-ai-option,
.zuplix-ai-reset{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.zuplix-ai-footer{
  padding-bottom:max(12px,var(--zai-safe-bottom));
}

body.zuplix-ai-open{
  overscroll-behavior:none;
}

/* Tablets e celulares grandes */
@media(max-width:820px){
  .zuplix-ai-panel{
    right:max(12px,var(--zai-safe-right))!important;
    bottom:calc(max(12px,var(--zai-safe-bottom)) + 66px)!important;
    width:min(430px,calc(100vw - 24px - var(--zai-safe-left) - var(--zai-safe-right)))!important;
    height:min(680px,calc(var(--zai-visible-height) - 104px - var(--zai-safe-top) - var(--zai-safe-bottom)))!important;
    max-height:calc(var(--zai-visible-height) - 104px - var(--zai-safe-top) - var(--zai-safe-bottom))!important;
  }

  .zuplix-ai-launcher{
    right:max(12px,var(--zai-safe-right))!important;
    bottom:max(12px,var(--zai-safe-bottom))!important;
  }

  .zuplix-ai-nudge{
    right:max(14px,var(--zai-safe-right))!important;
    bottom:calc(max(12px,var(--zai-safe-bottom)) + 66px)!important;
  }
}

/* Celulares em geral */
@media(max-width:640px){
  .zuplix-ai-launcher{
    left:auto!important;
    right:max(10px,var(--zai-safe-right))!important;
    bottom:max(10px,var(--zai-safe-bottom))!important;
    min-width:54px;
    min-height:54px;
    padding:5px!important;
  }

  .zuplix-ai-panel{
    left:max(8px,var(--zai-safe-left))!important;
    right:max(8px,var(--zai-safe-right))!important;
    bottom:max(8px,var(--zai-safe-bottom))!important;
    width:auto!important;
    height:calc(var(--zai-visible-height) - max(16px,var(--zai-safe-top)) - max(16px,var(--zai-safe-bottom)))!important;
    max-height:calc(var(--zai-visible-height) - max(16px,var(--zai-safe-top)) - max(16px,var(--zai-safe-bottom)))!important;
    border-radius:22px!important;
    transform-origin:center bottom!important;
  }

  .zuplix-ai-header{
    padding:
      max(14px,var(--zai-safe-top))
      max(14px,var(--zai-safe-right))
      14px
      max(14px,var(--zai-safe-left))!important;
  }

  .zuplix-ai-footer{
    padding:
      10px
      max(10px,var(--zai-safe-right))
      max(10px,var(--zai-safe-bottom))
      max(10px,var(--zai-safe-left))!important;
  }

  .zuplix-ai-nudge{
    left:auto!important;
    right:max(12px,var(--zai-safe-right))!important;
    bottom:calc(max(10px,var(--zai-safe-bottom)) + 62px)!important;
    max-width:min(270px,calc(100vw - 28px));
  }
}

/* Celulares pequenos, incluindo iPhone SE e Android compactos */
@media(max-width:390px){
  .zuplix-ai-panel{
    left:max(5px,var(--zai-safe-left))!important;
    right:max(5px,var(--zai-safe-right))!important;
    bottom:max(5px,var(--zai-safe-bottom))!important;
    border-radius:18px!important;
  }

  .zuplix-ai-header{
    gap:9px!important;
    padding-left:11px!important;
    padding-right:11px!important;
  }

  .zuplix-ai-header-avatar{
    width:46px!important;
    height:46px!important;
    flex-basis:46px!important;
  }

  .zuplix-ai-header-copy strong{font-size:.92rem!important}
  .zuplix-ai-header-copy span{font-size:.62rem!important}

  .zuplix-ai-close{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    flex-basis:42px!important;
  }

  .zuplix-ai-messages{
    padding:14px 10px 16px!important;
  }

  .zuplix-ai-bubble{
    max-width:88%!important;
    font-size:.78rem!important;
  }

  .zuplix-ai-options,
  .zuplix-ai-summary,
  .zuplix-ai-intro-card,
  .zuplix-ai-highlight,
  .zuplix-ai-disclaimer{
    margin-left:31px!important;
  }
}

/* Aparelhos baixos e orientação horizontal */
@media(max-height:650px){
  .zuplix-ai-panel{
    height:calc(var(--zai-visible-height) - 18px - var(--zai-safe-top) - var(--zai-safe-bottom))!important;
    max-height:calc(var(--zai-visible-height) - 18px - var(--zai-safe-top) - var(--zai-safe-bottom))!important;
    bottom:max(8px,var(--zai-safe-bottom))!important;
  }

  .zuplix-ai-header{
    min-height:64px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }

  .zuplix-ai-header-avatar{
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
  }

  .zuplix-ai-messages{
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
}

@media(orientation:landscape) and (max-height:520px){
  .zuplix-ai-panel{
    left:auto!important;
    right:max(8px,var(--zai-safe-right))!important;
    width:min(470px,calc(100vw - 16px - var(--zai-safe-left) - var(--zai-safe-right)))!important;
  }
}


/* Cabeçalho do chatbot sem avatar quadrado.
   O vídeo do Zuplix acenando permanece somente no botão flutuante. */
.zuplix-ai-header{
  min-height:72px;
  gap:10px;
}

.zuplix-ai-header-copy{
  padding-left:3px;
  flex:1 1 auto;
}

.zuplix-ai-header-copy strong{
  font-size:1.08rem;
}

.zuplix-ai-header-copy span{
  font-size:.7rem;
}

.zuplix-ai-header-avatar,
.zuplix-ai-header-video{
  display:none!important;
}
