.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.faq-chat{position:fixed;z-index:700;left:26px;bottom:24px;font-family:'DM Sans',Arial,sans-serif;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px) scale(.985);transition:opacity .48s var(--ease),transform .48s var(--ease),visibility 0s linear .48s}
.faq-chat.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:.04s,.04s,0s}
.faq-chat__launcher{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 15px;border:1px solid rgba(241,239,233,.55);background:rgba(9,9,9,.9);color:var(--paper);font:500 9px/1 'DM Mono',monospace;letter-spacing:.12em;box-shadow:0 12px 32px rgba(0,0,0,.38);backdrop-filter:blur(10px);transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.faq-chat__launcher svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.faq-chat__launcher:hover{background:var(--paper);color:var(--ink);transform:translateY(-3px)}
.faq-chat__panel{position:absolute;left:0;bottom:62px;display:flex;flex-direction:column;width:min(390px,calc(100vw - 32px));height:min(620px,calc(100dvh - 120px));border:1px solid rgba(241,239,233,.36);background:#101010;box-shadow:0 30px 80px rgba(0,0,0,.64);opacity:0;visibility:hidden;transform:translateY(16px) scale(.98);transform-origin:bottom left;transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s}
.faq-chat.is-open .faq-chat__panel{opacity:1;visibility:visible;transform:none}
.faq-chat__header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line)}.faq-chat__header div{display:grid;gap:7px}.faq-chat__header span{color:#858585;font:8px/1 'DM Mono',monospace;letter-spacing:.12em}.faq-chat__header strong{font:500 17px/1 'Oswald',sans-serif;letter-spacing:.03em}.faq-chat__close{width:40px;height:40px;margin:-9px -9px 0 0;font-size:24px;line-height:1}
.faq-chat__messages{flex:1;display:flex;flex-direction:column;gap:11px;padding:18px;overflow-y:auto;overscroll-behavior:contain}.faq-chat__message{max-width:88%;margin:0;padding:12px 14px;font-size:12px;line-height:1.55}.faq-chat__message--answer{align-self:flex-start;border:1px solid var(--line);background:#171717;color:#d7d4cc}.faq-chat__message--question{align-self:flex-end;background:var(--paper);color:var(--ink)}
.faq-chat__booking{align-self:flex-start;padding:9px 0;border-bottom:1px solid var(--paper);font:500 9px/1.3 'DM Mono',monospace;letter-spacing:.08em}
.faq-chat__suggestions{display:flex;gap:7px;padding:0 18px 14px;overflow-x:auto;scrollbar-width:none}.faq-chat__suggestions::-webkit-scrollbar{display:none}.faq-chat__suggestions button{flex:0 0 auto;padding:9px 11px;border:1px solid rgba(241,239,233,.32);color:#c9c6bf;font:9px/1.2 'DM Mono',monospace;letter-spacing:.04em;transition:background .25s,color .25s}.faq-chat__suggestions button:hover{background:var(--paper);color:var(--ink)}
.faq-chat__form{display:grid;grid-template-columns:1fr 48px;border-top:1px solid var(--line)}.faq-chat__form input{min-width:0;padding:16px 18px;border:0;background:#0c0c0c;color:var(--paper);font:12px/1.3 'DM Sans',sans-serif;outline:0}.faq-chat__form input::placeholder{color:#696969;font:9px 'DM Mono',monospace;letter-spacing:.07em}.faq-chat__form button{border-left:1px solid var(--line);font-size:20px}.faq-chat__form button:hover{background:var(--paper);color:var(--ink)}.faq-chat__note{margin:0;padding:10px 18px;border-top:1px solid var(--line);color:#686868;font:8px/1.4 'DM Mono',monospace;letter-spacing:.04em}
body.is-locked .faq-chat{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px) scale(.985);transition:none}
@media(max-width:700px){.faq-chat{left:0;width:100vw;bottom:calc(16px + env(safe-area-inset-bottom,0px))}.faq-chat__launcher{margin-left:6vw;width:154px;min-width:154px;height:54px;padding:0 16px;justify-content:flex-start}.faq-chat__panel{position:fixed;right:auto;bottom:calc(82px + env(safe-area-inset-bottom,0px));left:4vw;width:92vw;min-width:0;height:min(720px,calc(100dvh - 90px))}.faq-chat__messages{padding:18px 16px}.faq-chat__message{max-width:96%;font-size:13px;line-height:1.6}.faq-chat__message--answer{max-width:100%}.faq-chat__suggestions{padding-right:16px;padding-left:16px}.faq-chat__launcher span{font-size:8px}body:has(.mobile-booking.is-visible) .faq-chat__launcher{width:54px;min-width:54px;margin-left:6vw;padding:0;justify-content:center}body:has(.mobile-booking.is-visible) .faq-chat__launcher span{display:none}.mobile-booking.is-visible{left:calc(6vw + 66px)}}
/* The full-width mobile wrapper must not intercept taps on the booking button. */
@media(max-width:700px){
  .faq-chat.is-visible{pointer-events:none}
  body:not(.is-locked) .faq-chat.is-visible .faq-chat__launcher,
  body:not(.is-locked) .faq-chat.is-visible.is-open .faq-chat__panel{pointer-events:auto}
}
@media(prefers-reduced-motion:reduce){.faq-chat,.faq-chat__launcher,.faq-chat__panel{transition:none}.faq-chat__launcher:hover{transform:none}}
