.contact-dock { position: sticky; z-index: 45; bottom: calc(var(--dock-bottom, 16px) + var(--dock-size, 54px) + var(--dock-gap, 10px)); display: flex; flex-direction: column; gap: var(--dock-gap, 10px); list-style: none; margin: 0; padding: 0; }
.contact-dock__link { position: relative; display: flex; align-items: center; justify-content: center; width: var(--dock-size, 54px); height: var(--dock-size, 54px); border-radius: 50%; background: var(--gruen); color: var(--weiss); text-decoration: none; box-shadow: 0 2px 10px rgb(0 0 0 / .18); transition: background-color .3s var(--ease); }
.contact-dock__link:hover, .contact-dock__link:focus-visible { background: var(--rot); }
.contact-dock__link:focus-visible { outline: 2px solid var(--rot); outline-offset: 3px; }
.contact-dock__link svg { width: calc(var(--dock-size, 54px) * .44); height: calc(var(--dock-size, 54px) * .44); }
.contact-dock__label { position: absolute; right: calc(100% + 10px); top: 50%; transform: translate(6px, -50%); white-space: nowrap; border-radius: 100px; background: var(--anthrazit); color: var(--weiss); font: 500 15px/1 var(--f-head); padding: 11px 16px; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .25s var(--ease), transform .25s var(--ease), visibility 0s linear .25s; }
.contact-dock__link:hover .contact-dock__label, .contact-dock__link:focus-visible .contact-dock__label { opacity: 1; visibility: visible; transform: translate(0, -50%); transition: opacity .25s var(--ease), transform .25s var(--ease), visibility 0s; }
.contact-dock__link.is-dismissed .contact-dock__label { opacity: 0; visibility: hidden; }
html.reduce-motion .contact-dock__label { transition-duration: .01s; }
html.reduce-motion .contact-dock__label, html.reduce-motion .contact-dock__link:is(:hover, :focus-visible) .contact-dock__label { transform: translate(0, -50%); }
@media (max-width: 639.98px) {
  .contact-dock__item--consultation { display: none; }
}
@media (hover: none) {
  .contact-dock__label { display: none; }
}
