.contact-dock { position: fixed; z-index: 45; right: calc(var(--edge) + 18px); bottom: 92px; display: flex; flex-direction: column; gap: 8px; list-style: none; margin: 0; padding: 0; }
.contact-dock__link { position: relative; display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; background: var(--anthrazit); color: var(--weiss); text-decoration: none; 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: 24px; height: 24px; }
.contact-dock__label { position: absolute; right: calc(100% + 10px); top: 50%; transform: translate(6px, -50%); white-space: nowrap; background: var(--anthrazit); color: var(--weiss); font: 500 15px/1 var(--f-head); padding: 11px 14px; 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 { right: 12px; bottom: 64px; gap: 6px; }
  .contact-dock__link { width: 38px; height: 38px; }
  .contact-dock__link svg { width: 19px; height: 19px; }
  .contact-dock__item--consultation { display: none; }
}
@media (hover: none) {
  .contact-dock__label { display: none; }
}
