/* Fernanda — chat flotante */
.fx-btn{position:fixed;right:20px;bottom:20px;z-index:80;width:66px;height:66px;border-radius:50%;padding:0;border:3px solid #fff;background:linear-gradient(130deg,#EE0339,#9F1567 55%,#4F2894);box-shadow:0 12px 30px rgba(20,24,58,.4);cursor:pointer;overflow:hidden}
.fx-btn img{width:100%;height:100%;object-fit:cover;display:block}
.fx-btn:hover{transform:translateY(-2px)}
.fx-hint{position:fixed;right:96px;bottom:34px;z-index:80;background:#fff;color:#14183A;border-radius:16px;padding:10px 16px;font:700 14px 'Nunito Sans',sans-serif;box-shadow:0 10px 28px rgba(20,24,58,.25);cursor:pointer;max-width:220px}
.fx-hint[hidden],.fx-panel[hidden]{display:none}
.fx-panel{position:fixed;right:20px;bottom:98px;z-index:90;width:380px;max-width:calc(100vw - 24px);height:min(620px,calc(100vh - 124px));background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(20,24,58,.4);display:flex;flex-direction:column;overflow:hidden;font-family:'Nunito Sans',sans-serif;color:#14183A}
.fx-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(125deg,#003AC2,#4F2894 55%,#9F1567);color:#fff}
.fx-head img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.7)}
.fx-head b{display:block;font-family:Comfortaa,sans-serif;font-size:16px}.fx-head small{opacity:.9;font-size:12.5px}
.fx-x{margin-left:auto;background:rgba(255,255,255,.18);border:0;color:#fff;width:32px;height:32px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer}
.fx-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#F6F7FC}
.fx-m{max-width:86%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.45;word-wrap:break-word}
.fx-m a{color:inherit;font-weight:800;text-decoration:underline}
.fx-b{align-self:flex-start;background:#fff;border:1px solid #E6E9F2;border-bottom-left-radius:4px}
.fx-u{align-self:flex-end;background:#003AC2;color:#fff;border-bottom-right-radius:4px}
.fx-chips{display:flex;flex-wrap:wrap;gap:8px}
.fx-chips button{border:1.5px solid #003AC2;background:#fff;color:#003AC2;border-radius:30px;padding:7px 14px;font:800 13.5px 'Nunito Sans',sans-serif;cursor:pointer}
.fx-typing{align-self:flex-start;background:#fff;border:1px solid #E6E9F2;border-radius:16px;padding:12px 16px;display:flex;gap:5px}
.fx-typing i{width:7px;height:7px;border-radius:50%;background:#9aa0bb;animation:fxd 1s infinite}.fx-typing i:nth-child(2){animation-delay:.15s}.fx-typing i:nth-child(3){animation-delay:.3s}
@keyframes fxd{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.fx-acts{display:flex;gap:8px;padding:8px 14px 0;background:#fff}
.fx-acts a{flex:1;text-align:center;text-decoration:none;border-radius:30px;padding:7px 8px;font:800 13px 'Nunito Sans',sans-serif;color:#fff}
.fx-acts .w{background:#25D366}.fx-acts .c{background:#003AC2}
.fx-form{display:flex;gap:8px;padding:10px 14px 6px;background:#fff}
.fx-form input{flex:1;min-width:0;border:1.5px solid #E6E9F2;border-radius:30px;padding:11px 16px;font:16px 'Nunito Sans',sans-serif;outline:none}
.fx-form input:focus{border-color:#003AC2}
.fx-form button{border:0;border-radius:50%;width:44px;height:44px;background:linear-gradient(130deg,#EE0339,#9F1567);color:#fff;font-size:18px;cursor:pointer}
.fx-form button:disabled{opacity:.5}
.fx-note{padding:0 16px 10px;background:#fff;font-size:11px;color:#7a809c;text-align:center}
@media(max-width:560px){.fx-panel{right:0;bottom:0;left:0;width:100%;max-width:none;height:100dvh;border-radius:0}.fx-hint{right:92px;bottom:30px}}
@media(prefers-reduced-motion:reduce){.fx-typing i{animation:none}}

/* Botón más grande */
.fx-btn{width:92px;height:92px;border-width:4px;right:22px;bottom:22px}
.fx-btn img{object-position:50% 18%}
.fx-hint{right:126px;bottom:48px}
.fx-panel{bottom:126px;height:min(620px,calc(100vh - 150px))}
@media(max-width:560px){.fx-btn{width:80px;height:80px;right:14px;bottom:14px}.fx-hint{right:104px;bottom:34px}.fx-panel{bottom:0;height:100dvh}}

/* Tamaño final del botón */
.fx-btn{width:74px;height:74px;border-width:3px;right:22px;bottom:22px}
.fx-btn img{object-position:50% 20%}
.fx-hint{right:108px;bottom:38px}
.fx-panel{bottom:108px;height:min(620px,calc(100vh - 132px))}
@media(max-width:560px){.fx-btn{width:66px;height:66px;right:14px;bottom:14px}.fx-hint{right:90px;bottom:28px}.fx-panel{bottom:0;height:100dvh}}
