/* WhatsApp quote widget — button + notification bubble.
   Wrapper is the only position:fixed element so existing .wa-float
   left/bottom !important rules cannot pull the icon out of the card. */
.wa-widget{
  position:fixed;
  left:1.25rem;
  bottom:1.5rem;
  z-index:200;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  max-width:min(300px, calc(100vw - 2.5rem));
  pointer-events:none;
}
.wa-widget > *{ pointer-events:auto; }
.wa-widget .wa-float{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  z-index:1 !important;
  width:60px;
  height:60px;
  border-radius:50%;
  background:#25D366 !important;
  display:grid;
  place-items:center;
  box-shadow:0 12px 34px -8px rgba(37,211,102,.55);
  overflow:visible !important;
  animation:floaty 4s ease-in-out infinite;
}
.wa-widget .wa-float svg{ width:31px; height:31px; fill:#fff; display:block; }
.wa-widget__badge{
  position:absolute;
  top:-3px;
  right:-3px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:#E11D48;
  color:#fff;
  font:700 11px/20px "Outfit",system-ui,sans-serif;
  text-align:center;
  box-shadow:0 0 0 2px #fff;
}
.wa-widget.is-read .wa-widget__badge{ display:none; }

.wa-widget__bubble{
  position:relative;
  width:min(268px, calc(100vw - 5.5rem));
  padding:14px 16px 14px;
  border-radius:16px 16px 16px 6px;
  background:#fff;
  color:#14202B;
  box-shadow:0 14px 40px -12px rgba(15,23,42,.35), 0 0 0 1px rgba(15,23,42,.06);
  transform-origin:bottom left;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px) scale(.96);
  transition:opacity .28s ease, transform .28s ease, visibility .28s;
}
.wa-widget.is-open .wa-widget__bubble{
  opacity:1;
  visibility:visible;
  transform:none;
}
.wa-widget__close{
  position:absolute;
  top:8px;
  right:8px;
  width:28px;
  height:28px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#64748B;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.wa-widget__close:hover{ background:#F1F5F9; color:#0F172A; }
.wa-widget__kicker{
  margin:0 28px 4px 0;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#128C7E;
}
.wa-widget__title{
  margin:0 28px 6px 0;
  font-size:.98rem;
  font-weight:700;
  line-height:1.25;
  color:#0F172A;
}
.wa-widget__copy{
  margin:0 0 8px;
  font-size:.86rem;
  line-height:1.45;
  color:#334155;
}
.wa-widget__hours{
  margin:0 0 10px;
  font-size:.75rem;
  line-height:1.4;
  color:#64748B;
}
.wa-widget__cta{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.45rem .8rem;
  border-radius:999px;
  background:#25D366;
  color:#fff !important;
  font-size:.82rem;
  font-weight:700;
  text-decoration:none !important;
}
.wa-widget__cta:hover{ background:#1EBE5A; color:#fff !important; }

html.tbf-pax-open .wa-widget,
body.tbf-pax-open .wa-widget,
body.sr-drawer-active .wa-widget{
  display:none !important;
}

@media (max-width:720px){
  .wa-widget{
    left:1rem;
    bottom:1.25rem;
  }
}
@media (max-width:768px){
  html:has(.bottom-drawer) .wa-widget{
    bottom:calc(4.75rem + env(safe-area-inset-bottom, 0px));
  }
}
@media (prefers-reduced-motion:reduce){
  .wa-widget .wa-float{ animation:none; }
  .wa-widget__bubble{ transition:none; }
}
