/* لا نخفي مؤشر النظام إلا بعد جاهزية المؤشر السلس */
body.cursor-hide { cursor: none !important; }
body.cursor-hide a, body.cursor-hide button, body.cursor-hide .btn, body.cursor-hide [role='button'],
body.cursor-hide input, body.cursor-hide textarea, body.cursor-hide select { cursor: none !important; }

@media (max-width: 900px) { body, body.cursor-hide { cursor: auto !important; } }

/* ========== Smooth Slow Cursor (Layered) ========== */
.smooth-cursor { position: fixed; inset:0; pointer-events:none; z-index:9999; opacity:0; transition:opacity .4s ease; }
body.cursor-ready .smooth-cursor { opacity:1; }
.smooth-cursor .sc-ring, .smooth-cursor .sc-dot { position: absolute; top:0; left:0; will-change: transform; }
.smooth-cursor .sc-ring { width:36px; height:36px; border:1px solid #BCFB6C; border-radius:50%; opacity:.4; transform:translate(-50%,-60%); transition: border-color .3s ease, background-color .3s ease; backdrop-filter: blur(2px); }
.smooth-cursor .sc-dot { width:10px; height:10px; background:#BCFB6C; border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 6px rgba(188,251,108,0.6); }

body.cursor-target .smooth-cursor .sc-ring { background: rgba(188,251,108,0.12); border-color:#d8ffa0; }
body.cursor-target .smooth-cursor .sc-dot { transform:translate(-50%,-50%) scale(0.85); }
body.cursor-down .smooth-cursor .sc-ring { transform:translate(-50%,-60%) scale(0.55); opacity:.55; }
body.cursor-down .smooth-cursor .sc-dot { transform:translate(-50%,-50%) scale(0.55); }

@media (max-width: 900px) {
  .smooth-cursor { display:none; }
}