#chatBubble,#chatbot-container{--brand:#d32029;--brand-dark:#a3141b;--brand-glow:rgba(211, 32, 41, .45);--ink:#0a101c;--text:#2b3446;--font-head:'Poppins',sans-serif;--font-body:'Inter',sans-serif;font-family:var(--font-body);line-height:1.7}:where(#chatbot-container button,#chatBubble){font-family:inherit;cursor:pointer;border:none;background:0 0}#chatBubble{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;box-shadow:0 12px 30px -8px rgba(0,0,0,.4);transition:transform .35s cubic-bezier(.34, 1.56, .64, 1),opacity .3s;position:fixed;right:22px;bottom:22px;z-index:990}#chatBubble:hover{transform:scale(1.1) translateY(-2px)}.fab-whats{background:#25d366}.fab-chat{background:linear-gradient(135deg,var(--brand),var(--brand-dark))}.fab-chat .fab-dot{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#ff3b30;border:2.5px solid #fff;animation:pulseDot 1.8s infinite}@keyframes pulseDot{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}#chatBubble.hidden{transform:scale(0);opacity:0;pointer-events:none}#chatbot-container{position:fixed;right:22px;bottom:22px;z-index:1002;width:min(92vw,390px);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.55);display:none;flex-direction:column;transform:translateY(130%) scale(.96);opacity:0;transition:transform .55s cubic-bezier(.25, 1, .5, 1),opacity .4s;max-height:min(660px,88vh)}#chatbot-container.active{display:flex;transform:translateY(0) scale(1);opacity:1}#chat-header{background:linear-gradient(135deg,var(--brand),var(--brand-dark));padding:16px 18px;display:flex;align-items:center;gap:12px;color:#fff;flex-shrink:0;position:relative}#chat-header::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 0,rgba(255,255,255,.22),transparent 55%);pointer-events:none}#chat-avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:1.15rem;position:relative;z-index:2}#chat-header .ch-text{position:relative;z-index:2;line-height:1.25}#chat-header .ch-text strong{font-family:var(--font-head);font-size:.98rem;font-weight:700;display:block}#chat-header .ch-text span{font-size:.76rem;opacity:.85;display:flex;align-items:center;gap:6px}#chat-header .ch-text span::before{content:'';width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.25)}#close-chat{margin-left:auto;color:#fff;font-size:1.5rem;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:background .25s;position:relative;z-index:2;line-height:1}#chat-body{padding:20px 16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:4px;background:#f7f9fc;scrollbar-width:thin}.chat-message{max-width:86%;padding:12px 16px;border-radius:18px;font-size:.92rem;line-height:1.55;animation:msgIn .45s cubic-bezier(.34,1.56,.64,1) both;word-wrap:break-word}@keyframes msgIn{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}.bot-message{background:#fff;color:var(--text);align-self:flex-start;border-bottom-left-radius:5px;box-shadow:0 2px 10px -4px rgba(11,18,32,.16)}.user-message{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;align-self:flex-end;border-bottom-right-radius:5px;box-shadow:0 6px 16px -8px var(--brand-glow)}.chat-message .m-strong{color:var(--brand);font-weight:700}.typing-indicator{display:flex;gap:4px;padding:14px 18px;background:#fff;border-radius:18px;border-bottom-left-radius:5px;align-self:flex-start;box-shadow:0 2px 10px -4px rgba(11,18,32,.16);width:fit-content}.typing-indicator span{width:7px;height:7px;background:#b6bfcd;border-radius:50%;animation:bounceDot 1.2s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:-.22s}.typing-indicator span:nth-child(3){animation-delay:-.44s}@keyframes bounceDot{0%,100%,80%{transform:scale(.5);opacity:.6}40%{transform:scale(1);opacity:1}}.chat-options{display:flex;flex-direction:column;gap:8px;margin-top:8px;width:100%}.chat-options button{width:100%;text-align:left;padding:13px 16px;background:#fff;border:1.5px solid #e3e8f0;border-radius:14px;font-size:.88rem;font-weight:600;color:var(--ink);transition:.28s;display:flex;align-items:center;gap:10px;font-family:var(--font-body)}.chat-options button:hover{border-color:var(--brand);background:rgba(211,32,41,.05);color:var(--brand);transform:translateX(4px)}.chat-options button i{color:var(--brand);font-size:.95rem;width:18px;text-align:center;flex-shrink:0}#chat-footer{padding:12px 14px;background:#fff;border-top:1px solid #eef1f6;display:flex;flex-direction:column;align-items:stretch;gap:6px;flex-shrink:0}.chat-privacy-note{color:#6b7280;font-size:.76rem;line-height:1.45;text-align:center}.chat-privacy-note a{color:#8f0f1c;text-decoration:underline;text-underline-offset:2px}#chat-input-wrapper{display:flex;align-items:center;flex:1;background:#f4f6fa;border:1.5px solid #e6eaf2;border-radius:100px;padding:4px 4px 4px 16px;transition:border-color .3s}#chat-input-wrapper:focus-within{border-color:var(--brand);background:#fff}#chat-input{flex:1;border:none;outline:0;background:0 0;font-family:inherit;font-size:.92rem;color:var(--text);padding:8px 0}#chat-input:focus-visible{box-shadow:none}#chat-input:disabled{opacity:.55}#send-btn{width:38px;height:38px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:.3s}#send-btn:disabled{opacity:.4;cursor:not-allowed}#chat-header .ch-text{min-width:0}#chat-header .ch-text strong{font-size:.88rem}#chat-header #close-chat{flex-shrink:0;width:44px;height:44px;background:0 0;border:0;cursor:pointer}#chat-avatar{width:38px;height:38px;font-size:1rem}#chat-body{height:350px;min-height:0;gap:0;background:#fff}#chat-body .chat-message{margin-bottom:15px;white-space:pre-line}#chat-body .bot-message{background:#eef1f5;box-shadow:none}#chat-input-wrapper{min-width:0}#chat-input{min-width:0;width:100%;font-size:16px}#send-btn{width:44px;height:44px;cursor:pointer;border:0}#chat-body .chat-options{margin-bottom:15px}#chat-body .chat-options button{min-height:48px}#booking-modal{position:fixed;inset:0;margin:auto;width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:20px;background:#fff;color:#333;box-shadow:0 10px 40px #0003;overflow-y:auto;font-family:Inter,sans-serif}#booking-modal::backdrop{background:#0009;backdrop-filter:blur(5px)}#booking-modal .booking-header{position:relative;padding:22px 52px 22px 20px;border-bottom:1px solid #eee}#booking-title{font-size:1.15rem}#close-modal{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;background:0 0;font-size:1.6rem;color:#777;cursor:pointer}#booking-modal .booking-step{padding:20px}#booking-modal .calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}#booking-modal button{font-family:inherit;cursor:pointer}#booking-modal .calendar-nav button{width:44px;height:44px;background:0 0;border:0;color:var(--red);font-size:1.5rem}#month-year{text-transform:capitalize;font-weight:600}#booking-modal .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}#booking-modal .weekday{text-align:center;font-size:.78rem;color:#888;padding:8px 0}#booking-modal .calendar-day{min-width:0;min-height:44px;border:0;background:#fff;border-radius:50%;font-size:.9rem;color:#333}#booking-modal .calendar-day:hover:not(:disabled),#booking-modal .today{background:#be162212;color:var(--red);font-weight:700}#booking-modal button:disabled{opacity:.3;cursor:not-allowed}#booking-modal .calendar-day:focus-visible{outline:2px solid var(--red)}#time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}#booking-modal .time-slot{min-height:48px;border:1px solid #ddd;border-radius:8px;background:#fff;color:#333;font-size:1rem}#booking-modal .time-slot:hover:not(:disabled){border-color:var(--red);background:#be162210}#booking-modal .back-btn{min-height:44px;margin-top:18px;padding:10px 18px;border:0;border-radius:8px;background:#eee;color:#555}#booking-modal .booking-note{font-size:.76rem;color:#777;margin-top:14px;line-height:1.5}#booking-modal .whatsapp-link{display:block;text-align:center;padding:14px;margin-top:16px;border-radius:10px;background:var(--red);color:#fff;font-weight:600}#booking-modal [hidden]{display:none!important}@media(max-width:640px){#chatbot-container{right:12px;left:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;max-height:calc(var(--chat-vh,100dvh) - 24px - env(safe-area-inset-bottom))}#chat-header{padding:10px 12px;gap:8px}#chat-header .ch-text strong{font-size:.82rem}#chat-footer{padding:10px}#chat-body{padding:16px}#chatBubble{bottom:calc(16px + env(safe-area-inset-bottom))}#booking-modal .booking-step{padding:16px}}#chatbot-container{width:min(390px,calc(100vw - 24px));height:min(620px,calc(var(--chat-vh,100dvh) - 24px - env(safe-area-inset-bottom)));max-height:calc(var(--chat-vh,100dvh) - 24px - env(safe-area-inset-bottom));overflow:hidden}#chat-footer,#chat-header{flex:0 0 auto}#chat-body{flex:1 1 0;height:auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#chat-header .ch-text{flex:1;min-width:0}#chat-header .ch-text strong{white-space:normal;line-height:1.3;overflow-wrap:anywhere}#chat-body .chat-message{flex-shrink:0;max-width:100%;overflow-wrap:anywhere}#chat-body .chat-options,#chat-body .typing-indicator{flex-shrink:0;max-width:100%}#chat-body .chat-options button{white-space:normal;overflow-wrap:anywhere;line-height:1.4}#chat-input-wrapper{width:100%;flex:1;min-width:0}#chat-input{width:0;min-width:0;flex:1 1 0;min-height:44px}#send-btn{flex:0 0 44px}#booking-modal{max-width:calc(100vw - 24px);max-height:calc(var(--chat-vh,100dvh) - 24px);overscroll-behavior:contain}#chatBubble,#chatbot-container{--font-head:'Archivo',sans-serif}#chatBubble.hidden{visibility:hidden}#chatbot-container{transform:none}#chat-header .ch-text span{color:#fff}#chat-header .ch-text strong{color:#fff}.contact-section [data-quote-service]{border:0;font-size:1rem}.wa-float{position:fixed;left:22px;bottom:22px;z-index:70;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.6rem;box-shadow:0 14px 30px -8px rgba(37,211,102,.55);transition:transform .3s}.wa-float:hover{transform:scale(1.1) rotate(6deg)}@media (max-width:640px){.wa-float{left:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:52px;height:52px;font-size:1.5rem}#chatBubble{width:54px;height:54px;font-size:1.35rem}}#chatBubble:focus-visible,#chatbot-container button:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px #0c0f14}@media (prefers-reduced-motion:reduce){#chatBubble,#chatBubble *,#chatbot-container *{animation:none!important;transition:none!important}}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fontawesome/webfonts/fa-brands-400.woff2") format("woff2")}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fontawesome/webfonts/fa-regular-400.woff2") format("woff2")}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:swap;src:url("/assets/fontawesome/webfonts/fa-solid-900.woff2") format("woff2")}
