/* Accessible, lightweight sitewide travel-help launcher. No global page reflow. */
.vfSiteHelpLauncher{
  position:fixed;right:16px;bottom:18px;z-index:70;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:11px 17px;border:1px solid #cbdcf1;
  border-radius:28px;background:#0e5fb9;color:#fff;
  box-shadow:0 7px 22px rgba(8,36,80,.25);
  font:700 14px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;touch-action:manipulation;
}
.vfSiteHelpLauncher:hover{background:#094d99}
.vfSiteHelpLauncher:focus-visible,.vfSiteHelpTop button:focus-visible{
  outline:3px solid #f7a945;outline-offset:3px
}
.vfSiteHelpPanel{
  position:fixed;z-index:71;right:12px;bottom:78px;
  width:min(415px,calc(100vw - 24px));max-height:min(72vh,680px);
  max-height:min(72dvh,680px);
  overflow-y:auto;overscroll-behavior:contain;
  background:#fff;border:1px solid #c9daef;border-radius:18px;
  box-shadow:0 18px 48px rgba(12,40,75,.3);
  color:#193653;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.vfSiteHelpPanel[hidden]{display:none!important}
.vfSiteHelpTop{position:sticky;top:0;display:flex;justify-content:space-between;
  align-items:center;gap:8px;z-index:3;padding:10px 16px;
  background:#0e5fb9;color:white;font-size:14px;font-weight:750}
.vfSiteHelpTop button{border:0;background:transparent;color:inherit;font-size:27px;
  min-height:40px;min-width:40px;cursor:pointer;line-height:1}
.vfSiteHelpPanel #vf-concierge{margin:0;border:none;border-radius:0;
  padding:14px;background:#f2f7ff}
.vfSiteHelpPanel #vf-concierge h2{font-size:20px}
.vfSiteHelpPanel #vf-concierge .vf-chat-row{gap:8px}
.vfSiteHelpPanel #vf-concierge input{min-width:0;width:100%}
.vfSiteHelpPanel #vf-concierge .vf-contact{gap:6px}
@media(max-width:767px){
  .vfSiteHelpLauncher{right:12px;bottom:calc(80px + env(safe-area-inset-bottom,0px))}
  .vfSiteHelpPanel{right:8px;width:calc(100vw - 16px);
    bottom:calc(135px + env(safe-area-inset-bottom,0px));
    max-height:min(65vh,575px);max-height:min(65dvh,575px)}
}
@media(prefers-reduced-motion:reduce){.vfSiteHelpLauncher{scroll-behavior:auto}}

/* On homepage only, anchor Help within the search card rather than over
   the responsive flight-date controls (−3 to +3 days). */
.vfSiteHelpLauncher.vfInSearch{
  position:static;inset:auto;right:auto;bottom:auto;
  margin:10px 0 6px;z-index:auto;align-self:flex-start;
  min-height:44px;padding:10px 15px;
}
@media(max-width:767px){
  .vfSiteHelpLauncher.vfInSearch{position:static;right:auto;bottom:auto;
    margin:8px 0 6px;max-width:100%}
}

/* Mira replaces the generic Help glyph sitewide; existing chat behavior stays unchanged. */
.vfSiteHelpLauncher{gap:8px;padding:4px 14px 4px 5px;border-radius:32px;background:linear-gradient(120deg,#074da7,#086bce);box-shadow:0 6px 19px #004eab44;min-height:50px}
.vfMiraAvatar{display:block;flex:none;width:42px;height:42px;object-fit:cover;object-position:50% 30%;border:2px solid #fff;border-radius:50%;background:#d8ecff}
.vfMiraLabel{font-size:15px;font-weight:850;white-space:nowrap}.vfSiteHelpTop .vfMiraTopAvatar{width:38px;height:38px;object-fit:cover;object-position:center top;border-radius:50%;border:2px solid #d8f0ff}
.vfSiteHelpTop strong{flex:1;display:flex;flex-direction:column;line-height:1.25;font-size:16px}
.vfSiteHelpTop strong small{display:block;font-size:11px;font-weight:500;color:#e5f3ff;margin-top:2px}
.vfSiteHelpLauncher.vfInSearch{padding:4px 13px 4px 5px;min-height:50px}
@media(max-width:767px){.vfSiteHelpLauncher{right:11px}.vfSiteHelpPanel{max-height:min(70dvh,580px)}}
