/* R8-C: bestehender globaler Kopf und ein einziges Kontakt-Dock.
 * Redaktion: Kopfvorlage in Elementor, Kontaktdaten unter Yakobs Gestaltung.
 * Startansicht der Home bleibt unveraendert transparent. */
html.yl-scrolled body.yk.home .yk-header__bar {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 20px 0 0;
  background: var(--yl-white);
  box-shadow: 0 12px 34px rgba(20, 20, 34, .12);
}
html.yl-scrolled body.yk.home .yk-header__brand {
  padding: 0 44px 0 20px;
}
html.yl-scrolled body.yk.home .yk-header__brand::after {
  display: block;
  top: 0;
  clip-path: polygon(0 0, 86% 0, 100% 100%, 0 100%);
}
@media (min-width: 1200px) {
  html.yl-scrolled body.yk.home .yk-header__bar { padding-right: 15px; }
  html.yl-scrolled body.yk.home .yk-header__brand { padding: 0 70px 0 18px; }
  html.yl-scrolled body.yk.home .yk-header .yk-nav__link,
  html.yl-scrolled body.yk.home .yk-header .yk-nav__sub-toggle { color: var(--yl-ink); }
  html.yl-scrolled body.yk.home .yk-header .yk-nav__item.is-current > .yk-nav__link,
  html.yl-scrolled body.yk.home .yk-header .yk-nav__item.is-current-parent > .yk-nav__link { color: var(--yl-brand); }
}
@media (min-width: 1200px) and (max-width: 1279px) {
  html.yl-scrolled body.yk.home .yk-header .yk-header__brand { padding-right: 46px; }
}
@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
  html.yl-scrolled body.yk.home .yk-header .yk-nav__item > .yk-nav__link:hover { color: var(--yl-brand); }
}
/* Bewegliche Flaeche nur hinter dem Knopf: ruhiger Puls, solange geschlossen und sichtbar. */
body.yk .yk-dock {
  right: max(20px, env(safe-area-inset-right, 0px));
  bottom: calc(max(20px, env(safe-area-inset-bottom, 0px)) + var(--yr8-consent-lift, 0px));
}
body.yk .yk-dock__trigger {
  position: relative;
  isolation: isolate;
  min-height: 58px;
  padding: 0 23px 0 18px;
  gap: 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 32px;
  background: var(--yl-brand);
  color: var(--yl-white);
  box-shadow: 0 8px 24px rgba(49,0,1,.24);
  transition: transform 140ms var(--yl-ease), background-color 180ms ease;
}
body.yk .yk-dock__trigger::before,
body.yk .yk-dock__trigger::after {
  content: "";
  position: absolute;
  inset: -6px;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background: var(--yl-brand);
  opacity: .1;
}
body.yk .yk-dock__trigger::after {
  inset: -4px;
  opacity: 0;
}
body.yk .yk-dock:not(.is-banner):not(.is-einstieg):not(.is-am-fuss):not(.is-menu):not(.is-paused) .yk-dock__shell:not([open]) .yk-dock__trigger::after {
  animation: yr8-contact-pulse 2.2s cubic-bezier(.23,1,.32,1) infinite;
}
@keyframes yr8-contact-pulse {
  0% { opacity: .24; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.2, 1.35); }
}
body.yk .yk-dock__shell[open] .yk-dock__trigger { background: var(--yl-ink); }
body.yk .yk-dock__trigger-icon .yl-icon-mask { width: 23px; height: 23px; }
body.yk .yk-dock__panel {
  width: min(348px, calc(100vw - 40px));
  bottom: calc(100% + 16px);
  max-height: calc(100dvh - 112px - var(--yr8-consent-lift, 0px));
  overflow: auto;
  overscroll-behavior: contain;
  padding: 22px;
  border: 1px solid #e7e2dc;
  border-top: 3px solid var(--yl-brand);
  border-radius: 12px;
  box-shadow: 0 18px 54px rgba(20,20,34,.18);
}
body.yk .yk-dock__heading {
  padding-right: 36px;
  margin-bottom: 16px;
  font-size: 19px;
  line-height: 1.4;
}
body.yk .yk-dock__close {
  position: absolute;
  top: 12px;
  right: 10px;
  display: grid;
  place-items: center;
  width: 40px;
  min-height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--yl-ink);
  cursor: pointer;
}
body.yk .yk-dock__close::before {
  content: "";
  width: 21px;
  height: 21px;
  background: currentColor;
  -webkit-mask: var(--yl-i-schliessen) center / contain no-repeat;
  mask: var(--yl-i-schliessen) center / contain no-repeat;
}
body.yk .yk-dock__item { border-color: #eae5de; }
body.yk .yk-dock__action { min-height: 68px; gap: 13px; padding-block: 12px; }
body.yk .yk-dock__action-body { min-width: 0; }
body.yk .yk-dock__action-icon { width: 42px; height: 42px; border-radius: 50%; }
body.yk .yk-dock__action-label { font-size: 16px; }
body.yk .yk-dock__action-meta { overflow-wrap: anywhere; font-size: 13px; line-height: 1.5; }
body.yk .yk-dock__action--whatsapp .yk-dock__action-icon { background: #eaf2ed; color: #216c42; }
body.yk .yk-dock__action:focus-visible,
body.yk .yk-dock__close:focus-visible { outline: 2px solid var(--yl-brand); outline-offset: 3px; }
body.yk .yk-dock.is-menu { opacity: 0; visibility: hidden; pointer-events: none; }
html.yk-js body.yk .yk-dock__shell:not(.is-keyboard)[open] .yk-dock__panel {
  animation: yr8-contact-open 180ms var(--yl-ease) both;
}
@keyframes yr8-contact-open {
  from { opacity: 0; transform: translateY(6px) scale(.97); }
  to { opacity: 1; transform: none; }
}
@media (hover: hover) and (pointer: fine) {
  body.yk .yk-dock__close:hover { background: var(--yl-smoke); }
  body.yk .yk-dock__trigger:hover::after { animation-play-state: paused; }
}
body.yk .yk-dock__trigger:focus-visible::after { animation: none !important; }
html.yr3-ruhig body.yk .yk-dock__trigger::after,
html.yr3-ruhig body.yk .yk-dock__panel { animation: none !important; }
@media (max-width: 479px) {
  body.yk .yk-dock__trigger { min-height: 54px; padding-inline: 16px 20px; font-size: 14px; }
  body.yk .yk-dock__panel { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body.yk .yk-dock__trigger::after,
  html.yk-js body.yk .yk-dock__shell[open] .yk-dock__panel { animation: none !important; }
  body.yk .yk-dock, body.yk .yk-dock__trigger { transition: none; }
}


/* Der native Summary-Knopf bleibt auch ohne Skript der Schliessen-Weg. */
html:not(.yk-js) body.yk .yk-dock__close { display: none; }

html.yk-js body.yk .yk-dock__shell.is-keyboard[open] .yk-dock__panel { animation: none !important; }

/* R8 reaktiviert das bestehende Dock nach der ausdruecklichen Nutzerfreigabe.
   R4 hatte es global per !important versteckt. Druckausgabe bleibt unveraendert. */
@media screen {
  body.yk [data-yk-dock] { display: flex !important; }
}
@media (max-width: 479px) {
  body.yk .yk-dock__trigger-text {
    position: static !important; width: auto; height: auto; overflow: visible; clip: auto; white-space: nowrap;
  }
}

@media (max-width: 479px) {
  body.yk .yk-dock__trigger-text { clip-path: none; }
}
