/**
 * Custom cursor — ADGO CustomCursor port
 * https://adgo-thailand.local/
 */

@media (min-width: 1024px) and (pointer: fine) {
    .custom-cursor {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
        pointer-events: none;
        opacity: 0;
        will-change: transform, opacity;
        transition: opacity 300ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .custom-cursor.is-active {
        opacity: 1;
    }

    .custom-cursor__label-wrap {
        position: absolute;
        top: -32px;
        left: 0;
        display: flex;
        align-items: stretch;
        gap: 2px;
        transform-origin: bottom center;
        will-change: transform;
    }

    .custom-cursor__stripes {
        display: flex;
        align-items: stretch;
        gap: 2px;
    }

    .custom-cursor__stripes:empty {
        display: none;
    }

    .custom-cursor__stripe {
        width: 6px;
        align-self: stretch;
        background-color: var(--color-brand);
    }

    .custom-cursor__pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        white-space: nowrap;
        padding: 4px 8px;
        background-color: var(--color-brand);
        color: #000;
        font-family: var(--font-ui);
        font-size: clamp(0.75rem, 1vw, 0.875rem);
        line-height: 1.25;
        letter-spacing: -0.02em;
        text-transform: uppercase;
        text-align: center;
    }

    .custom-cursor__play {
        display: flex;
        flex-shrink: 0;
        align-items: center;
        justify-content: center;
        width: 8px;
        height: 9px;
    }

    .custom-cursor__icon-svg {
        display: none;
        width: 8px;
        height: 9px;
    }

    .custom-cursor__pill.has-play .custom-cursor__icon-svg--play,
    .custom-cursor__pill.has-pause .custom-cursor__icon-svg--pause {
        display: block;
    }

    .custom-cursor__pill:not(.has-play):not(.has-pause) .custom-cursor__play {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .custom-cursor {
        transition: none !important;
    }
}
