/* TMW Floating Buttons v0.3.0 */

/* Admin Tabs */
.tab-content { display: none; }
.tab-content.active { display: block; }
.nav-tab-wrapper { margin-bottom: 20px; }

/* Frontend Styles */
.floating-cta {
  --pad-right: 20px; --pad-bottom: 20px;
  position: fixed; right: var(--pad-right); bottom: calc(max(var(--pad-bottom), env(safe-area-inset-bottom)));
  display: flex; flex-direction: column; gap: 14px; align-items: flex-end; z-index: 99999; pointer-events: none;
}
.floating-cta .cta-label {
  pointer-events: auto; display: grid; place-items: center; height: 38px; min-width: 96px; padding: 0 14px;
  font-weight: 700; font-size: 14px; letter-spacing: .2px; border-radius: 999px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .18); transition: background .18s; cursor: pointer;
}
.floating-cta .cta-btn {
  pointer-events: auto; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
  margin-left: auto; text-decoration: none; box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
  transition: width .24s, border-radius .24s, background .18s, box-shadow .18s, color .18s, transition-delay 0s;
  overflow: hidden; font-size: 15px; line-height: 1;
}
.floating-cta .cta-ico, .floating-cta .cta-text { grid-column: 1 / -1; grid-row: 1 / -1; }
.floating-cta .cta-text {
  opacity: 0; font-weight: 700; letter-spacing: .2px; max-width: 0;
  transition: opacity .14s ease .06s, max-width .24s;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.floating-cta .brand-ico { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 92%; height: 92%; object-fit: contain; display: block; }
.floating-cta .cta-ico { position: relative; width: 46px; height: 46px; }
.floating-cta .cta-btn:hover, .floating-cta .cta-btn:focus-visible, .floating-cta .cta-label:hover ~ .cta-btn {
  width: 208px; border-radius: 999px; grid-template-columns: 52px auto;
  column-gap: 12px; padding-inline: 16px; justify-items: start; align-items: center;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
}
.floating-cta .cta-btn:hover, .floating-cta .cta-btn:focus-visible { transition-delay: 0s; }
.floating-cta .cta-btn:hover .cta-text, .floating-cta .cta-btn:focus-visible .cta-text, .floating-cta .cta-label:hover ~ .cta-btn .cta-text { opacity: 1; max-width: 200px; }
.floating-cta .cta-btn:hover .cta-ico, .floating-cta .cta-btn:hover .cta-text, .floating-cta .cta-btn:focus-visible .cta-ico, .floating-cta .cta-btn:focus-visible .cta-text, .floating-cta .cta-label:hover ~ .cta-btn .cta-ico, .floating-cta .cta-label:hover ~ .cta-btn .cta-text { grid-column: auto; }
.floating-cta .cta-label:hover ~ .cta-btn.cta-line { transition-delay: 0.08s; }
.floating-cta .cta-label:hover ~ .cta-btn.cta-call { transition-delay: 0.16s; }
.floating-cta .cta-label:hover ~ .cta-btn.cta-map { transition-delay: 0.24s; }