[hidden]{display:none!important}
.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:200;border:0;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;padding:15px 20px;display:flex;align-items:center;gap:9px;font-weight:850;box-shadow:0 15px 40px rgba(85,26,92,.32);cursor:pointer}.chat-launcher span{font-size:20px}.chat-launcher i{position:absolute;right:-2px;top:-4px;background:#ff3b30;width:20px;height:20px;border-radius:50%;border:3px solid #fff}.chat-panel{position:fixed;right:24px;bottom:88px;z-index:210;width:min(390px,calc(100vw - 24px));height:min(650px,calc(100vh - 110px));background:#fff;border-radius:18px;box-shadow:0 25px 90px rgba(24,11,28,.34);overflow:hidden;display:none;flex-direction:column;border:1px solid #e7dce9}.chat-panel.open{display:flex}.chat-header{padding:14px 16px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;gap:11px}.chat-header img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:50%}.chat-header div{flex:1}.chat-header small{display:block;margin-top:2px;opacity:.86}.chat-header button{border:0;background:transparent;color:#fff;font-size:29px;cursor:pointer}.chat-security{padding:8px 12px;background:#fff5dd;color:#6d5718;font-size:11px;border-bottom:1px solid #f1dfb2}.chat-start,.chat-conversation{flex:1;min-height:0;overflow:auto}.chat-welcome{padding:20px 20px 5px}.chat-welcome h3{margin:0 0 8px}.chat-welcome p{margin:0;color:#776e7a;font-size:14px}.chat-start form{padding:12px 20px 24px}.chat-start label{display:block;font-size:12px;font-weight:750;margin:11px 0}.chat-start label small{font-weight:400;color:#888}.chat-start input,.chat-start select,.chat-start textarea{width:100%;margin-top:6px;border:1px solid #dcd3df;border-radius:8px;padding:11px;background:#fff;outline:none}.chat-start input:focus,.chat-start textarea:focus,.chat-start select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(247,37,133,.1)}.chat-start textarea{resize:vertical;min-height:70px}.chat-start .consent{display:flex;gap:8px;align-items:flex-start;font-weight:500;line-height:1.35}.chat-start .consent input{width:auto;margin-top:2px}.chat-submit{width:100%;border:0;border-radius:8px;padding:13px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:850;cursor:pointer}.form-error{color:#c52828;font-size:12px;min-height:16px}.chat-conversation{display:flex;flex-direction:column}.protocol-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8f3f9;font-size:11px;color:#6e6471}.protocol-bar button{border:0;background:transparent;color:#b22855;cursor:pointer}.messages{flex:1;padding:14px;overflow:auto;background:#f6f1f7}.message{display:flex;flex-direction:column;margin:9px 0;max-width:82%}.message.customer{margin-left:auto;align-items:flex-end}.message.staff,.message.system{margin-right:auto}.message-bubble{padding:10px 12px;border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(43,25,48,.07);font-size:13px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.message.customer .message-bubble{background:#f7c9df;border-bottom-right-radius:3px}.message.staff .message-bubble{border-bottom-left-radius:3px}.message.system{max-width:100%;align-items:center;margin:7px auto}.message.system .message-bubble{background:#ede4f0;color:#665b69;font-size:11px;text-align:center;box-shadow:none}.message-meta{font-size:9px;color:#8e838f;margin-top:3px}.message-file{display:block;margin-top:7px;color:var(--secondary);font-weight:700}.message-file img{max-width:190px;max-height:180px;border-radius:8px;display:block;margin-top:6px}.typing{padding:5px 14px;background:#f6f1f7;color:#817686;font-size:11px}.chat-compose{display:flex;align-items:flex-end;gap:7px;padding:10px;border-top:1px solid #e8dfe9;background:#fff}.chat-compose textarea{flex:1;border:1px solid #ddd3df;border-radius:18px;padding:10px 12px;resize:none;max-height:90px;outline:none}.chat-compose>button{border:0;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:18px}.attach{width:34px;height:40px;display:grid;place-items:center;cursor:pointer;font-size:20px}.attach input{display:none}.chat-rate{padding:12px;text-align:center;background:#fff}.chat-rate p{margin:0 0 5px;font-size:12px}.chat-rate button{border:0;background:transparent;color:#f7a800;font-size:25px;cursor:pointer}
@media(max-width:520px){.chat-launcher{right:12px;bottom:12px}.chat-panel{right:0;bottom:0;width:100vw;height:100dvh;max-height:none;border-radius:0}.chat-launcher b{display:none}}

.chat-choice{flex:1;overflow:auto;padding:26px 20px;background:linear-gradient(180deg,#fff,#faf5fb)}.chat-choice .choice-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:#f8e6f0;margin:0 auto 14px}.chat-choice h3{text-align:center;margin:0 0 7px;font-size:20px}.chat-choice>p{text-align:center;color:#786f7b;font-size:13px;margin:0 0 20px}.chat-choice>button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #e3d8e6;background:#fff;border-radius:13px;padding:14px;margin:10px 0;cursor:pointer;box-shadow:0 5px 18px rgba(48,27,52,.06)}.chat-choice>button:hover{border-color:var(--primary);transform:translateY(-1px)}.chat-choice>button>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#f8edf5;font-size:20px}.chat-choice strong,.chat-choice small{display:block}.chat-choice small{margin-top:3px;color:#817784;font-size:11px}.choice-whatsapp{border-color:#cfead8!important}.choice-whatsapp>span{background:#e5f7eb!important}.chat-back{border:0;background:transparent;color:var(--secondary);font-weight:700;cursor:pointer;padding:0;margin-bottom:12px}

/* V6: cores do chat iguais ao padrão verde/azul da página */
.chat-panel{border-color:#cfe5e2;box-shadow:0 25px 90px rgba(0,83,105,.25)}
.chat-security{background:#edf8f6;color:#315f58;border-bottom-color:#cae8e2}
.chat-start input:focus,.chat-start textarea:focus,.chat-start select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(27,185,154,.16)}
.messages,.typing{background:#f2f7f7}
.message.customer .message-bubble{background:#d8f2ec}
.message.system .message-bubble{background:#e5f1f3;color:#48646a}
.protocol-bar{background:#edf7f6;color:#496965}
.protocol-bar button{color:#0078ad}
.chat-compose{border-top-color:#d8e8e6}
.chat-compose textarea{border-color:#cddfdd}
.chat-choice{background:linear-gradient(180deg,#fff,#f2faf8)}
.chat-choice .choice-icon,.chat-choice>button>span{background:#e2f5f1}
.chat-choice>button{border-color:#d2e7e3;box-shadow:0 5px 18px rgba(0,91,111,.06)}
.choice-whatsapp{border-color:#bfe2d8!important}
.choice-whatsapp>span{background:#daf3e9!important}

/* Formulário compacto para celular: botão sempre acessível, sem barra lateral visível */
@media(max-width:520px){
  .chat-header{padding:9px 11px;min-height:58px}
  .chat-header img{width:39px;height:39px}
  .chat-security{padding:5px 9px;font-size:9.5px;line-height:1.2}
  .chat-start{display:flex;flex-direction:column;overflow:hidden}
  .chat-welcome{padding:8px 11px 3px}
  .chat-welcome h3{font-size:16px;margin:0 0 2px}
  .chat-welcome p{display:none}
  .chat-back{margin-bottom:4px;font-size:11px}
  .chat-start form{
    flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;
    display:grid;grid-template-columns:1fr 1fr;align-content:start;
    gap:5px 7px;padding:5px 10px 8px
  }
  .chat-start form::-webkit-scrollbar{display:none}
  .chat-start label{margin:0;font-size:9.5px;min-width:0}
  .chat-start label:nth-of-type(5),
  .chat-start label:nth-of-type(6),
  .chat-start .chat-submit,
  .chat-start .form-error{grid-column:1/-1}
  .chat-start input,.chat-start select,.chat-start textarea{
    margin-top:2px;padding:7px 8px;border-radius:7px;font-size:12px;min-width:0
  }
  .chat-start textarea{min-height:42px;max-height:44px;resize:none}
  .chat-start .consent{font-size:9px;line-height:1.2;margin-top:1px}
  .chat-submit{position:sticky;bottom:0;z-index:4;padding:10px;margin-top:1px;box-shadow:0 -5px 16px rgba(255,255,255,.9)}
  .form-error{margin:0;min-height:10px;font-size:9px}
  .chat-choice{padding:17px 13px;scrollbar-width:none}
  .chat-choice::-webkit-scrollbar{display:none}
  .chat-choice>button{padding:11px;margin:7px 0}
}

@media(max-width:360px){
  .chat-start form{grid-template-columns:1fr;gap:4px}
  .chat-start label,.chat-start label:nth-of-type(5),.chat-start label:nth-of-type(6),.chat-start .chat-submit,.chat-start .form-error{grid-column:1}
  .chat-start input,.chat-start select,.chat-start textarea{padding:6px 7px}
}


/* V9 — estabilidade mobile: sem deslocamento lateral e sem rolagem da página atrás do chat */
html.chat-open,
body.chat-open {
  overflow: hidden !important;
  overscroll-behavior: none;
  touch-action: none;
}
.chat-widget,
.chat-widget * {
  box-sizing: border-box;
}
.chat-widget {
  max-width: 100vw;
  overflow-x: clip;
}
.chat-panel {
  max-width: calc(100vw - 24px);
  contain: layout paint;
  overscroll-behavior: contain;
}
.chat-panel > *,
.chat-start,
.chat-start form,
.chat-conversation,
.chat-choice,
.messages,
.chat-compose {
  min-width: 0;
  max-width: 100%;
}
.chat-start input,
.chat-start select,
.chat-start textarea,
.chat-compose textarea {
  box-sizing: border-box;
  max-width: 100%;
}

@media (max-width: 520px) {
  .chat-panel {
    position: fixed !important;
    inset: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
    overflow: hidden !important;
    touch-action: pan-y;
  }
  .chat-header,
  .chat-security,
  .protocol-bar,
  .chat-compose {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
  }
  .chat-choice,
  .chat-start,
  .chat-conversation,
  .messages {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
    overscroll-behavior-x: none;
  }
  .chat-conversation {
    min-height: 0;
  }
  .messages {
    min-height: 0;
    -webkit-overflow-scrolling: touch;
  }
  .chat-compose {
    padding-left: max(10px, env(safe-area-inset-left));
    padding-right: max(10px, env(safe-area-inset-right));
    padding-bottom: max(10px, env(safe-area-inset-bottom));
  }
  .chat-compose textarea {
    width: 0;
    min-width: 0;
  }
  .chat-launcher {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
  }
}

/* V10: cartão Pix no chat público */
.pix-message-card{
  margin:9px 0 2px;
  padding:10px;
  border:1px solid #bfe3dc;
  border-radius:9px;
  background:#f4fbf9;
}
.pix-message-card strong{display:block;margin-bottom:6px;color:#17675c;font-size:12px}
.pix-message-card code{
  display:block;
  max-height:78px;
  overflow:auto;
  padding:7px;
  border-radius:6px;
  background:#fff;
  color:#3b333e;
  font-size:9px;
  line-height:1.35;
  word-break:break-all;
  white-space:normal;
}
.pix-message-card button{
  margin-top:7px;
  border:0;
  border-radius:6px;
  padding:8px 10px;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  color:#fff;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}

/* V11: estabilidade visual e viewport móvel */
html.chat-open,body.chat-open{
  overflow:hidden!important;
  overscroll-behavior:none;
  width:100%;
  max-width:100%;
}
body.chat-open{touch-action:auto!important}
.chat-panel.chat-switching{pointer-events:none}
@media(max-width:520px){
  .chat-panel{
    inset:auto 0 auto 0!important;
    top:var(--chat-vtop,0px)!important;
    bottom:auto!important;
    width:100vw!important;
    height:var(--chat-vh,100dvh)!important;
    min-height:0!important;
    max-height:var(--chat-vh,100dvh)!important;
    contain:layout style paint;
    transform:translateZ(0)!important;
  }
  .chat-start,.chat-choice,.chat-conversation{min-height:0!important}
  .chat-start form{overscroll-behavior:contain;scroll-behavior:auto}
  .chat-start .chat-submit{position:static!important;box-shadow:none!important}
  .chat-start input,.chat-start select,.chat-start textarea,.chat-compose textarea{font-size:16px!important}
  .chat-conversation{height:100%;overflow:hidden!important}
  .messages{flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important}
  .chat-compose{flex:0 0 auto!important;transform:translateZ(0)}
  .chat-compose textarea{min-height:40px;line-height:20px}
}
