/* Animated assistant character */
#mascotBtn,#bhBtn{position:relative;overflow:visible!important;background:linear-gradient(145deg,#786cff,#5848e8)!important}
#mascotBtn:before,#bhBtn:before{content:"";position:absolute;left:14px;top:15px;width:34px;height:31px;border-radius:48% 48% 44% 44%;background:#fff;box-shadow:inset 0 -4px 0 #eceaff}
#mascotBtn:after,#bhBtn:after{content:"••";position:absolute;left:0;right:0;top:13px;color:#4d43bd;font-size:20px;letter-spacing:7px;padding-left:7px;line-height:20px;animation:helperBlink 4.2s infinite}
#mascotBtn .mascot-face{font-size:0}
#mascotBtn .mascot-face:before{content:"⌣";position:absolute;z-index:2;left:0;right:0;top:27px;font-size:18px;color:#4d43bd}
#bhBtn:before{left:18px;top:18px;width:38px;height:35px}#bhBtn:after{top:17px;font-size:21px}#bookingHelper:before{left:5px;top:28px}
#mascotBtn{animation:helperFloat 3s ease-in-out infinite!important}
#bhBtn{font-size:0;animation:helperAttention 5s ease-in-out infinite}
#bhBtn span{display:none}
#bookingHelper:before{display:none!important}
#bookingHelper #bhBtn:before{left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}
#bookingHelper #bhBtn:after{top:50%!important;transform:translateY(-50%)!important;padding-left:6px!important}
#aiMascot:before,#bookingHelper:before{content:"";position:absolute;width:12px;height:17px;border-radius:9px;background:#6558f5;left:2px;top:25px;transform:rotate(28deg);animation:helperWave 2.8s ease-in-out infinite}
#aiMascot.open #mascotBtn,#bookingHelper.open #bhBtn{animation:helperHappy .65s ease}
.mascot-head,.bhHead{background:linear-gradient(135deg,#faf9ff,#f1efff)}
.mascot-head b,.bhHead b{font-size:14px;color:#37305f}
#mascotPanel,#bhPanel{border-color:#e8e5ff!important;box-shadow:0 22px 70px rgba(52,42,130,.22)!important}
#mascotBody,.bhHead+div,#bhBody{background:linear-gradient(180deg,#fff,#fdfcff)}
.mascot-wave{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#f0eeff;animation:helperNod 2.2s ease-in-out infinite}
@keyframes helperFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@keyframes helperBlink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}
@keyframes helperWave{0%,60%,100%{transform:rotate(28deg)}70%{transform:rotate(55deg)}80%{transform:rotate(15deg)}90%{transform:rotate(48deg)}}
@keyframes helperHappy{0%{transform:scale(1)}45%{transform:scale(1.16) rotate(7deg)}75%{transform:scale(.95) rotate(-5deg)}100%{transform:scale(1)}}
@keyframes helperNod{50%{transform:translateY(-3px) rotate(5deg)}}
@keyframes helperAttention{0%,38%,100%{transform:translateY(0) rotate(0);box-shadow:0 12px 30px #6558f555,0 0 0 0 #715cff44}10%{transform:translateY(-8px) rotate(-3deg)}18%{transform:translateY(-4px) rotate(4deg);box-shadow:0 16px 38px #6558f577,0 0 0 14px #715cff00}24%{transform:translateY(-7px) rotate(-3deg)}30%{transform:translateY(0) rotate(0)}}
@media(prefers-reduced-motion:reduce){#mascotBtn,#bhBtn,#aiMascot:before,#bookingHelper:before,.mascot-wave{animation:none!important}}
@media(max-width:600px){#aiMascot{right:16px!important;bottom:92px!important}#mascotBtn{width:50px!important;height:50px!important;display:block!important;overflow:visible!important;border:2px solid rgba(255,255,255,.92)!important;background:linear-gradient(145deg,#786cff,#5848e8)!important;box-shadow:0 8px 22px rgba(75,61,190,.3)!important;animation:helperFloat 3s ease-in-out infinite!important}#mascotBtn:before{display:block!important;left:8px!important;top:10px!important;width:30px!important;height:28px!important;border-radius:48% 48% 44% 44%!important}#mascotBtn:after{display:block!important;left:0!important;right:0!important;top:8px!important;padding-left:5px!important;font-size:17px!important;letter-spacing:5px!important;line-height:18px!important;animation:helperBlink 4.2s infinite!important}#mascotBtn .mascot-face{display:block!important;position:static!important;font-size:0!important}#mascotBtn .mascot-face:before{display:block!important;top:23px!important;font-size:15px!important;color:#4d43bd!important}#aiMascot:before{display:block!important;left:-2px!important;top:20px!important;width:10px!important;height:15px!important;animation:helperWave 2.8s ease-in-out infinite!important}#mascotPanel{bottom:152px!important}}
#mascotPanel{border:2px solid #6657e8!important;background:#f5f3ff!important;box-shadow:0 28px 80px rgba(38,29,102,.38),0 0 0 5px rgba(101,88,245,.1)!important}.mascot-head{background:linear-gradient(135deg,#5b4ddb,#735bf0)!important;border-bottom:0!important}.mascot-head b{color:#fff!important}.mascot-head small{color:#e9e6ff!important}.mascot-head>button{color:#fff!important;background:rgba(255,255,255,.14)!important;border-radius:50%!important;width:34px!important;height:34px!important}.mascot-head>button:hover{background:rgba(255,255,255,.24)!important}#mascotBody{background:#fff!important;border-bottom:1px solid #e4e0f8!important}.mascot-chat{background:#f5f3ff!important;border-top:0!important}.mascot-chat input{background:#fff!important;border:1px solid #cfc9ef!important}.mascot-chat input:focus{outline:3px solid rgba(101,88,245,.16)!important;border-color:#6558f5!important}@media(max-width:600px){#mascotPanel{box-shadow:0 25px 70px rgba(30,23,84,.46),0 0 0 9999px rgba(28,25,50,.24)!important}}

/* El rostro se centra por geometría, sin depender del padding global de los botones. */
#mascotBtn,#bhBtn{box-sizing:border-box!important;display:grid!important;place-items:center!important;padding:0!important;line-height:1!important}
#mascotBtn:before,#bhBtn:before{left:50%!important;transform:translateX(-50%)!important}
#mascotBtn:after,#bhBtn:after{box-sizing:border-box!important;left:0!important;right:0!important;width:100%!important;padding-left:6px!important;text-align:center!important}
#mascotBtn .mascot-face:before{left:50%!important;right:auto!important;width:30px!important;text-align:center!important;transform:translateX(-50%)!important}
@media(max-width:600px){#mascotBtn{width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;min-height:54px!important;max-height:54px!important;border-radius:50%!important}#mascotBtn:before{left:50%!important;top:11px!important;width:30px!important;height:28px!important;transform:translateX(-50%)!important}#mascotBtn:after{left:0!important;right:0!important;top:9px!important;width:100%!important;padding-left:5px!important}#mascotBtn .mascot-face:before{left:50%!important;right:auto!important;top:24px!important;width:28px!important;transform:translateX(-50%)!important}}
