/* ALTO B2 · web v12 · piezas funcionales nuevas. La identidad (colores, tipografías, logotipo) es la de la v11 y no cambia. */
.ab2-flot{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(max(14px,env(safe-area-inset-bottom)) + var(--ab2-sube,0px));z-index:60;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.ab2-b{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;border:0;cursor:pointer;box-shadow:0 6px 18px rgba(17,26,46,.28);transition:transform .2s ease,box-shadow .2s ease}
.ab2-b svg{width:24px;height:24px}
.ab2-b:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(17,26,46,.34)}
.ab2-b:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #1F4FFF}
.ab2-wa{background:#1FA855}
.ab2-tg{background:#229ED9}
.ab2-chat{background:#1F4FFF}
.ab2-panel{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(max(14px,env(safe-area-inset-bottom)) + var(--ab2-sube,0px) + 164px);z-index:61;width:min(360px,calc(100vw - 28px));height:min(460px,calc(100vh - 220px));background:#fff;border-radius:20px;box-shadow:0 18px 50px rgba(17,26,46,.35);display:flex;flex-direction:column;overflow:hidden}
.ab2-panel[hidden]{display:none}
.ab2-ph{display:flex;justify-content:space-between;align-items:center;background:#111A2E;color:#fff;padding:12px 14px}
.ab2-ph button{background:none;border:0;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:0 4px}
.ab2-msgs{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#F4F6FA}
.ab2-m{max-width:86%;padding:9px 12px;border-radius:14px;font-size:14.5px;line-height:1.4;overflow-wrap:anywhere}
.ab2-m.bot{background:#fff;align-self:flex-start;color:#111A2E}
.ab2-m.yo{background:#1F4FFF;color:#fff;align-self:flex-end}
.ab2-m a{color:inherit;text-decoration:underline}
.ab2-f{display:flex;gap:8px;padding:10px;border-top:1px solid #E3E7EF}
.ab2-f input{flex:1;min-width:0;border:1.5px solid #D5DBE7;border-radius:12px;padding:10px 12px;font:inherit;font-size:15px}
.ab2-f button{border:0;border-radius:12px;background:#1F4FFF;color:#fff;padding:0 14px;font:inherit;font-weight:600;cursor:pointer}
.ab2-llamada{max-width:var(--max,1180px);margin:0 auto;padding:22px var(--g,24px);display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fff;border-radius:22px}
.ab2-llamada b{display:block;font-size:18px}
.ab2-llamada span{display:block;font-size:14px;color:var(--texto,#4a5568);max-width:62ch;margin-top:4px}
.ab2-llamada .btn svg{width:18px;height:18px;vertical-align:-3px;margin-right:6px}
.ab2-ts{grid-column:1/-1;min-height:65px}
.ab2-tipo{grid-column:1/-1}
@media (max-width:760px){.ab2-llamada{margin:0 var(--g,16px)}}
@media (prefers-reduced-motion:reduce){.ab2-b{transition:none}.ab2-b:hover{transform:none}}
.ab2-lk{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
