/* AFER — atendimento (assistente). Plano, cantos retos, navy + azul, tipografia do site. */
.af-lb{position:fixed;right:clamp(24px,3vw,48px);bottom:clamp(24px,3.5vw,48px);z-index:900;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:14px;font-family:var(--af-sans);font-weight:400;color:var(--af-text);}
.af-lb[hidden],.af-lb [hidden]{display:none !important;}
.af-lb button,.af-lb input,.af-lb textarea{font-family:inherit;}

/* ---------- botão ---------- */
.af-lb-fab{position:relative;display:grid;place-items:center;width:64px;height:64px;padding:0;border:0;border-radius:50%;background:var(--af-hot);color:#fff;cursor:pointer;box-shadow:0 6px 16px rgba(7,31,64,.28);transition:box-shadow .2s var(--af-ease),background .2s var(--af-ease),opacity .3s var(--af-ease),transform .3s var(--af-ease),visibility .3s;}
.af-lb-fab::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--af-hot);animation:af-lb-ring 3.2s var(--af-ease) infinite;}
.af-lb-fab:hover{background:var(--af-blue-700);box-shadow:0 8px 20px rgba(7,31,64,.34);}
.af-lb-fab:hover::before{animation:none;opacity:0;}
.af-lb-fab svg{width:30px;height:30px;}
.af-lb-label{position:absolute;right:calc(100% + 10px);top:50%;transform:translate(8px,-50%);padding:0 16px;height:40px;display:flex;align-items:center;background:var(--af-navy);color:#fff;font-size:14px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s var(--af-ease),transform .2s var(--af-ease);}
.af-lb-fab:hover .af-lb-label,.af-lb-fab:focus-visible .af-lb-label{opacity:1;transform:translate(0,-50%);}
.af-lb-fab:hover ~ .af-lb-nudge{display:none;}
.af-lb.is-open .af-lb-fab{background:var(--af-blue);}
.af-lb.is-open .af-lb-fab::before,.af-lb.is-open .af-lb-label{display:none;}
.af-lb.is-open .af-lb-fab:hover{background:var(--af-blue-700);}
.af-lb button:focus-visible,.af-lb input:focus-visible,.af-lb textarea:focus-visible,.af-lb a:focus-visible{outline:2px solid var(--af-blue);outline-offset:2px;}

/* escondido enquanto o hero está na tela */
.af-lb.in-hero:not(.is-open) .af-lb-fab,.af-lb.in-hero .af-lb-nudge{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);}

.af-lb-nudge{position:absolute;right:0;bottom:80px;width:240px;padding:14px 16px;background:#fff;border:1px solid var(--af-line);font-size:14px;line-height:1.45;color:var(--af-text);animation:af-lb-in .3s var(--af-ease);}

/* ---------- painel ---------- */
.af-lb-panel{display:flex;flex-direction:column;width:360px;max-width:calc(100vw - 24px);max-height:min(560px,calc(100dvh - 150px));transform-origin:100% 100%;background:#fff;border:1px solid var(--af-line);box-shadow:0 18px 40px -24px rgba(8,32,63,.5);animation:af-lb-open .32s var(--af-ease);}
.af-lb-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:var(--af-navy);color:#fff;}
.af-lb-head strong{display:block;font:700 1.05rem/1.2 var(--af-display);letter-spacing:-.01em;}
.af-lb-step{display:block;margin-top:2px;color:var(--af-onNavy-2);font-size:12.5px;line-height:1.3;}
.af-lb-close{display:grid;place-items:center;width:44px;height:44px;margin:-12px -12px -12px 0;border:0;background:none;color:#fff;cursor:pointer;}
.af-lb-close svg{width:20px;height:20px;}
.af-lb-close:hover{color:var(--af-blue-300);}

.af-lb-log{flex:0 1 auto;min-height:0;overflow-y:auto;padding:16px 16px 14px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain;}

.af-lb-msg{font-size:14.5px;line-height:1.5;word-wrap:break-word;animation:af-lb-in .35s var(--af-ease) both;}
.af-lb-msg--bot{color:var(--af-text);max-width:92%;}
.af-lb-msg--bot.is-info{color:var(--af-text-2);}
.af-lb-msg--user{align-self:flex-end;max-width:85%;padding:9px 14px;background:var(--af-grey-100);font-size:14.5px;}

/* opções */
.af-lb-chips{display:flex;flex-direction:column;gap:6px;}
.af-lb-chips > *{animation:af-lb-in .35s var(--af-ease) both;}
.af-lb-chips > :nth-child(1){animation-delay:.12s}.af-lb-chips > :nth-child(2){animation-delay:.2s}.af-lb-chips > :nth-child(3){animation-delay:.28s}.af-lb-chips > :nth-child(4){animation-delay:.36s}.af-lb-chips > :nth-child(5){animation-delay:.44s}.af-lb-chips > :nth-child(6){animation-delay:.52s}
.af-lb-chip{display:block;width:100%;padding:10px 12px;border:1px solid var(--af-line);border-radius:0;background:#fff;color:var(--af-text);font-size:14.5px;font-weight:500;line-height:1.35;text-align:left;text-decoration:none;cursor:pointer;transition:border-color .15s,background .15s,transform .15s var(--af-ease);}
.af-lb-chip small{display:block;margin-top:1px;color:var(--af-text-3);font-size:12.5px;font-weight:400;}
.af-lb-chip:hover{border-color:var(--af-blue);background:var(--af-grey-50);transform:translateX(3px);}
.af-lb-chip:active{transform:scale(.99);}
.af-lb-chip--pri,.af-lb-chip--dark{border-color:transparent;color:#fff;text-align:center;font-weight:600;}
.af-lb-chip--pri{background:var(--af-blue);}
.af-lb-chip--pri:hover{background:var(--af-blue-700);border-color:transparent;}
.af-lb-chip--dark{background:var(--af-navy);}
.af-lb-chip--dark:hover{background:var(--af-navy-800);border-color:transparent;}
.af-lb-chip:disabled{opacity:.6;cursor:default;}
.af-lb-link{align-self:flex-start;padding:6px 0;border:0;background:none;color:var(--af-text-2);font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.af-lb-link:hover{color:var(--af-blue);}
.af-lb-lgpd{color:var(--af-text-3);font-size:12.5px;line-height:1.45;}

/* resumo */
.af-lb-sum{margin:0;border:1px solid var(--af-line);display:grid;grid-template-columns:auto 1fr;animation:af-lb-in .25s var(--af-ease);}
.af-lb-sum dt,.af-lb-sum dd{margin:0;padding:9px 12px;border-bottom:1px solid var(--af-line-2);font-size:14px;line-height:1.4;}
.af-lb-sum dt{background:var(--af-grey-50);color:var(--af-text-3);padding-right:16px;}
.af-lb-sum dd{word-break:break-word;font-weight:500;}
.af-lb-sum dt:last-of-type,.af-lb-sum dd:last-of-type{border-bottom:0;}

.af-lb-done{padding:16px;background:var(--af-grey-50);border:1px solid var(--af-line);animation:af-lb-in .25s var(--af-ease);}
.af-lb-done strong{display:block;font:700 1.05rem/1.3 var(--af-display);}
.af-lb-done p{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--af-text-2);}

/* campo de texto */
.af-lb-input{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 16px;border-top:1px solid var(--af-line);background:#fff;animation:af-lb-in .3s var(--af-ease);}
.af-lb-input input,.af-lb-input textarea{min-width:0;padding:0 14px;border:1px solid var(--af-line);border-radius:0;font:400 15px var(--af-sans);color:var(--af-text);background:#fff;}
.af-lb-input input{height:42px;}
.af-lb-input textarea{height:76px;padding:11px 14px;resize:none;line-height:1.4;}
.af-lb-input input:focus,.af-lb-input textarea:focus{outline:none;border-color:var(--af-blue);}
.af-lb-send{height:42px;padding:0 20px;border:0;border-radius:0;background:var(--af-blue);color:#fff;font-size:15px;font-weight:600;cursor:pointer;}
.af-lb-input textarea + .af-lb-send{align-self:end;}
.af-lb-send:hover{background:var(--af-blue-700);}
.af-lb-skip{grid-column:1/-1;justify-self:start;padding:2px 0;border:0;background:none;color:var(--af-text-2);font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.af-lb-err{grid-column:1/-1;color:#B3261E;font-size:13.5px;}

.af-lb-foot{padding:2px 16px 10px;background:#fff;}
.af-lb-back{min-height:32px;padding:0;border:0;background:none;color:var(--af-text-2);font-size:14px;cursor:pointer;}
.af-lb-back:hover{color:var(--af-blue);text-decoration:underline;}

@keyframes af-lb-ring{0%,55%{transform:scale(1);opacity:.7}100%{transform:scale(1.45);opacity:0}}
@keyframes af-lb-open{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}
@keyframes af-lb-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media (max-width:520px){
  .af-lb{right:20px;bottom:24px;}
  .af-lb-fab{width:58px;height:58px;}
  .af-lb-nudge{width:210px;bottom:72px;}
  .af-lb.is-open .af-lb-fab{display:none;}
  .af-lb-panel{position:fixed;inset:0;width:auto;max-width:none;height:auto;border:0;box-shadow:none;}
}
@media (hover:none){.af-lb-label{display:none;}}
@media (prefers-reduced-motion:reduce){
  .af-lb *,.af-lb *::before,.af-lb-panel,.af-lb-nudge{animation:none !important;transition:none !important;}
}
