/* =========================================================
   Booking funnel, 2026-08-26. Floating meeting button + Calendly embed.
   Site-wide. Brand tokens unchanged.
   ========================================================= */

/* ---- Persistent "Book a Meeting" control, bottom right ------------------
   The LeadConnector chat widget owns this corner too: a round bubble roughly
   60px wide sitting 24px from each edge, plus a wide greeting card that pops
   ABOVE the bubble. Stacking this button over the bubble put it straight
   underneath that greeting card, so instead it sits on the SAME baseline as
   the bubble and just to its left, where the card cannot reach it.
   If the chat widget is ever removed, set `right` back to 24px. */
.book-fab {
  position: fixed;
  right: 100px;
  bottom: 26px;
  /* The LeadConnector chat widget renders through shadow DOM with its own very high
     stacking order, and its greeting card covered this button at z-index 9998.
     Sit above it. The two still share the corner: see the note on `bottom`. */
  z-index: 2147483000;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 13px 20px;
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #fff;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);
  border-radius: var(--r-pill);
  box-shadow: 0 16px 40px -12px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.09) inset;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.book-fab:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 50px -12px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.14) inset;
}
.book-fab svg { width: 18px; height: 18px; flex: none; }

/* Phones: the chat bubble takes the corner, so drop to an icon-sized pill and
   sit clear of it rather than stacking two wide buttons. */
@media (max-width: 640px) {
  .book-fab {
    right: 78px;
    bottom: 20px;
    padding: 12px 14px;
    font-size: 13.5px;
  }
  .book-fab span { display: none; }
  .book-fab svg { width: 20px; height: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .book-fab, .book-fab:hover { transition: none; transform: none; }
}

/* ---- Calendly inline embed --------------------------------------------- */
.calendly-wrap {
  max-width: 900px;
  margin: 0 auto;
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-lg);
  overflow: hidden;
  background: #fff; /* Calendly renders light; this stops a dark flash before load */
}
.calendly-wrap .calendly-inline-widget { width: 100%; }

@media (max-width: 640px) {
  .calendly-wrap { border-radius: var(--r-md); }
}
