/* 
  Vilaan Pointer Coordinates v1.3.7
  Visual Sharpness & Global Color Compatibility
*/

.vilaan-pc-outer-wrap {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    pointer-events: none !important;
    z-index: 2147483647 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;

    /* Global Reset */
    isolation: auto !important;

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-variant-numeric: tabular-nums !important;

    /* Anti-Blur Fixes for Windows/Chrome rendering */
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Ensure parents don't interfere */
.elementor-widget-pointer_coordinates,
.elementor-widget-pointer_coordinates .elementor-widget-container {
    position: static !important;
    overflow: visible !important;
    pointer-events: none !important;
    background: transparent !important;
}

.vilaan-pc-block {
    position: absolute !important;
    display: flex !important;
    /* translate3d and backface-visibility for hardware acceleration and sharpness */
    transform: translate3d(-50%, -50%, 0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    transform-style: preserve-3d !important;
    will-change: transform;

    transition: color 0.1s linear;
}

.vilaan-pc-x-inner,
.vilaan-pc-y-inner {
    display: flex !important;
    gap: inherit;
    transform-origin: center center;
    align-items: center !important;

    /* Inheritance of hardware accel */
    transform-style: preserve-3d !important;
}

/* Layout: Stacked */
.vilaan-pc-block.layout-stacked .vilaan-pc-x-inner,
.vilaan-pc-block.layout-stacked .vilaan-pc-y-inner {
    flex-direction: column !important;
}

/* Layout: Inline (Persistent Fix) */
.vilaan-pc-block.layout-inline .vilaan-pc-x-inner,
.vilaan-pc-block.layout-inline .vilaan-pc-y-inner {
    flex-direction: row !important;
    gap: 15px !important;
}

.vilaan-pc-block .row {
    display: flex !important;
    align-items: center;
    white-space: nowrap !important;
    width: auto !important;
}

/* Text styling */
.label-pre {
    margin-right: 4px;
}

.label-suf {
    margin-left: 4px;
}

/* Sub-pixel rendering prevention */
.vilaan-pc-block span {
    display: inline-block;
}