/* Custom Cursor wie im Webflow-Original (.cursor / .cursor-dot-1 / .cursor-text) */
html.ap-cursor-active,
html.ap-cursor-active body,
html.ap-cursor-active a,
html.ap-cursor-active button,
html.ap-cursor-active input,
html.ap-cursor-active textarea,
html.ap-cursor-active select,
html.ap-cursor-active label {
  cursor: none !important;
}

/* Punkt und Kreis: Position (translate3d) liegt auf dem äusseren fixed-Element
   ohne Transition; die Grössen-Animation passiert auf dem inneren Element –
   so wächst der Kreis am Cursor aus dem Punkt heraus statt hereinzufliegen. */
.ap-cursor-dot,
.ap-cursor-circle {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease;
}

html.ap-cursor-active .ap-cursor-dot.is-visible,
html.ap-cursor-active .ap-cursor-circle.is-visible {
  opacity: 1;
}

.ap-cursor-dot {
  z-index: 100000;
  mix-blend-mode: difference;
}

.ap-cursor-dot-inner {
  width: 12px;
  height: 12px;
  margin: -6px 0 0 -6px;
  background: #ffffff;
  border-radius: 50%;
  transform: scale(1);
  transition: transform .25s ease-out;
}

.ap-cursor-dot.is-link .ap-cursor-dot-inner { transform: scale(1.7); }
.ap-cursor-dot.is-mehr .ap-cursor-dot-inner { transform: scale(0); }

.ap-cursor-circle {
  z-index: 99999;
}

.ap-cursor-circle-inner {
  width: 72px;
  height: 72px;
  margin: -36px 0 0 -36px;
  background: #141517;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transform: scale(0);
  transition: transform .3s ease-out;
}

.ap-cursor-circle.is-mehr .ap-cursor-circle-inner { transform: scale(1); }

.ap-cursor-text {
  color: #ffffff;
  font-family: 'Gtplanar', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: uppercase;
}
