/* assets/interactive-cursor/custom-cursor.css */

/* Domyślne zmienne (możesz nadpisać w :root, body, lub per-instancji przez PHP [data-cursor-id=...]) */


/* Wrapper */
.oxy-custom-cursor-wrapper{
  position: fixed;
  top:0;left:0;width:100vw;height:100vh;
  pointer-events: none;
  z-index:100000;
}

/* Rdzeń kursora */
.oxy-cursor-core{
  position: fixed;
  top:0;left:0;
  display:flex;align-items:center;justify-content:center;
  background: var(--core-color);
  border-radius: 50%;
  z-index:99999;
  will-change: transform;
}

.oxy-cursor-core .oxy-icon svg{
  display:flex;
  width:100%;height:100%;
  fill: var(--icon-color);
  opacity:0;
  transform-origin:center center;
  will-change: transform, opacity;
}

.oxy-cursor-core .oxy-cursor-label{
  position:absolute;top:100%;left:50%;
  transform: translateX(-50%);
  margin-top:8px;
  font: inherit;
  font-size: 12px;
  color: var(--icon-color);
  opacity:0;
  white-space:nowrap;
  pointer-events:none;
}
/* Ostrzejsze SVG (bez skalowania transformem) */
.oxy-cursor-core .oxy-icon {
  will-change: width, height;
}
.oxy-cursor-core .oxy-icon svg {
  shape-rendering: geometricPrecision;
  transform-box: fill-box;
  transform-origin: center;
  image-rendering: auto;
}
.oxy-cursor-core .oxy-icon svg * {
  vector-effect: non-scaling-stroke;
}


/* Cień */
.oxy-cursor-shadow{
  position: fixed;
  top:0;left:0;
  background: var(--shadow-color);
  border-radius:50%;
  z-index:99998;
  will-change: transform, background;
}

/* Ukryj na urządzeniach mobilnych/tabletach */
@media (pointer: coarse){
  .oxy-custom-cursor-wrapper{ display:none !important; }
}
