/* ── CURSOR ── */
.cursor {
  position:fixed;width:10px;height:10px;border-radius:50%;pointer-events:none;z-index:9999;
  background:#f0ede8;
  box-shadow:0 0 0 1.5px rgba(0,0,0,0.18), 0 0 8px rgba(240,237,232,0.55);
  transition:transform 0.12s cubic-bezier(0.23,1,0.32,1), background 0.2s, box-shadow 0.2s;
}
.cursor.on-dark {
  background:#e8d4b8;
  box-shadow:0 0 0 1.5px rgba(255,255,255,0.12), 0 0 10px rgba(232,212,184,0.6);
}
.cursor.hovering {
  transform:scale(1.5);
  box-shadow:0 0 0 2px rgba(196,82,26,0.35), 0 0 16px rgba(196,82,26,0.25);
}
.cursor-ring {
  position:fixed;width:36px;height:36px;border-radius:50%;pointer-events:none;z-index:9998;
  border:1.5px solid rgba(240,237,232,0.55);
  transition:transform 0.35s cubic-bezier(0.23,1,0.32,1), opacity 0.3s, border-color 0.2s, box-shadow 0.2s;
  opacity:0.6;
}
.cursor-ring.on-dark {
  border-color:rgba(232,212,184,0.5);
  box-shadow:0 0 12px rgba(232,212,184,0.15);
}
.cursor-ring.hovering {
  opacity:0.9;
  border-color:rgba(196,82,26,0.6);
  box-shadow:0 0 18px rgba(196,82,26,0.2);
}

/* Disable custom cursor on touch devices */
@media (hover: none) and (pointer: coarse) {
  .cursor, .cursor-ring { display:none; }
  body { cursor:auto; }
}
