/**
 * کرسر سفارشی نسخه‌ی ۲ — نقطه‌ی مرکزی دقیق + حلقه‌ی تعقیب‌کننده‌ی نرم
 * که روی لینک/دکمه بزرگ می‌شود، روی تصاویر برچسب نشان می‌دهد، و روی
 * فیلدهای متنی به یک خط تبدیل می‌شود. فقط روی دستگاه‌های دارای ماوس
 * واقعی فعال است (نه لمسی).
 */

.cursor-dot, .cursor-ring { display: none; }

@media (hover: hover) and (pointer: fine) {
    .cursor-dot {
        display: block; position: fixed; top: 0; left: 0; width: 6px; height: 6px;
        background: var(--gold-300); border-radius: 50%; pointer-events: none;
        z-index: var(--z-cursor); transform: translate(-50%, -50%);
        transition: opacity .2s;
    }

    .cursor-ring {
        display: flex; align-items: center; justify-content: center;
        position: fixed; top: 0; left: 0; width: 40px; height: 40px;
        border: 1px solid var(--line-3); border-radius: 50%; pointer-events: none;
        z-index: var(--z-cursor); transform: translate(-50%, -50%);
        transition: width .35s var(--ease-spring), height .35s var(--ease-spring),
                    border-color .3s, background .3s, opacity .25s, border-radius .3s;
        will-change: width, height, transform;
    }
    .cursor-ring::after {
        content: attr(data-label); font-size: 11.5px; font-weight: 700; color: var(--ink-on-gold);
        opacity: 0; transition: opacity .2s; white-space: nowrap; letter-spacing: .02em;
    }

    /* حالت: روی لینک/دکمه معمولی — بزرگ‌تر و نیمه‌شفاف */
    .cursor-ring.st-link {
        width: 64px; height: 64px; background: rgba(233,205,130,0.1); border-color: var(--gold-400);
    }

    /* حالت: روی چیزی که برچسب دارد (مثل تصاویر گالری) */
    .cursor-ring.st-label {
        width: 84px; height: 84px; background: var(--gold-500); border-color: transparent;
    }
    .cursor-ring.st-label::after { opacity: 1; }

    /* حالت: روی فیلد متنی — خط عمودی نازک */
    .cursor-ring.st-text {
        width: 2px; height: 28px; border-radius: 2px; background: var(--gold-500); border-color: transparent;
    }

    /* حالت: در حال درگ/کلیک */
    .cursor-ring.st-down { transform: translate(-50%, -50%) scale(0.85); }

    /* وقتی از پنجره خارج می‌شود، محو کن */
    .cursor-ring.st-hidden, .cursor-dot.st-hidden { opacity: 0; }
}
