/* ===== AMU PASS — assistente (checkout em formato de conversa). Usa os tokens e a carteirinha do checkout.css ===== */
html,body{height:100%;}
body.as-page{min-height:0;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;}
.as-shell{flex:1;min-height:0;width:100%;max-width:560px;margin:0 auto;background:#fff;display:flex;flex-direction:column;box-shadow:0 0 40px rgba(14,11,46,.08);}

/* Topo: quem está falando + progresso */
.as-head{flex:none;display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ck-border);position:relative;}
.as-avatar{width:42px;height:42px;border-radius:50%;background:#3B1F8F;display:grid;place-items:center;flex-shrink:0;}
.as-avatar img{width:24px;height:24px;object-fit:contain;}
.as-avatar.as-photo{overflow:hidden;background:#EEE8FF;}
.as-avatar.as-photo img{width:100%;height:100%;object-fit:cover;}
.as-who{min-width:0;flex:1;}
.as-who b{display:block;font-family:var(--ck-display);font-weight:700;font-size:18px;line-height:1.15;color:#1B1240;}
.as-who span{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ck-muted);}
.as-who span::before{content:"";width:7px;height:7px;border-radius:50%;background:#1F9D6B;}
.as-count{font-size:12.5px;font-weight:600;color:#5A4C8A;font-variant-numeric:tabular-nums;white-space:nowrap;}
.as-help{flex:none;border:1.5px solid #7C4DFF;background:#fff;color:#3B1F8F;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:700;}
.as-help:hover{background:#F4F0FF;}
@media (max-width:480px){.as-count{display:none;}} /* no celular a barra de progresso já mostra o andamento */
.as-bar{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#EEE8FF;}
.as-bar i{display:block;height:100%;width:0;background:#7C4DFF;transition:width .35s ease;}

/* Conversa */
.as-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 12px;background:#FAF8FF;}
.as-plan{margin:0 0 18px;}
.as-plan .idc{margin:0 auto;max-width:340px;padding:16px 18px 14px;border-radius:18px;}
.as-plan .idc-name{font-size:20px;}
.as-plan .idc-bottom{gap:12px;}
.as-plan .idc-v{font-size:12px;}
.as-plan-info{max-width:340px;margin:10px auto 0;background:#fff;border:1px solid var(--ck-border);border-radius:14px;padding:12px 14px;}
.as-plan-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;}
.as-plan-price b{font-family:var(--ck-display);font-weight:800;font-size:26px;line-height:1;color:#1B1240;font-variant-numeric:tabular-nums;}
.as-plan-price span{font-size:13px;color:var(--ck-muted);}
.as-plan-info .ck-more{margin-top:8px;border-top:1px solid var(--ck-border);padding-top:8px;}

.as-msgs{display:flex;flex-direction:column;gap:8px;}
.as-msg{max-width:84%;padding:10px 14px;border-radius:18px;font-size:15.5px;line-height:1.45;overflow-wrap:anywhere;animation:asIn .22s ease both;}
.as-bot{align-self:flex-start;background:#fff;border:1px solid var(--ck-border);border-bottom-left-radius:6px;color:var(--ck-text);}
.as-bot .hl{color:#6236E8;font-weight:700;}
.as-warn{background:#FDECEA;border-color:#F5C2BC;color:#8E2A1E;font-weight:600;}
.as-me{align-self:flex-end;background:#7C4DFF;color:#fff;border-bottom-right-radius:6px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.as-edit{border:none;background:none;color:#fff;opacity:.8;font-size:12px;text-decoration:underline;padding:2px 0;}
.as-edit:hover{opacity:1;}
.as-typing{display:inline-flex;gap:4px;align-items:center;padding:14px 16px;}
.as-typing i{width:7px;height:7px;border-radius:50%;background:#B9A8F5;animation:asDot 1s ease-in-out infinite;}
.as-typing i:nth-child(2){animation-delay:.15s;}
.as-typing i:nth-child(3){animation-delay:.3s;}
.as-msgs .ck-wait{margin-top:4px;}
@keyframes asIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@keyframes asDot{0%,60%,100%{opacity:.35;transform:none;}30%{opacity:1;transform:translateY(-3px);}}

/* Cartão: formulário seguro dentro da conversa */
.as-card{margin-top:12px;background:#fff;border:1.5px solid #CDEBDD;border-radius:18px;padding:16px;box-shadow:0 10px 30px rgba(31,157,107,.10);animation:asIn .25s ease both;}
.as-card[hidden]{display:none;}
.as-card-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;}
.as-lock{flex:none;width:42px;height:42px;border-radius:12px;background:#DDF5EA;color:#1F7A55;display:grid;place-items:center;}
.as-card-head h2{font-family:var(--ck-display);font-weight:700;font-size:20px;line-height:1.2;color:#1B1240;}
.as-card-head p{font-size:13px;line-height:1.45;color:#5E567A;margin-top:2px;}
.as-card .ck-stack{margin-bottom:14px;}
.as-card .ck-cta{margin-bottom:10px;}
.as-seals{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-bottom:10px;}
.as-seals li{font-size:12.5px;color:#1F7A55;font-weight:600;padding-left:16px;position:relative;}
.as-seals li::before{content:"✓";position:absolute;left:0;font-weight:800;}
.as-card .as-err{margin:0 2px 10px;}

/* Resposta: campo ou botões */
.as-dock{flex:none;border-top:1px solid var(--ck-border);background:#fff;padding:10px 12px calc(10px + env(safe-area-inset-bottom));}
.as-dock:empty{display:none;}
.as-err{font-size:13px;font-weight:600;color:#C0392B;margin:0 4px 8px;}
.as-form{display:flex;gap:8px;align-items:center;}
.as-form input{flex:1;min-width:0;background:#fff;border:1.5px solid var(--ck-border-mid);border-radius:999px;padding:13px 18px;font-size:16px;font-family:var(--ck-body);color:var(--ck-text);outline:none;transition:border-color .2s,box-shadow .2s;}
.as-form input::placeholder{color:var(--ck-subtle);}
.as-form input:focus{border-color:#7C4DFF;box-shadow:0 0 0 3px rgba(124,77,255,.12);}
.as-form.bad input{border-color:#E57373;}
.as-send{flex:none;width:48px;height:48px;border-radius:50%;border:none;background:#7C4DFF;color:#fff;display:grid;place-items:center;box-shadow:0 6px 16px rgba(124,77,255,.32);transition:background .15s;}
.as-send:hover{background:#6236E8;}
.as-skip{display:block;margin:8px auto 0;border:none;background:none;color:#5A4C8A;font-size:14px;font-weight:600;text-decoration:underline;padding:6px 10px;}
/* Dúvidas: perguntas frequentes em fila que rola de lado + botão do WhatsApp */
.as-faq{display:flex;gap:8px;overflow-x:auto;margin:0 -12px 10px;padding:2px 12px 6px;scrollbar-width:thin;}
.as-faq-q{flex:none;border:1.5px solid #DACDFF;background:#F8F6FD;color:#3B1F8F;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600;white-space:nowrap;}
.as-faq-q:hover{background:#EEE8FF;border-color:#7C4DFF;}
.as-wa{display:flex;align-items:center;justify-content:center;align-self:flex-start;max-width:100%;background:#1F9D6B;color:#fff;border-radius:14px;padding:12px 16px;font-size:14.5px;font-weight:700;text-decoration:none;text-align:center;animation:asIn .22s ease both;}
.as-wa:hover{background:#178258;}
.as-dock .as-wa{align-self:stretch;}
a.as-choice{text-decoration:none;}
.as-choices{display:flex;flex-direction:column;gap:8px;}
.as-choice{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:1.5px solid #7C4DFF;background:#fff;color:#3B1F8F;border-radius:14px;padding:14px 16px;font-size:15.5px;font-weight:700;text-align:left;transition:background .15s,color .15s;}
.as-choice-l{display:flex;align-items:center;gap:10px;min-width:0;}
.as-ic{display:inline-flex;flex:none;color:#7C4DFF;}
.as-choice-t{display:flex;flex-direction:column;gap:2px;min-width:0;}
.as-choice-n{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;}
.as-badge{font-style:normal;background:#DDF5EA;color:#1F7A55;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;}
.as-sub{font-size:12.5px;font-weight:600;color:#1F7A55;line-height:1.35;}
.as-choice:not(.best) .as-sub{color:var(--ck-muted);font-weight:500;}
.as-price{flex:none;font-weight:600;font-size:14px;font-variant-numeric:tabular-nums;text-align:right;}
.as-choice.best{background:#F4F0FF;border-width:2px;}
.as-choice.center{justify-content:center;}
.as-choice:hover{background:#F4F0FF;}
.as-choice.best:hover{background:#EEE8FF;}
.as-coupon .as-form{margin-top:10px;}
.as-coupon-note{margin-top:8px;font-size:13.5px;color:#5F5A74;}
.as-apply{flex:none;border:none;background:#7C4DFF;color:#fff;border-radius:999px;padding:13px 18px;font-size:15px;font-weight:700;}
.as-apply:hover{background:#6236E8;}
.as-apply:disabled{opacity:.65;cursor:wait;}
.as-choice.main{background:#7C4DFF;color:#fff;justify-content:center;box-shadow:0 6px 18px rgba(124,77,255,.32);}
.as-choice.main:hover{background:#6236E8;}
.as-choice:disabled{opacity:.65;cursor:wait;}
.as-safe{text-align:center;font-size:11.5px;color:var(--ck-subtle);margin-top:8px;line-height:1.5;}
.as-safe a{color:var(--ck-muted);}

@media (min-width:700px){
  body.as-page{padding:24px 20px;}
  .as-shell{border-radius:24px;overflow:hidden;box-shadow:0 20px 60px rgba(14,11,46,.10);}
}
@media (prefers-reduced-motion:reduce){
  .as-msg,.as-typing i,.as-card{animation:none;}
  .as-bar i{transition:none;}
}

/* Sem a carteirinha: o nome do plano vai no topo do quadro de preço */
.as-plan-name{font-family:var(--ck-display);font-weight:800;font-size:19px;line-height:1.2;color:#1B1240;margin-bottom:4px;}

/* Plano familiar: quem vai usar (nome + CPF) */
.as-deps{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px;}
.as-deps li{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#F4F0FF;border:1px solid #E2D8FF;border-radius:12px;padding:10px 12px;}
.as-dep-who{display:flex;flex-direction:column;gap:1px;min-width:0;font-size:14.5px;color:#3B1F8F;}
.as-dep-who span{font-size:12.5px;color:var(--ck-muted);}
.as-dep-rm{flex:none;border:none;background:none;color:#5A4C8A;font-size:13px;font-weight:600;text-decoration:underline;padding:4px;}
.as-dep-form{display:grid;grid-template-columns:1fr 150px auto;gap:8px;margin-bottom:8px;}
.as-dep-form input{min-width:0;background:#fff;border:1.5px solid var(--ck-border-mid);border-radius:999px;padding:13px 16px;font-size:16px;font-family:var(--ck-body);color:var(--ck-text);outline:none;}
.as-dep-form input:focus{border-color:#7C4DFF;box-shadow:0 0 0 3px rgba(124,77,255,.12);}
.as-dep-form.bad input{border-color:#E57373;}
.as-dep-form[hidden],.as-deps[hidden]{display:none;}
@media (max-width:520px){.as-dep-form{grid-template-columns:1fr 1fr;}.as-dep-form input:first-child{grid-column:1 / -1;}}
.as-choice[hidden],.as-skip[hidden]{display:none;}
