/* Chatbot e convite de notificações — A Sós */
.ch{--ch:#4064b5;font-family:'Montserrat',system-ui,sans-serif}
.ch *,.ch *::before,.ch *::after{box-sizing:border-box}
.ch-btn{position:fixed;right:20px;bottom:20px;z-index:80;width:62px;height:62px;border-radius:50%;border:0;background:var(--ch);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px color-mix(in srgb,var(--ch) 45%,transparent),0 2px 6px rgba(0,0,0,.12);transition:transform .2s ease,box-shadow .2s}
.ch-btn:hover{transform:scale(1.07)}
.ch-btn:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 6px var(--ch)}
.ch.on .ch-btn svg{display:none}
.ch.on .ch-btn::before{content:'';width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center/contain no-repeat}
.ch-badge{position:absolute;top:-2px;right:-2px;min-width:22px;height:22px;border-radius:99px;background:#e8457c;color:#fff;font-weight:700;font-size:.72rem;font-family:inherit;line-height:22px;text-align:center;border:2px solid #fff;animation:chPop .4s ease}
.ch-teaser{position:fixed;right:20px;bottom:94px;z-index:80;max-width:250px;background:#fff;color:#253746;border-radius:16px 16px 4px 16px;padding:14px 34px 14px 16px;box-shadow:0 12px 34px rgba(16,24,40,.18);cursor:pointer;animation:chUp .4s ease}
.ch-teaser p{margin:0;font-size:.88rem;font-weight:600;line-height:1.4}
.ch-teaser-x{position:absolute;top:6px;right:6px;width:24px;height:24px;border:0;background:none;color:#8796a6;cursor:pointer;display:grid;place-items:center;padding:0}
.ch-teaser-x svg{width:14px;height:14px}
.ch-win{position:fixed;right:20px;bottom:94px;z-index:9995;width:380px;height:min(600px,calc(100vh - 120px));background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(16,24,40,.28);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(16px) scale(.98);transform-origin:bottom right;transition:opacity .22s,transform .22s}
.ch-win.in{opacity:1;transform:none}
/* Fechado, o chat não pode ocupar a tela nem receber toques (senão a página não rola) */
.ch-win[hidden],.ch-teaser[hidden],.ch-badge[hidden]{display:none!important}
.ch-win:not(.in){pointer-events:none}
.ch-head{display:flex;align-items:center;gap:12px;padding:14px 12px 14px 16px;background:var(--ch);color:#fff}
.ch-head>div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.ch-head strong{font-size:1rem}
.ch-head small{font-size:.74rem;opacity:.85}
.ch-av{position:relative;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-weight:800;font-size:1.1rem;flex-shrink:0}
.ch-av img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.ch-av i{position:absolute;right:0;bottom:1px;width:11px;height:11px;border-radius:50%;background:#2fdc8a;border:2px solid var(--ch)}
.ch-ib{width:36px;height:36px;border:0;border-radius:10px;background:none;color:#fff;display:grid;place-items:center;cursor:pointer;opacity:.85}
.ch-ib:hover{background:rgba(255,255,255,.15);opacity:1}
.ch-body{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:8px;background:#f5f7fb;overscroll-behavior:contain}
.ch-msg{max-width:84%;padding:10px 14px;border-radius:16px;font-size:.9rem;line-height:1.45;color:#253746;word-wrap:break-word;animation:chUp .25s ease}
.ch-msg.bot{align-self:flex-start;background:#fff;border-bottom-left-radius:4px;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.ch-msg.me{align-self:flex-end;background:var(--ch);color:#fff;border-bottom-right-radius:4px}
.ch-msg a{color:inherit;text-decoration:underline}
.ch-typing{display:flex;gap:4px;padding:14px}
.ch-typing i{width:7px;height:7px;border-radius:50%;background:#a3afc2;animation:chDot 1s infinite}
.ch-typing i:nth-child(2){animation-delay:.15s}.ch-typing i:nth-child(3){animation-delay:.3s}
.ch-cards{display:flex;gap:10px;overflow-x:auto;max-width:100%;padding:2px 2px 8px;background:none!important;box-shadow:none!important;scroll-snap-type:x mandatory}
.ch-card{flex:0 0 150px;scroll-snap-align:start;background:#fff;border-radius:14px;padding:10px;text-decoration:none!important;color:#253746!important;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 8px rgba(16,24,40,.08);font-size:.78rem;line-height:1.3}
.ch-card img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:10px;background:#f5f7fb}
.ch-card span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600}
.ch-card b{color:var(--ch);font-size:.88rem}
.ch-card s{color:#8796a6;font-weight:500;font-size:.75rem}
.ch-card em{font-style:normal;font-size:.7rem;color:#c0392b;font-weight:700}
.ch-quick{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px 10px;background:#f5f7fb;max-height:40%;overflow-y:auto}
.ch-quick[hidden]{display:none}
.ch-quick button{border:1.5px solid var(--ch);background:#fff;color:var(--ch);border-radius:99px;padding:8px 14px;font-weight:600;font-size:.82rem;font-family:inherit;line-height:1.2;cursor:pointer;transition:.15s;text-align:left}
.ch-quick button:hover{background:var(--ch);color:#fff}
.ch-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #e6eaf2;background:#fff}
.ch-form input{flex:1;min-width:0;border:1.5px solid #e1e6ef;border-radius:99px;padding:11px 16px;font-weight:500;font-size:.92rem;font-family:inherit;color:#253746;outline:none}
.ch-form input:focus{border-color:var(--ch)}
.ch-form button{width:44px;height:44px;flex-shrink:0;border:0;border-radius:50%;background:var(--ch);color:#fff;display:grid;place-items:center;cursor:pointer}
.ch-foot{display:flex;align-items:center;justify-content:center;gap:6px;padding:0 12px 10px;font-size:.74rem;color:#1a9e52;font-weight:600;text-decoration:none;background:#fff}
.ch-foot:hover{text-decoration:underline}
.ch-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@keyframes chUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes chPop{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes chDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
/* Até 860px o site mostra a barra de navegação embaixo: o botão sobe para ficar acima dela */
@media (max-width:860px){
  .ch-btn{right:14px;bottom:calc(78px + env(safe-area-inset-bottom));width:56px;height:56px}
  .ch-teaser{right:14px;bottom:calc(146px + env(safe-area-inset-bottom))}
  .ch-win{bottom:calc(146px + env(safe-area-inset-bottom));height:min(560px,calc(100vh - 170px))}
}
@media (max-width:767px){
  .ch-win{inset:0;width:auto;height:auto;border-radius:0;transform:translateY(30px)}
  .ch.on .ch-btn{display:none}
  html.ch-lock,html.ch-lock body{overflow:hidden}
  .ch-msg{font-size:.95rem}
  .ch-form input{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.ch-win,.ch-msg,.ch-teaser,.pu{animation:none!important;transition:opacity .15s!important}}

/* Convite de notificações */
.pu{position:fixed;top:16px;left:50%;z-index:9993;width:min(420px,calc(100% - 24px));translate:-50% -20px;opacity:0;background:#fff;color:#253746;border-radius:18px;box-shadow:0 18px 50px rgba(16,24,40,.22);padding:16px 18px;display:flex;gap:14px;align-items:flex-start;font-family:'Montserrat',system-ui,sans-serif;transition:opacity .3s,translate .3s}
.pu.in{opacity:1;translate:-50% 0}
.pu-ic{width:42px;height:42px;border-radius:12px;background:#eef2fb;color:#4064b5;display:grid;place-items:center;flex-shrink:0}
.pu-tx strong{display:block;font-size:.95rem;margin-bottom:4px}
.pu-tx p{margin:0 0 12px;font-size:.84rem;line-height:1.45;color:#4b5b6e}
.pu-act{display:flex;gap:8px;justify-content:flex-end}
.pu-act button{border:0;border-radius:10px;padding:9px 16px;font-weight:700;font-size:.82rem;font-family:inherit;cursor:pointer}
.pu-no{background:#f1f4f9;color:#4b5b6e}
.pu-yes{background:#4064b5;color:#fff}
