/* Only the floating contact dock. Existing forms and Jivo are unchanged. */
#bl-contact-dock {
  position: fixed;
  z-index: 900;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(var(--bl-chat-clearance, 112px), calc(96px + env(safe-area-inset-bottom)));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 52px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
#bl-contact-dock[hidden] { display: none; }
#bl-contact-dock .bl-contact-dock__link {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  padding: 10px;
  margin: 0;
  border: 1px solid #d6c5a7;
  border-radius: 50%;
  background: #fff;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 3px 14px rgba(39, 29, 17, .16);
  -webkit-tap-highlight-color: transparent;
}
#bl-contact-dock-options { display: flex; flex-direction: column; gap: 10px; }
#bl-contact-dock .bl-contact-dock__link--phone { background: #9c7a43; border-color: #9c7a43; }
#bl-contact-dock svg { display: block; flex: none; max-width: 100%; max-height: 100%; }
#bl-contact-dock a::before, #bl-contact-dock a::after { content: none; }
#bl-contact-dock a:focus-visible { outline: 3px solid #9c7a43; outline-offset: 4px; }
@media (hover: hover) { #bl-contact-dock a:hover { border-color: #9c7a43; box-shadow: 0 4px 18px rgba(39, 29, 17, .27); } }
@media (max-width: 767px) {
  #bl-contact-dock { right: max(12px, env(safe-area-inset-right)); width: 46px; gap: 8px; }
  #bl-contact-dock .bl-contact-dock__link { width: 46px; height: 46px; flex-basis: 46px; padding: 8px; }
  #bl-contact-dock-options { gap: 8px; }
}
/* Enhanced disclosure, with plain contact links as a no-JavaScript fallback. */
#bl-contact-dock.is-ready { height: 52px; }
#bl-contact-dock.is-ready #bl-contact-dock-options { position: absolute; bottom: calc(100% + 10px); right: 0; }
#bl-contact-dock.is-ready .bl-contact-dock__link {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(var(--bl-lift, 62px)) scale(.8);
  transition: opacity .3s ease, transform .4s cubic-bezier(.2,.7,.2,1), visibility 0s .4s;
}
#bl-contact-dock.is-open .bl-contact-dock__link {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  transition-delay: var(--bl-delay, 0ms), var(--bl-delay, 0ms), 0s;
}
#bl-contact-dock .bl-contact-dock__toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  margin: 0;
  padding: 0;
  border: 1px solid #9c7a43;
  border-radius: 50%;
  background: #9c7a43;
  color: #fff;
  box-shadow: 0 3px 14px rgba(39,29,17,.2);
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: background-color .25s ease, transform .15s ease;
}
#bl-contact-dock .bl-contact-dock__toggle[hidden] { display: none; }
#bl-contact-dock .bl-contact-dock__toggle::before,
#bl-contact-dock .bl-contact-dock__toggle::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1px solid rgba(156, 122, 67, .5);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
}
#bl-contact-dock .bl-contact-dock__toggle.is-rippling::before { animation: bl-contact-ripple 1.05s ease-out; }
#bl-contact-dock .bl-contact-dock__toggle.is-rippling::after { animation: bl-contact-ripple 1.05s .2s ease-out; }
#bl-contact-dock.is-open .bl-contact-dock__toggle::before,
#bl-contact-dock.is-open .bl-contact-dock__toggle::after { animation: none; }
@keyframes bl-contact-ripple {
  0% { transform: scale(1); opacity: .6; }
  100% { transform: scale(1.85); opacity: 0; }
}
#bl-contact-dock[data-symbol="1"] .bl-contact-dock__toggle,
#bl-contact-dock[data-symbol="2"] .bl-contact-dock__toggle { background: #fff; }
#bl-contact-dock.is-open .bl-contact-dock__toggle { background: #9c7a43; }
#bl-contact-dock .bl-contact-dock__toggle:active { transform: scale(.95); }
#bl-contact-dock .bl-contact-dock__toggle:focus-visible { outline: 3px solid #9c7a43; outline-offset: 4px; }
#bl-contact-dock .bl-contact-dock__symbol {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(9px) scale(.8);
  transition: opacity .28s ease, transform .35s cubic-bezier(.2,.7,.2,1);
  pointer-events: none;
}
#bl-contact-dock .bl-contact-dock__symbol.is-current { opacity: 1; transform: none; }
#bl-contact-dock.is-open .bl-contact-dock__symbol { opacity: 0; transform: scale(.8); }
#bl-contact-dock .bl-contact-dock__close { opacity: 0; transform: rotate(-45deg) scale(.8); transition: opacity .2s ease, transform .3s ease; }
#bl-contact-dock.is-open .bl-contact-dock__close { opacity: 1; transform: none; }
.button-floating-block.bl-contact-dock-obscured,
.button-floating-block2.bl-contact-dock-obscured { visibility: hidden !important; pointer-events: none !important; }
@media (max-width: 767px) {
  #bl-contact-dock.is-ready { height: 46px; }
  #bl-contact-dock .bl-contact-dock__toggle { width: 46px; height: 46px; flex-basis: 46px; }
  #bl-contact-dock.is-ready #bl-contact-dock-options { bottom: calc(100% + 8px); }
}
@media (prefers-reduced-motion: reduce) {
  #bl-contact-dock .bl-contact-dock__toggle::before,
  #bl-contact-dock .bl-contact-dock__toggle::after { animation: none !important; }
  #bl-contact-dock.is-ready .bl-contact-dock__link { transform: none; transition: opacity .12s ease, visibility 0s .12s; }
  #bl-contact-dock.is-open .bl-contact-dock__link { transition-delay: 0s; }
  #bl-contact-dock .bl-contact-dock__symbol,
  #bl-contact-dock .bl-contact-dock__close { transform: none; transition: opacity .12s ease; }
}
