.faq-launcher{position:fixed;right:24px;bottom:24px;z-index:110;display:flex;align-items:center;gap:.6rem;min-height:48px;padding:.7rem 1.1rem;border:1px solid #1a435b;border-radius:999px;background:var(--navy);color:#fff;box-shadow:0 6px 24px #061b2926;font:600 .875rem var(--font-body);cursor:pointer}.faq-launcher svg{width:20px;height:20px;stroke:#50cffa;fill:none;stroke-width:1.7}.faq-chat{position:fixed;inset:auto 24px 24px auto;margin:0;width:min(420px,calc(100vw - 32px));max-height:min(680px,calc(100dvh - 48px));padding:0;border:1px solid var(--line);border-radius:20px;background:white;color:var(--ink);box-shadow:0 20px 80px #061b2940;overflow:hidden}.faq-chat[open]{display:flex;flex-direction:column;animation:chat-open .2s ease-out}.faq-chat::backdrop{background:#061b294d;backdrop-filter:blur(2px)}.chat-header{display:flex;gap:1rem;align-items:start;justify-content:space-between;padding:1.25rem 1.25rem 1rem;background:var(--navy);color:#fff;flex-shrink:0}.chat-header h2{font-size:1.1rem;letter-spacing:-.02em;margin:0 0 .35rem}.chat-header p{font-size:.8125rem;line-height:1.5;color:#bdd6e6;margin:0}.chat-close{width:44px;height:44px;flex:0 0 44px;border:1px solid #507084;border-radius:50%;font-size:1.5rem;color:#fff;background:transparent;cursor:pointer}.chat-content{padding:1.25rem;overflow-y:auto;overscroll-behavior:contain}.chat-messages{display:flex;flex-direction:column;gap:.7rem}.chat-message{font-size:.9375rem;line-height:1.65;background:#edf5fa;border-radius:12px 12px 12px 2px;padding:.85rem 1rem;margin:0;overflow-wrap:anywhere}.chat-message.visitor{background:#d9f2fc;border-radius:12px 12px 2px 12px;margin-left:1.75rem;color:var(--navy)}.chat-questions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.chat-question{font:inherit;font-size:.8125rem;text-align:left;line-height:1.5;border:1px solid #c9dfeb;border-radius:10px;background:#fff;padding:.65rem .8rem;min-height:44px;cursor:pointer;color:#16506a}.chat-question:hover{background:var(--sky-tint);border-color:var(--sky)}.chat-form{padding:1rem 1.25rem;border-top:1px solid var(--line);background:#fff;flex-shrink:0}.chat-input-row{display:flex;gap:.5rem}.chat-input-row input{width:100%;min-width:0;font:inherit;font-size:1rem;padding:.75rem;border:1px solid #b7cdda;border-radius:10px;min-height:48px}.chat-send{border:0;border-radius:10px;min-width:48px;min-height:48px;background:var(--sky);color:var(--navy);font-size:1.4rem;cursor:pointer}.chat-apply{display:block;text-align:center;font-weight:600;font-size:.875rem;margin-top:.9rem;padding:.35rem}.chat-open{overflow:hidden}.chat-open .mobile-apply{display:none!important}.booking-next{padding:1.25rem;margin-top:1rem;border:1px solid #b4dbc4;border-radius:12px;background:#eff9f3}.booking-next p{color:var(--ink);font-size:1rem}.booking-next small{display:block;font-size:.875rem;color:var(--slate);margin-top:.8rem}
@keyframes chat-open{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:700px){.faq-launcher{right:16px;bottom:calc(88px + env(safe-area-inset-bottom,0px))}.faq-chat{inset:auto 12px 12px;margin:0;width:calc(100vw - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px));border-radius:18px;padding-bottom:env(safe-area-inset-bottom,0px)}.chat-header{padding:1rem}.chat-content{padding:1rem}.chat-form{padding:1rem}.chat-message{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.faq-chat[open]{animation:none}}
@media print{.faq-chat,.faq-launcher{display:none!important}}
.faq-launcher[hidden],.booking-next[hidden]{display:none!important}
