/* tokens + reset */
.fbw{
  --fbw-gold:#DDB96F;--fbw-hover:#c9a458;--fbw-navy:#243447;--fbw-muted:#999;
  --fbw-line:rgba(36,52,71,.08);--fbw-radius:0 14px 0 14px;--fbw-radius-sm:0 8px 0 8px;--fbw-pill:100px;
  --fbw-x:24px;--fbw-y:24px;
  font-family:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
.fbw-r-round{--fbw-radius:18px;--fbw-radius-sm:10px}
.fbw-r-square{--fbw-radius:0;--fbw-radius-sm:0;--fbw-pill:0}
.fbw,.fbw *,.fbw *::before,.fbw *::after{box-sizing:border-box}
.fbw button{font-family:inherit;margin:0;text-transform:none;letter-spacing:normal;text-shadow:none}
.fbw p,.fbw b,.fbw span,.fbw img{margin:0;padding:0}

/* panel */
.fbw .fbw-panel{
  position:fixed;right:var(--fbw-x);bottom:var(--fbw-y);z-index:2147483000;width:296px;
  background:#fff;border:1px solid var(--fbw-line);border-radius:var(--fbw-radius);
  box-shadow:0 18px 44px -16px rgba(36,52,71,.5);padding:22px 24px 24px;
  opacity:0;transform:translateY(14px);pointer-events:none;visibility:hidden;
  transition:opacity .4s ease,transform .4s ease,visibility 0s .4s;
}
.fbw .fbw-panel.fbw-in{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition-delay:0s}
.fbw .fbw-top{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.fbw .fbw-top img{width:50px;height:50px;border-radius:50%;flex:none;display:block;max-width:none;object-fit:cover}
.fbw .fbw-top b{display:block;font-size:15px;font-weight:500;color:var(--fbw-navy);line-height:1.3}
.fbw .fbw-top span{display:block;font-size:12.5px;color:var(--fbw-muted);line-height:1.4}
.fbw .fbw-text{display:block;font-size:13.5px;font-weight:400;color:#5f6a75;line-height:1.6;margin:0 0 17px}
.fbw .fbw-go{
  display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  padding:14px;border:1px solid var(--fbw-gold);border-radius:var(--fbw-radius-sm);
  background:var(--fbw-gold);color:#fff;font:500 14.5px/1 "Poppins",system-ui,sans-serif;
  cursor:pointer;transition:background .25s,border-color .25s;
}
.fbw .fbw-go:hover{background:var(--fbw-hover);border-color:var(--fbw-hover)}
.fbw .fbw-close{
  position:absolute;top:-14px;right:-14px;width:38px;height:38px;
  display:grid;place-items:center;padding:0;cursor:pointer;
  border:2px solid #fff;border-radius:50%;background:var(--fbw-navy);color:#fff;
  box-shadow:0 6px 18px -6px rgba(36,52,71,.6);transition:background .25s,color .25s,transform .25s;
}
.fbw .fbw-close:hover{background:var(--fbw-gold);color:var(--fbw-navy);transform:rotate(90deg)}
.fbw .fbw-close svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round}

/* pill */
.fbw .fbw-pill{
  position:fixed;right:var(--fbw-x);bottom:var(--fbw-y);z-index:2147483000;
  display:inline-flex;align-items:center;gap:10px;padding:15px 26px;
  border:1px solid var(--fbw-gold);border-radius:var(--fbw-pill);background:var(--fbw-gold);color:#fff;
  font:500 15px/1 "Poppins",system-ui,sans-serif;cursor:pointer;
  box-shadow:0 14px 34px -14px rgba(36,52,71,.55);
  opacity:0;transform:translateY(14px);pointer-events:none;visibility:hidden;
  transition:opacity .35s ease,transform .35s ease,background .25s,border-color .25s,visibility 0s .35s;
}
.fbw .fbw-pill.fbw-in{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition-delay:0s}
.fbw .fbw-pill:hover{background:var(--fbw-hover);border-color:var(--fbw-hover)}
.fbw .fbw-pill svg,.fbw .fbw-go svg{width:17px;height:17px;fill:currentColor;flex:none}

/* booking modal */
.fbw .fbw-modal{
  position:fixed;inset:0;z-index:2147483600;display:flex;justify-content:center;align-items:flex-start;
  padding:48px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  background:rgba(36,52,71,.6);opacity:0;visibility:hidden;
  transition:opacity .3s ease,visibility 0s .3s;
}
.fbw .fbw-modal.fbw-in{opacity:1;visibility:visible;transition-delay:0s}
.fbw .fbw-modal__box{
  position:relative;width:100%;max-width:1000px;margin:auto 0;background:#fff;
  border-radius:var(--fbw-radius);box-shadow:0 30px 70px -20px rgba(0,0,0,.45);
  transform:translateY(14px);transition:transform .3s ease;
}
.fbw .fbw-modal.fbw-in .fbw-modal__box{transform:none}
.fbw .fbw-modal__close{z-index:2}
.fbw .fbw-modal__frame{position:relative;min-height:320px;border-radius:inherit;overflow:hidden}
.fbw .fbw-modal__frame::before{
  content:"";position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;
  border:3px solid var(--fbw-line);border-top-color:var(--fbw-gold);border-radius:50%;
  animation:fbw-spin .8s linear infinite;
}
.fbw .fbw-modal__frame.is-loaded::before{display:none}
.fbw .fbw-modal__frame iframe{position:relative;display:block;width:100%;height:680px;border:0;transition:height .25s ease}
html.fbw-lock,html.fbw-lock body{overflow:hidden}
@keyframes fbw-spin{to{transform:rotate(360deg)}}

/* left position */
.fbw--left .fbw-panel,.fbw--left .fbw-pill{right:auto;left:var(--fbw-x)}

@media (max-width:680px){
  .fbw--nomobile{display:none}
  .fbw .fbw-panel{right:16px;left:16px;bottom:16px;width:auto}
  .fbw .fbw-pill{right:16px;left:auto;bottom:16px}
  .fbw--left .fbw-pill{right:auto;left:16px}
  .fbw .fbw-modal{padding:64px 10px 16px}
  .fbw .fbw-modal__close{top:-50px;right:0}
}
@media (prefers-reduced-motion:reduce){
  .fbw .fbw-panel,.fbw .fbw-pill,.fbw .fbw-modal,.fbw .fbw-modal__box,.fbw .fbw-modal__frame iframe{transition:none}
}
