.va{display:flex;flex-direction:column;background:#0e0e10;color:#fff;border:1.5px solid #2b2b31;border-radius:16px;overflow:hidden;font-family:Inter,system-ui,sans-serif;min-height:0}
.vah{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(120deg,#e60000,#8e0000)}
.vah img{width:40px;height:40px;object-fit:contain;filter:brightness(0) invert(1)}
.vah b{display:block;font:400 22px/1 'Bebas Neue',Impact,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.vah span{display:block;font-size:11.5px;opacity:.9;margin-top:2px}
.val{flex:1 1 auto;min-height:92px;max-height:230px;overflow-y:auto;padding:12px 12px 4px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch}
.vam{max-width:88%;padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.42}
.vam.bot{align-self:flex-start;background:#1c1c21;border:1px solid #2b2b31;border-bottom-left-radius:4px}
.vam.me{align-self:flex-end;background:#e60000;color:#fff;border-bottom-right-radius:4px}
.vam a{color:#ff8b8b}
.vam .vago{display:block;margin-top:8px;font-weight:700;color:#fff;text-decoration:none;background:#e60000;border-radius:9px;padding:7px 10px;text-align:center}
.vam .vaalso{display:block;margin-top:8px;width:100%;background:none;border:1px solid #44444c;color:#e4e4ea;border-radius:9px;padding:7px 10px;font:600 13px Inter,sans-serif;cursor:pointer;text-align:left}
.vac{display:flex;gap:6px;overflow-x:auto;padding:6px 12px;scrollbar-width:none}.vac::-webkit-scrollbar{display:none}
.vac button{flex:0 0 auto;background:#1c1c21;border:1px solid #3a3a42;color:#e4e4ea;border-radius:999px;padding:7px 12px;font:600 12.5px Inter,sans-serif;cursor:pointer;white-space:nowrap}
.vac button:hover{border-color:#e60000;color:#fff}
.vaf{display:flex;gap:8px;padding:8px 12px 6px}
.vaf input{flex:1 1 auto;min-width:0;height:44px;border-radius:11px;border:1.5px solid #3a3a42;background:#fff;color:#141416;padding:0 12px;font:500 16px Inter,sans-serif}
.vaf input:focus{outline:2px solid #e60000;outline-offset:1px}
.vaf button{flex:0 0 auto;height:44px;padding:0 18px;border:0;border-radius:11px;background:#e60000;color:#fff;font:700 15px Inter,sans-serif;cursor:pointer}
.van{margin:0;padding:2px 12px 10px;font-size:11px;line-height:1.35;color:#9a9aa3}
/* the floating window */
.vabtn{position:fixed;right:14px;bottom:calc(var(--bar,0px) + 14px);z-index:60;display:flex;align-items:center;gap:8px;height:52px;padding:0 16px 0 8px;border:0;border-radius:999px;background:#e60000;color:#fff;font:700 14px Inter,sans-serif;cursor:pointer;box-shadow:0 8px 26px rgba(0,0,0,.45)}
.vabtn img{width:38px;height:38px;object-fit:contain;filter:brightness(0) invert(1)}
.vabtn.open{background:#141416}
.vawin{position:fixed;right:14px;bottom:calc(var(--bar,0px) + 76px);z-index:61;width:min(380px,calc(100vw - 28px));box-shadow:0 18px 50px rgba(0,0,0,.6);border-radius:16px}
.vawin .va .val{height:min(300px,40vh);max-height:none}
.vawin .vax{position:absolute;right:8px;top:8px;z-index:2;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:22px;line-height:1;cursor:pointer}
@media(max-width:760px){.vabtn span{display:none}.vabtn{padding:0 7px;right:10px}.vawin{right:10px;left:10px;width:auto}}
@media print{.vabtn,.vawin{display:none}}

/* home: the assistant sits on top of the FAQ rail */
.chatfaq{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.chatfaq>*{min-width:0}
.chatfaq .va .val{height:min(210px,26svh);max-height:none;min-height:0}
.chatfaq .van{display:none}
@media(min-width:761px){
  .chatfaq .va{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:'h h' 'l c' 'l f' 'l n'}
  .chatfaq .vah{grid-area:h}.chatfaq .va .val{grid-area:l;height:min(330px,36vh);max-height:none}
  .chatfaq .vac{grid-area:c;flex-wrap:wrap;overflow:visible;align-content:flex-start;padding-top:14px}
  .chatfaq .vaf{grid-area:f;align-self:end}.chatfaq .van{display:block;grid-area:n}
}
/* home: the reviews close the page under the call to book */
.closerev .revbox{background:#fff;border-radius:14px;padding:6px}
.closerev .revbox iframe{display:block;width:100%;height:min(400px,46vh);min-height:0;border:0;border-radius:10px}
.mrev{display:none}
@media(max-width:760px){.closerev .revbox{display:none}.mrev{display:block}.mrev button{width:100%;height:48px;border:1.5px solid #fff;border-radius:12px;background:#141416;color:#fff;font:700 15px Inter,sans-serif;cursor:pointer;text-decoration:none;text-align:center}}

/* the home panel: the conversation on the left, your questions on the right, with a clear divide */
@media(min-width:761px){
  .chatfaq .va{background:linear-gradient(90deg,#0e0e10 0,#0e0e10 calc(53.49% - 1px),#34343c calc(53.49% - 1px),#34343c 53.49%,#18181d 53.49%,#18181d 100%)}
  .chatfaq .vah{background:linear-gradient(120deg,#e60000,#8e0000)}
  .chatfaq .va .val{padding:14px 16px 10px}
  .chatfaq .va .val::before{content:"Answers";display:block;font:700 10.5px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8d8d97;margin-bottom:2px}
  .chatfaq .vac{padding:14px 16px 6px}
  .chatfaq .vac::before{content:"Ask a question";flex:0 0 100%;font:700 10.5px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8d8d97;margin-bottom:2px}
  .chatfaq .vaf{padding:8px 16px 6px}.chatfaq .van{padding:2px 16px 12px}
}
