:root {
    --emitron-cursor-pointer-width: 16px;
    --emitron-cursor-pointer-height: 22px;
    --emitron-cursor-pointer-width-hover: 18px;
    --emitron-cursor-pointer-height-hover: 20px;
    --emitron-cursor-pointer-fill: #00D9FF;
    --emitron-cursor-pointer-border: #38BDF8;
    --emitron-cursor-pointer-gloss: none;
    --emitron-cursor-ring-fill: rgba(0, 217, 255, 0.18);
    --emitron-cursor-ring-border: rgba(0, 217, 255, 0.48);
    --emitron-cursor-ring-hover-fill: rgba(0, 217, 255, 0.28);
    --emitron-cursor-ring-hover-border: rgba(0, 217, 255, 0.72);
    --emitron-cursor-shadow: 0 12px 24px rgba(0, 217, 255, 0.24);
    --emitron-cursor-mask-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 22'%3E%3Cpath fill='white' d='M2 1.5 2 19.8 6.35 15.1 8.75 20.5 11.2 19.4 8.8 13.95 14 13.95 2 1.5Z'/%3E%3C/svg%3E");
    --emitron-cursor-mask-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22'%3E%3Cpath fill='white' d='M8.8 1.4c.92 0 1.66.74 1.66 1.66v4.1h.62V4.5c0-.92.74-1.66 1.66-1.66s1.66.74 1.66 1.66v4.35h.55c.92 0 1.66.74 1.66 1.66v2.58c0 4.63-2.94 7.51-7.23 7.51-3.74 0-6.55-2.49-6.55-6.43v-4.7c0-.92.74-1.66 1.66-1.66s1.66.74 1.66 1.66v3.17h.62V3.06c0-.92.74-1.66 1.66-1.66Z'/%3E%3C/svg%3E");
}

body[data-cursor-theme="landing"] {
    --emitron-cursor-pointer-fill: #00D9FF;
    --emitron-cursor-pointer-border: #38BDF8;
    --emitron-cursor-pointer-gloss: none;
    --emitron-cursor-ring-fill: rgba(0, 217, 255, 0.18);
    --emitron-cursor-ring-border: rgba(0, 217, 255, 0.48);
    --emitron-cursor-ring-hover-fill: rgba(0, 217, 255, 0.28);
    --emitron-cursor-ring-hover-border: rgba(0, 217, 255, 0.72);
    --emitron-cursor-shadow: 0 12px 24px rgba(0, 217, 255, 0.24);
}

body.emitron-custom-cursor {
    cursor: none;
}

body.emitron-custom-cursor a,
body.emitron-custom-cursor button,
body.emitron-custom-cursor summary,
body.emitron-custom-cursor label,
body.emitron-custom-cursor [role="button"],
body.emitron-custom-cursor [type="button"],
body.emitron-custom-cursor [type="submit"],
body.emitron-custom-cursor [type="reset"],
body.emitron-custom-cursor .btn,
body.emitron-custom-cursor .nav-link,
body.emitron-custom-cursor .nav-cta,
body.emitron-custom-cursor .mobile-toggle,
body.emitron-custom-cursor .feature-card,
body.emitron-custom-cursor .segment-card,
body.emitron-custom-cursor .testimonial-card,
body.emitron-custom-cursor .plan-card,
body.emitron-custom-cursor .venda-option {
    cursor: none !important;
}

body.emitron-custom-cursor input,
body.emitron-custom-cursor textarea,
body.emitron-custom-cursor [contenteditable=""],
body.emitron-custom-cursor [contenteditable="true"] {
    cursor: text !important;
    caret-color: #00D9FF;
}

body.emitron-custom-cursor select,
body.emitron-custom-cursor option,
body.emitron-custom-cursor select *,
body.emitron-custom-cursor [role="listbox"],
body.emitron-custom-cursor [role="option"],
body.emitron-custom-cursor [aria-haspopup="listbox"],
body.emitron-custom-cursor [aria-expanded="true"],
body.emitron-custom-cursor table,
body.emitron-custom-cursor th,
body.emitron-custom-cursor td,
body.emitron-custom-cursor iframe,
body.emitron-custom-cursor [data-native-cursor] {
    cursor: auto !important;
}

.emitron-cursor-root {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    pointer-events: none;
    z-index: 10050;
    opacity: 0;
    transition: opacity 0.18s ease;
}

.emitron-cursor-root.is-visible {
    opacity: 1;
}

.emitron-cursor-root.is-native {
    opacity: 0;
}

.emitron-cursor-dot,
.emitron-cursor-ring {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    will-change: transform, width, height, opacity, background-color, border-color;
    transform: translate3d(-100px, -100px, 0);
}

.emitron-cursor-dot {
    width: var(--emitron-cursor-pointer-width);
    height: var(--emitron-cursor-pointer-height);
    background: var(--emitron-cursor-pointer-fill);
    border: 1px solid var(--emitron-cursor-pointer-border);
    box-shadow: var(--emitron-cursor-shadow);
    border-radius: 2px;
    transform-origin: 4px 4px;
    -webkit-mask-image: var(--emitron-cursor-mask-arrow);
    mask-image: var(--emitron-cursor-mask-arrow);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: transform 0.08s ease-out, opacity 0.18s ease, width 0.16s ease, height 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, clip-path 0.16s ease;
}

.emitron-cursor-dot::before {
    content: '';
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: var(--emitron-cursor-pointer-gloss);
    -webkit-mask-image: inherit;
    mask-image: inherit;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    opacity: 0;
}

.emitron-cursor-ring {
    width: 18px;
    height: 18px;
    margin-left: -9px;
    margin-top: -9px;
    border: 1px solid var(--emitron-cursor-ring-border);
    background: var(--emitron-cursor-ring-fill);
    border-radius: 999px;
    transition: width 0.18s ease, height 0.18s ease, margin 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, opacity 0.18s ease;
    opacity: 0;
}

.emitron-cursor-root.is-hover .emitron-cursor-dot {
    width: var(--emitron-cursor-pointer-width-hover);
    height: var(--emitron-cursor-pointer-height-hover);
    background: var(--emitron-cursor-pointer-fill);
    border-color: var(--emitron-cursor-pointer-border);
    -webkit-mask-image: var(--emitron-cursor-mask-hand);
    mask-image: var(--emitron-cursor-mask-hand);
}

.emitron-cursor-root.is-pressed .emitron-cursor-ring {
    width: 30px;
    height: 30px;
    margin-left: -15px;
    margin-top: -15px;
    opacity: 0.45;
}

.emitron-cursor-root.is-pressed .emitron-cursor-dot {
    opacity: 0.96;
    transform-origin: 5px 5px;
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
    body.emitron-custom-cursor {
        cursor: auto;
    }

    .emitron-cursor-root {
        display: none !important;
    }
}
