:root{--chat-accent:#b86212;--chat-navy:#071b2b;--chat-bg:#fff;--chat-panel:#f7f3ed;--chat-text:#17212b;--chat-muted:#6e7780;--chat-line:#e5ddd3}
.vr-chat-launcher{position:fixed;right:23px;bottom:216px;z-index:90;width:60px;height:60px;border:0;border-radius:50%;background:linear-gradient(145deg,#c87926,#9d470b);color:#fff;box-shadow:0 12px 30px #3b1c0845;cursor:pointer;display:grid;place-items:center;overflow:visible;transition:.25s;animation:vrLauncherGlow 2.15s ease-in-out infinite}.vr-chat-launcher:before{content:"";position:absolute;inset:-2px;z-index:-1;border:3px solid #e6812b;border-radius:50%;opacity:.75;box-shadow:0 0 0 2px #ffffff20;animation:vrChatPulse 2.15s cubic-bezier(.18,.7,.3,1) infinite}.vr-chat-launcher .vr-bot-glyph{animation:vrBotBreathe 2.15s ease-in-out infinite}
.vr-chat-launcher:hover{transform:translateY(-4px) scale(1.03)}.vr-chat-launcher .vr-bot-glyph{width:31px;height:31px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.vr-chat-launcher .vr-online{position:absolute;right:3px;top:2px;width:12px;height:12px;border-radius:50%;background:#38ca72;border:2px solid #fff}.vr-chat-launcher-label{position:absolute;right:70px;width:max-content;padding:9px 13px;border-radius:7px;background:#fff;color:#312820;font:600 11px Manrope,Arial;box-shadow:0 7px 22px #0002}
.vr-chat{position:fixed;right:24px;bottom:24px;z-index:120;width:min(410px,calc(100vw - 32px));height:min(680px,calc(100vh - 40px));border:1px solid #ffffff30;border-radius:18px;background:var(--chat-bg);color:var(--chat-text);box-shadow:0 24px 70px #0005;overflow:hidden;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(20px) scale(.96);transition:.28s;font-family:Manrope,Arial,sans-serif}
.vr-chat.open{opacity:1;visibility:visible;transform:none}.vr-chat.dark{--chat-bg:#101820;--chat-panel:#17232d;--chat-text:#f0f3f5;--chat-muted:#a9b1b8;--chat-line:#2a3945}
.vr-chat-head{display:flex;flex:0 0 auto;align-items:center;gap:11px;padding:14px 15px;color:#fff;background:linear-gradient(125deg,#061a2a,#12354b)}.vr-chat-avatar-wrap{position:relative;flex:0 0 auto}.vr-chat-avatar{display:block;width:43px;height:43px;border-radius:50%;object-fit:contain;background:#fff}.vr-avatar-bot{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border:2px solid #0b2436;border-radius:50%;background:#38ca72;color:transparent}.vr-chat-title{min-width:0;flex:1}.vr-chat-title strong{display:block;font:600 14px Manrope}.vr-chat-title span{font-size:10px;color:#c8d7df}.vr-chat-actions{display:flex;gap:4px}.vr-chat-actions button{width:32px;height:32px;border:0;border-radius:50%;background:#ffffff12;color:#fff;cursor:pointer;font-size:16px}.vr-chat-actions button:hover{background:#ffffff25}
.vr-chat-messages{flex:1 1 auto;min-height:0;overflow:auto;padding:18px 14px 12px;background:var(--chat-bg);scroll-behavior:smooth;scroll-padding-top:18px}.vr-message{display:flex;gap:8px;margin:0 0 13px;animation:vrIn .25s ease}.vr-message.user{justify-content:flex-end}.vr-bubble{max-width:84%;padding:10px 12px;border-radius:5px 15px 15px 15px;background:var(--chat-panel);font-size:12px;line-height:1.55;white-space:pre-line;border:1px solid var(--chat-line)}.vr-message.user .vr-bubble{border:0;border-radius:15px 5px 15px 15px;background:var(--chat-accent);color:#fff}.vr-time{display:block;margin-top:5px;font-size:8px;color:var(--chat-muted);text-align:right}.vr-message.user .vr-time{color:#fff9}.vr-bubble a{color:var(--chat-accent);font-weight:700;text-decoration:underline}.vr-message.user a{color:#fff}
.vr-typing{display:flex;gap:4px;align-items:center}.vr-typing i{width:6px;height:6px;border-radius:50%;background:var(--chat-muted);animation:vrDot 1s infinite}.vr-typing i:nth-child(2){animation-delay:.15s}.vr-typing i:nth-child(3){animation-delay:.3s}
.vr-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 0 auto;gap:6px;padding:9px 12px;border-top:1px solid var(--chat-line);background:var(--chat-bg)}.vr-quick button{min-width:0;width:100%;min-height:32px;border:1px solid var(--chat-accent);border-radius:16px;padding:6px 7px;background:transparent;color:var(--chat-accent);font:600 9px/1.25 Manrope;white-space:normal;text-align:center;cursor:pointer}.vr-quick button:hover{background:var(--chat-accent);color:#fff}
.vr-chat-form{display:flex;flex:0 0 auto;align-items:flex-end;gap:7px;padding:10px 11px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--chat-line);background:var(--chat-bg)}.vr-chat-form textarea{flex:1;resize:none;max-height:90px;min-height:40px;padding:10px 12px;border:1px solid var(--chat-line);border-radius:12px;background:var(--chat-panel);color:var(--chat-text);outline:none;font:12px/1.45 Manrope}.vr-chat-form textarea:focus{border-color:var(--chat-accent)}.vr-chat-send{width:40px;height:40px;border:0;border-radius:12px;background:var(--chat-accent);color:#fff;cursor:pointer;font-size:17px}.vr-reserve-summary{margin-top:8px;padding:9px;border-left:3px solid var(--chat-accent);background:var(--chat-bg)}
.vr-payment-card{margin:10px 0 2px;padding:8px;border-radius:10px;background:#fff;border:1px solid var(--chat-line)}.vr-payment-card img{display:block;width:100%;max-height:320px;object-fit:contain;border-radius:6px}.vr-payment-card figcaption{padding:8px 4px 2px;color:#5f6870;font-size:9px;line-height:1.45;text-align:center}
.vr-payment-card.image-error img{display:none}.vr-payment-card.image-error:before{content:"No se pudo cargar el código QR. Solicítelo a recepción por WhatsApp: +593 93 906 9550";display:block;padding:16px;color:#8f430c;background:#fff7ee;border-radius:7px;font:600 10px/1.55 Manrope;text-align:center}
.vr-map-card{margin-top:10px;overflow:hidden;border:1px solid var(--chat-line);border-radius:11px;background:#fff;box-shadow:0 7px 20px #071b2b12}.vr-map-card iframe{display:block;width:100%;height:210px;border:0;background:#eee}.vr-map-card a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 12px;background:#fff;color:var(--chat-accent);font:700 9px/1.3 Manrope;text-decoration:none;text-align:center}.vr-map-card a:hover{background:#fff7ee}.vr-chat.dark .vr-map-card a{background:#17232d;color:#e6a45d}.vr-chat.dark .vr-map-card a:hover{background:#1e2d38}
@media(max-width:520px){.vr-map-card iframe{height:230px}}
.vr-contact-card{display:grid;grid-template-columns:46px 1fr;gap:10px;margin-top:10px;padding:12px;border:1px solid var(--chat-line);border-radius:12px;background:#fff;box-shadow:0 7px 20px #071b2b12}.vr-contact-icon{grid-row:1/2;width:46px;height:46px;border-radius:50%;background:#fff2e5;color:var(--chat-accent);display:grid;place-items:center;font-size:21px}.vr-contact-card>div:nth-child(2){display:flex;flex-direction:column;justify-content:center}.vr-contact-card small{color:#8a7767;font:700 8px/1.3 Manrope;letter-spacing:1px}.vr-contact-card strong{margin-top:4px;color:#17212b;font:700 13px/1.3 Manrope}.vr-call-button{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;border-radius:9px;background:var(--chat-accent);color:#fff!important;font:700 10px Manrope;text-decoration:none!important;box-shadow:0 7px 16px #b8621228;transition:.2s}.vr-call-button:hover{background:#914509;transform:translateY(-1px)}.vr-contact-secondary{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:34px;border:1px solid #25a85b;border-radius:9px;color:#238d51!important;font:700 9px Manrope;text-decoration:none!important}.vr-chat.dark .vr-contact-card{background:#17232d}.vr-chat.dark .vr-contact-card strong{color:#fff}.vr-chat.dark .vr-contact-icon{background:#ffffff10}
.vr-smart-replies{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 14px;padding-left:2px;animation:vrIn .25s ease}.vr-smart-replies button{min-height:32px;padding:7px 11px;border:1px solid var(--chat-accent);border-radius:17px;background:var(--chat-bg);color:var(--chat-accent);font:600 9px/1.25 Manrope;cursor:pointer;transition:background .2s,color .2s,transform .2s}.vr-smart-replies button:hover,.vr-smart-replies button:focus-visible{background:var(--chat-accent);color:#fff;transform:translateY(-1px)}
@media(max-width:520px){.vr-smart-replies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.vr-smart-replies button{width:100%;padding:6px 8px}.vr-smart-replies button:last-child:nth-child(odd){grid-column:1/-1}}
.vr-guided-form{margin:2px 0 14px;padding:12px;border:1px solid var(--chat-line);border-radius:12px;background:var(--chat-panel);animation:vrIn .25s ease}.vr-guided-form label{display:flex;flex-direction:column;gap:7px;color:var(--chat-muted);font:700 9px/1.3 Manrope;letter-spacing:.2px}.vr-guided-form input{width:100%;height:42px;padding:0 11px;border:1px solid var(--chat-line);border-radius:9px;background:var(--chat-bg);color:var(--chat-text);font:500 11px Manrope;outline:none;color-scheme:light}.vr-chat.dark .vr-guided-form input{color-scheme:dark}.vr-guided-form input:focus{border-color:var(--chat-accent);box-shadow:0 0 0 3px #b8621214}.vr-guided-form input[type="date"]{cursor:pointer}.vr-guided-form button{width:100%;min-height:40px;margin-top:9px;border:0;border-radius:9px;background:var(--chat-accent);color:#fff;font:700 10px Manrope;cursor:pointer;transition:.2s}.vr-guided-form button:hover,.vr-guided-form button:focus-visible{background:#914509;transform:translateY(-1px)}
.vr-reservation-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0 3px;padding:12px;border:1px solid var(--chat-line);border-radius:11px;background:var(--chat-bg)}.vr-reservation-actions strong{grid-column:1/-1;color:var(--chat-text);font:700 10px Manrope}.vr-reservation-actions button{min-height:38px;padding:8px;border:1px solid var(--chat-accent);border-radius:9px;background:var(--chat-accent);color:#fff;font:700 9px/1.3 Manrope;cursor:pointer;transition:.2s}.vr-reservation-actions button:last-child{background:transparent;color:var(--chat-accent)}.vr-reservation-actions button:hover,.vr-reservation-actions button:focus-visible{transform:translateY(-1px);box-shadow:0 4px 12px #00000018}
.vr-date-heading{display:flex;flex-direction:column;gap:3px;margin-bottom:11px}.vr-date-heading strong{color:var(--chat-text);font:700 12px/1.3 Manrope}.vr-date-heading span{color:var(--chat-muted);font:500 9px/1.4 Manrope}.vr-date-range{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vr-date-range label{padding:9px;border:1px solid var(--chat-line);border-radius:10px;background:var(--chat-bg);color:var(--chat-text)}.vr-date-range label>span{font-size:14px}.vr-date-range input{height:38px;padding:0 6px;font-size:9px}.vr-date-range input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85}
@media(max-width:380px){.vr-date-range{grid-template-columns:1fr}.vr-date-range input{font-size:11px}}
@keyframes vrIn{from{opacity:0;transform:translateY(7px)}}@keyframes vrDot{50%{opacity:.3;transform:translateY(-2px)}}
@keyframes vrChatPulse{0%{opacity:.78;transform:scale(.98)}70%,100%{opacity:0;transform:scale(1.48)}}@keyframes vrBotBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes vrLauncherGlow{0%,100%{box-shadow:0 10px 27px #3b1c0848}50%{box-shadow:0 13px 38px #c963205e}}
@media(max-width:900px){.vr-chat-launcher{right:15px;bottom:198px}.vr-chat-launcher-label{display:none}}
@media(max-width:520px){.vr-chat{inset:0;width:100%;height:100%;max-height:none;border-radius:0}.vr-chat-launcher{width:54px;height:54px}.vr-bubble{max-width:90%}.vr-quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:8px 10px}.vr-quick button{min-height:30px;padding:5px 6px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.vr-chat,.vr-chat-launcher,.vr-message{transition:none;animation:none}.vr-chat-launcher:before,.vr-chat-launcher .vr-bot-glyph{animation:none}}

/* Mensaje de bienvenida del asistente */
.vr-welcome{position:fixed;right:24px;bottom:98px;z-index:119;width:min(390px,calc(100vw - 32px));max-height:calc(100vh - 125px);overflow:auto;border:1px solid #ffffff8c;border-radius:18px;background:#fffffff2;color:#17212b;box-shadow:0 22px 65px #071b2b45;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-family:Manrope,Arial,sans-serif;opacity:0;visibility:hidden;transform:translate3d(0,28px,0) scale(.97);transition:opacity .35s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility .35s}
.vr-welcome.visible{opacity:1;visibility:visible;transform:translate3d(0,0,0) scale(1)}.vr-welcome.dark{background:#101820f2;color:#f0f3f5;border-color:#ffffff1c}.vr-welcome-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:11px;padding:13px 14px;background:linear-gradient(125deg,#061a2af5,#12354bf5);color:#fff;border-radius:17px 17px 0 0}.vr-welcome-avatar{position:relative;flex:0 0 auto}.vr-welcome-avatar img{display:block;width:43px;height:43px;border-radius:50%;object-fit:contain;background:#fff}.vr-welcome-avatar i{position:absolute;right:0;bottom:0;width:11px;height:11px;border:2px solid #0b2436;border-radius:50%;background:#38ca72}.vr-welcome-head>div:nth-child(2){min-width:0;flex:1}.vr-welcome-head strong{display:block;font-size:13px}.vr-welcome-head span{display:block;margin-top:2px;color:#c8d7df;font-size:9px}.vr-welcome-close{width:31px;height:31px;border:0;border-radius:50%;background:#ffffff12;color:#fff;font-size:18px;cursor:pointer;transition:.2s}.vr-welcome-close:hover,.vr-welcome-close:focus-visible{background:#ffffff2b;transform:rotate(6deg)}
.vr-welcome-body{padding:16px}.vr-welcome-body p{margin:0 0 10px;font-size:11px;line-height:1.55}.vr-welcome-greeting{font-size:13px!important;color:#182736}.vr-welcome.dark .vr-welcome-greeting{color:#fff}.vr-welcome-body ul{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;margin:8px 0 12px;padding:0;list-style:none}.vr-welcome-body li{font-size:10px;color:#66717a}.vr-welcome.dark .vr-welcome-body li{color:#b7c0c7}.vr-welcome-question{margin-bottom:11px!important;color:#9d4d0d}
.vr-welcome-quick{display:grid;grid-template-columns:1fr 1fr;gap:7px}.vr-welcome-quick button{position:relative;overflow:hidden;display:flex;align-items:center;gap:7px;min-height:39px;padding:8px 10px;border:1px solid #e6d7c7;border-radius:10px;background:#fbf7f1;color:#3e352e;font:600 9px Manrope;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.vr-welcome.dark .vr-welcome-quick button{background:#17232d;color:#eef1f3;border-color:#31404b}.vr-welcome-quick button:hover,.vr-welcome-quick button:focus-visible{transform:translateY(-2px) scale(1.015);border-color:#b86212;box-shadow:0 7px 18px #7b3a0c18}.vr-welcome-quick button:last-child{grid-column:1/-1}.vr-welcome-quick button:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#b8621235;transform:translate(-50%,-50%) scale(0);opacity:0}.vr-welcome-quick button.ripple:after{animation:vrRipple .5s ease-out}
.vr-welcome-form{display:flex;gap:7px;margin-top:11px}.vr-welcome-form input{min-width:0;flex:1;height:40px;padding:0 12px;border:1px solid #e2d8ce;border-radius:11px;background:#fff;color:#17212b;font:10px Manrope;outline:none}.vr-welcome.dark .vr-welcome-form input{background:#17232d;color:#fff;border-color:#31404b}.vr-welcome-form input:focus{border-color:#b86212;box-shadow:0 0 0 3px #b8621215}.vr-welcome-form button{flex:0 0 40px;border:0;border-radius:11px;background:#b86212;color:#fff;cursor:pointer;transition:.2s}.vr-welcome-form button:hover{background:#8f430c;transform:scale(1.04)}
@keyframes vrRipple{0%{opacity:1;transform:translate(-50%,-50%) scale(0)}100%{opacity:0;transform:translate(-50%,-50%) scale(25)}}
@media(max-width:520px){.vr-welcome{right:12px;bottom:82px;width:calc(100vw - 24px);max-height:calc(100dvh - 100px)}.vr-welcome-body{padding:14px}.vr-welcome-body ul{grid-template-columns:1fr 1fr}.vr-welcome-quick button{min-height:38px}}
@media(max-width:360px){.vr-welcome-body ul,.vr-welcome-quick{grid-template-columns:1fr}.vr-welcome-quick button:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.vr-welcome,.vr-welcome-quick button,.vr-welcome-form button{transition:none}.vr-welcome-quick button.ripple:after{animation:none}}

/* Aislamiento frente al encabezado principal de la página */
header.vr-chat-head{position:relative;inset:auto;top:auto;right:auto;bottom:auto;left:auto;z-index:2;width:auto}
header.vr-welcome-head{position:sticky;inset:auto;top:0;right:auto;bottom:auto;left:auto;z-index:2;width:auto}

/* Confirmación para finalizar la conversación */
.vr-end-confirm{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#071b2ba8;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:vrEndFade .22s ease}.vr-end-confirm-card{width:min(330px,100%);padding:25px 22px;border:1px solid var(--chat-line);border-radius:16px;background:var(--chat-bg);color:var(--chat-text);box-shadow:0 20px 55px #0004;text-align:center}.vr-end-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 13px;border-radius:50%;background:#e9f7ef;color:#21844f;font-size:20px;font-weight:700}.vr-end-confirm-card strong{display:block;font:600 16px Manrope}.vr-end-confirm-card p{margin:8px 0 18px;color:var(--chat-muted);font-size:11px;line-height:1.55}.vr-end-confirm-card>div{display:grid;gap:8px}.vr-end-confirm-card button{min-height:40px;padding:9px 13px;border:1px solid var(--chat-accent);border-radius:10px;background:var(--chat-accent);color:#fff;font:600 10px Manrope;cursor:pointer;transition:.2s}.vr-end-confirm-card button:hover,.vr-end-confirm-card button:focus-visible{transform:translateY(-1px);box-shadow:0 7px 17px #7b3a0c2c}.vr-end-confirm-card button+button{background:transparent;color:var(--chat-accent)}
@keyframes vrEndFade{from{opacity:0}}
