/* Chat público da FocoVIX. CSS isolado para não afetar Elementor ou WordPress. */
.focovixop-sette-publica{--sette-navy:#0f2f44;--sette-orange:#F57C00;box-sizing:border-box;max-width:900px;margin:18px auto;background:#fff;color:#183242;border:1px solid #d6dfe5;border-radius:16px;overflow:hidden;font-family:Montserrat,"Segoe UI",Arial,sans-serif;box-shadow:0 10px 35px rgba(15,47,68,.06)}
.focovixop-sette-publica *{box-sizing:border-box}
.focovixop-sette-publica .sette-publica-header{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--sette-navy);color:#fff;padding:25px 28px}
.focovixop-sette-publica .sette-publica-overline{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ffd19f}
.focovixop-sette-publica .sette-publica-header h2{font-family:inherit;color:#fff;font-size:25px;line-height:1.2;margin:8px 0}
.focovixop-sette-publica .sette-publica-header p{color:#e6eef3;margin:0;font-size:13px}
.focovixop-sette-publica .sette-publica-indicator{border:1px solid #7691a2;border-radius:24px;padding:8px 12px;font-size:12px;font-weight:800}
.focovixop-sette-publica .sette-publica-messages{height:430px;max-height:55vh;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:22px;background:#f5f7f9}
.focovixop-sette-publica .sette-publica-message{width:fit-content;max-width:85%;padding:13px 16px;border:1px solid #d6dfe5;border-radius:13px;background:#fff;overflow-wrap:anywhere}
.focovixop-sette-publica .sette-publica-message b{display:block;color:var(--sette-orange);margin-bottom:6px;font-size:12px}
.focovixop-sette-publica .sette-publica-message p{white-space:pre-wrap;line-height:1.55;margin:0;font-size:14px}
.focovixop-sette-publica .sette-publica-message.is-user{align-self:flex-end;background:var(--sette-navy);border-color:var(--sette-navy);color:#fff}
.focovixop-sette-publica .sette-publica-message.is-user b{color:#ffd5a2}
.focovixop-sette-publica .sette-publica-form{padding:20px 24px;background:#fff}
.focovixop-sette-publica .sette-publica-form label{display:block;font-weight:750;font-size:13px;margin-bottom:8px}
.focovixop-sette-publica .sette-publica-form textarea{display:block;width:100%;font-family:inherit;resize:vertical;min-height:83px;padding:13px 14px;background:#fff;border:1px solid #bdccd4!important;border-radius:9px;color:#183242;box-shadow:none!important;font-size:14px;line-height:1.4}
.focovixop-sette-publica .sette-publica-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.focovixop-sette-publica .sette-publica-actions button{border:0;border-radius:9px;padding:11px 19px;cursor:pointer;font:700 13px Montserrat,"Segoe UI",Arial,sans-serif}
.focovixop-sette-publica [data-sette-clear]{background:#edf1f4;color:var(--sette-navy)}
.focovixop-sette-publica [data-sette-send]{background:var(--sette-orange);color:#fff}
.focovixop-sette-publica button:disabled{opacity:.6;cursor:wait}
.focovixop-sette-publica .sette-publica-privacy{font-size:11px;color:#657886;line-height:1.5;margin:15px 0 0}
.focovixop-sette-publica .sette-publica-hidden{position:absolute!important;left:-9999px!important;overflow:hidden;height:1px;width:1px}
.focovixop-sette-publica .sette-publica-unavailable{margin:0;padding:18px 24px;font-size:14px}
@media(max-width:640px){.focovixop-sette-publica{margin:10px auto;border-radius:10px}.focovixop-sette-publica .sette-publica-header{padding:19px}.focovixop-sette-publica .sette-publica-header h2{font-size:22px}.focovixop-sette-publica .sette-publica-messages{height:400px;max-height:48vh;padding:15px}.focovixop-sette-publica .sette-publica-form{padding:16px}.focovixop-sette-publica .sette-publica-message{max-width:95%}}

/* v4.4.5: substitui cor de hover imposta por tema/Elementor. */
.focovixop-sette-publica button:hover,.focovixop-sette-publica button:focus-visible{background:#d66a00!important;color:#fff!important;border-color:#d66a00!important;outline:2px solid #f57c00!important;outline-offset:2px}
.focovixop-sette-publica textarea:focus-visible{border-color:#f57c00!important;outline:2px solid #f57c00!important;box-shadow:none!important}

/* v4.4.9 — Consentimento de backup e aviso administrativo apenas a gestores. */
.focovixop-sette-publica .sette-publica-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;font-weight:500;line-height:1.5;margin:9px 0;color:#415766}
.focovixop-sette-publica .sette-publica-consent input{flex:0 0 auto;margin:2px 0 0;accent-color:#f57c00}
.focovixop-sette-publica .sette-publica-admin-hint{padding:12px 20px;color:#0f2f44;background:#fff4e8;font-size:12px;line-height:1.5;margin:0}
.focovixop-sette-publica .sette-publica-admin-hint a{color:#0f2f44;text-decoration:underline}


/* T24 / v4.5.5 — Encaminhamento humano opcional, sem modificar o design do chat. */
.focovixop-sette-publica .sette-publica-human-contact{
  background:#fff;padding:0 16px 15px;text-align:center;flex:0 0 auto;
}
.focovixop-sette-publica .sette-publica-human-cta,
.focovixop-sette-publica .sette-publica-human-cta:visited{
  display:block;box-sizing:border-box;width:100%;max-width:100%;
  background:#F57C00!important;border:1px solid #F57C00!important;color:#fff!important;
  border-radius:9px;padding:11px 15px;text-decoration:none!important;
  font:700 13px Montserrat,"Segoe UI",Arial,sans-serif;
  line-height:1.3;text-align:center;box-shadow:none!important;
}
.focovixop-sette-publica .sette-publica-human-cta:hover,
.focovixop-sette-publica .sette-publica-human-cta:focus-visible{
  background:#D66800!important;border-color:#D66800!important;color:#fff!important;
  outline:2px solid #F57C00!important;outline-offset:2px;
}
/* Em telefones baixos, o conteúdo pode rolar dentro do modal sem ser cortado. */
@media(max-height:650px){
  .focovixop-sette-dialog .focovixop-sette-publica{overflow-y:auto!important;overscroll-behavior:contain}
  .focovixop-sette-dialog .sette-publica-messages{min-height:58px!important}
}

/* T25: cadastro do visitante antes da conversa, sem alterar cabeçalho, avatar ou CTA humano. */
.focovixop-sette-publica [hidden]{display:none!important}
.focovixop-sette-publica .sette-publica-identify{padding:15px 20px;background:#fff;overflow-y:auto;min-height:0;max-height:48dvh;overscroll-behavior:contain}
.focovixop-sette-publica .sette-publica-identify>strong{display:block;font-size:13px;margin-bottom:4px;color:#0f2f44}
.focovixop-sette-publica .sette-publica-identify>p{font-size:11px;color:#486273;line-height:1.4;margin:0 0 12px}
.focovixop-sette-publica .sette-publica-identify label:not(.sette-publica-check){display:block;font-weight:750;font-size:12px;margin:9px 0 5px}
.focovixop-sette-publica .sette-publica-identify input[type="text"],.focovixop-sette-publica .sette-publica-identify input[type="tel"]{display:block;width:100%;padding:9px 11px;border:1px solid #bbcad3!important;border-radius:8px;font:13px Montserrat,"Segoe UI",Arial,sans-serif;color:#0f2f44;background:#fff}
.focovixop-sette-publica .sette-publica-identify small{display:block;color:#657886;font-size:10px;line-height:1.45;margin:5px 0 10px}
.focovixop-sette-publica .sette-publica-identify .sette-publica-check{display:flex;align-items:flex-start;gap:8px;font-size:11px;font-weight:500;color:#254458;line-height:1.4;margin:10px 0}
.focovixop-sette-publica .sette-publica-identify .sette-publica-check input{flex:0 0 auto;margin:3px 0 0;accent-color:#f57c00}
.focovixop-sette-publica .sette-publica-privacy-link{font-size:11px;color:#0f2f44;text-decoration:underline}
.focovixop-sette-publica .sette-publica-identify-submit{display:block;width:100%;border:0;border-radius:9px;margin:12px 0 3px;background:#f57c00;color:#fff;padding:11px 14px;font-weight:750;font-family:inherit;cursor:pointer}
.focovixop-sette-publica .sette-publica-identify-error{color:#ad3b20!important;font-size:11px;line-height:1.4;margin-top:7px}
.focovixop-sette-dialog .sette-publica-identify{flex:1 1 auto!important}
@media(max-width:640px){.focovixop-sette-publica .sette-publica-identify{padding:12px 15px;max-height:45dvh}}
/* T26 identificação inicial: campos de DDD e celular separados; conversa oculta até cadastrar. */
.focovixop-sette-publica .sette-publica-phone-row{display:grid;grid-template-columns:minmax(75px,1fr) minmax(165px,3fr);gap:10px}
.focovixop-sette-publica [hidden]{display:none!important}
@media(max-width:385px){.focovixop-sette-publica .sette-publica-phone-row{grid-template-columns:minmax(66px,1fr) minmax(150px,2.8fr);gap:6px}}

/* T31 — CTA humano opcional, secundário; botão principal continua laranja. */
.focovixop-sette-publica .sette-publica-human-cta,
.focovixop-sette-publica .sette-publica-human-cta:visited{
  background:#fff!important;color:var(--sette-navy,#0f2f44)!important;
  border:1.5px solid var(--sette-navy,#0f2f44)!important;
}
.focovixop-sette-publica .sette-publica-human-cta:hover,
.focovixop-sette-publica .sette-publica-human-cta:focus-visible{
  background:#edf3f7!important;color:var(--sette-navy,#0f2f44)!important;
  border-color:var(--sette-navy,#0f2f44)!important;
  outline:2px solid var(--sette-orange,#f57c00)!important;
}
.focovixop-sette-publica .sette-publica-consent-note{font-size:10px;line-height:1.45;color:#657886}
.focovixop-sette-publica .sette-publica-human-contact[hidden]{display:none!important}
/* T32 — caminho de campanha: duas opções após a identificação. */
.sette-campaign-choices:not([hidden]){padding:13px 15px;background:#f6f8f9;border-bottom:1px solid #d5e0e6;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sette-campaign-choices p{margin:0 0 5px;width:100%;font-weight:700;color:#0f2f44}
.sette-campaign-choices button{cursor:pointer;padding:9px 13px;border:1px solid #0f2f44;border-radius:9px;color:#0f2f44;background:#fff;font-weight:700}
.sette-campaign-choices button:first-of-type{background:#f57c00;color:#fff;border-color:#f57c00}

/* T37 | Identidade da instituição: os botões copiam o estilo computado do site
   (quando disponível); fallback usa brand_* do próprio subsite. */
.focovixop-sette-publica{font-family:var(--sette-ui-font,inherit);--sette-ui-cta:var(--sette-orange);--sette-ui-cta-text:#fff;--sette-ui-radius:9px}
.focovixop-sette-publica .sette-publica-identify-submit,
.focovixop-sette-publica [data-sette-send],
.focovixop-sette-publica .sette-campaign-choices button:first-of-type{background:var(--sette-ui-cta)!important;color:var(--sette-ui-cta-text)!important;border:1px solid var(--sette-ui-cta)!important;border-radius:var(--sette-ui-radius)!important;font-family:var(--sette-ui-font,inherit)!important}
.focovixop-sette-publica .sette-publica-identify-submit:hover,
.focovixop-sette-publica .sette-publica-identify-submit:focus-visible,
.focovixop-sette-publica [data-sette-send]:hover,
.focovixop-sette-publica [data-sette-send]:focus-visible{background:var(--sette-ui-cta)!important;color:var(--sette-ui-cta-text)!important;border-color:var(--sette-ui-cta)!important;filter:brightness(.94);outline:2px solid var(--sette-orange)!important;outline-offset:2px}
.focovixop-sette-publica .sette-publica-identify input,.focovixop-sette-publica .sette-publica-form button{font-family:var(--sette-ui-font,inherit)!important}
.focovixop-sette-publica .sette-publica-identify input:focus-visible,
.focovixop-sette-publica .sette-publica-form textarea:focus-visible{outline:2px solid var(--sette-orange)!important;border-color:var(--sette-orange)!important}
.focovixop-sette-publica .sette-publica-identify input[type="checkbox"]{accent-color:var(--sette-orange)!important}
.focovixop-sette-publica .sette-publica-check:has(.sette-consent-needs-choice){border-left:3px solid var(--sette-orange);padding-left:8px}
