.target-cursor-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  pointer-events: none;
  z-index: 10000;
}

.target-cursor-dot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 5px;
  height: 5px;
  background: #e8b04a;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  will-change: transform;
}

.target-cursor-corner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 12px;
  border: 2px solid #38bdf8;
  will-change: transform;
}

.corner-tl {
  transform: translate(-150%, -150%);
  border-right: none;
  border-bottom: none;
}

.corner-tr {
  transform: translate(50%, -150%);
  border-left: none;
  border-bottom: none;
}

.corner-br {
  transform: translate(50%, 50%);
  border-left: none;
  border-top: none;
}

.corner-bl {
  transform: translate(-150%, 50%);
  border-right: none;
  border-top: none;
}

/* Тёмные секции — золото и молочный для контраста */
.contact .target-cursor-corner,
.footer ~ .target-cursor-wrapper .target-cursor-corner {
  border-color: #e8b04a;
}

.target-cursor-wrapper--on-dark .target-cursor-corner {
  border-color: #e8b04a;
}

.target-cursor-wrapper--on-dark .target-cursor-dot {
  background: #38bdf8;
}

html.has-custom-cursor,
html.has-custom-cursor * {
  cursor: none !important;
}

@media (max-width: 768px), (hover: none), (pointer: coarse) {
  .target-cursor-wrapper {
    display: none !important;
  }

  html.has-custom-cursor,
  html.has-custom-cursor * {
    cursor: auto !important;
  }
}
