/* ===== CUSTOM CURSOR ===== */
/* Animación de entrada del asterisco */
@keyframes cursorEntry {
  0%   { opacity: 0; transform: translate(-50%, -50%) rotate(0deg) scale(0.4); }
  60%  { opacity: 1; transform: translate(-50%, -50%) rotate(420deg) scale(1.15); }
  80%  { opacity: 1; transform: translate(-50%, -50%) rotate(390deg) scale(0.95); }
  100% { opacity: 1; transform: translate(-50%, -50%) rotate(405deg) scale(1); }
}

.cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  will-change: left, top;
  opacity: 0;
}

.cursor.cursor-entered {
  animation: cursorEntry 0.9s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

.cursor svg {
  width: 100%;
  height: 100%;
  fill: var(--coral);
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
              fill 0.15s ease;
}

.cursor.is-hovering svg {
  transform: scale(1.5);
}

.cursor.over-coral svg {
  fill: var(--cream);
}
