﻿.sf-tooltip-container {
    position: absolute;
    pointer-events: none;
    z-index: 2147483647;
    max-width: 600px;
    transition: opacity 0.2s;
    visibility: visible;
    opacity: 1;
}

.sf-tooltip {
    background: rgba(0, 0, 0, 0.88);
    border-radius: 3px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
    padding: 8px 12px;
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.2);
    display: inline-block; /* Resizes to fit content */
    min-width: 100px; /* Prevents collapsing */
    max-width: 400px; /* Restricts excessive growth */
    box-sizing: border-box; /* Includes padding in width calculations */
    white-space: normal; /* Wraps text */
}

    /* Arrow styles */
    .sf-tooltip.arrow-top::before {
        border-color: rgba(0, 0, 0, 0.2) transparent transparent transparent;
    }

    .sf-tooltip.arrow-top::after {
        border-color: rgba(0, 0, 0, 0.9) transparent transparent transparent;
    }


    /* Top arrow */
    .sf-tooltip.arrow-top::before {
        border-width: 8px;
        border-color: rgba(0, 0, 0, 0.12) transparent transparent transparent;
        bottom: -8px;
        left: 50%;
        transform: translateX(-50%);
    }

    .sf-tooltip.arrow-top::after {
        border-width: 7px;
        border-color: rgba(255, 255, 255, 0.95) transparent transparent transparent;
        bottom: -7px;
        left: 50%;
        transform: translateX(-50%);
    }

    /* Bottom arrow */
    .sf-tooltip.arrow-bottom::before {
        border-width: 8px;
        border-color: transparent transparent rgba(0, 0, 0, 0.12) transparent;
        top: -8px;
        left: 50%;
        transform: translateX(-50%);
    }

    .sf-tooltip.arrow-bottom::after {
        border-width: 7px;
        border-color: transparent transparent rgba(255, 255, 255, 0.95) transparent;
        top: -7px;
        left: 50%;
        transform: translateX(-50%);
    }

    /* Left arrow */
    .sf-tooltip.arrow-left::before {
        border-width: 8px;
        border-color: transparent transparent transparent rgba(0, 0, 0, 0.12);
        right: -8px;
        top: 50%;
        transform: translateY(-50%);
    }

    .sf-tooltip.arrow-left::after {
        border-width: 7px;
        border-color: transparent transparent transparent rgba(255, 255, 255, 0.95);
        right: -7px;
        top: 50%;
        transform: translateY(-50%);
    }

    /* Right arrow */
    .sf-tooltip.arrow-right::before {
        border-width: 8px;
        border-color: transparent rgba(0, 0, 0, 0.12) transparent transparent;
        left: -8px;
        top: 50%;
        transform: translateY(-50%);
    }

    .sf-tooltip.arrow-right::after {
        border-width: 7px;
        border-color: transparent rgba(255, 255, 255, 0.95) transparent transparent;
        left: -7px;
        top: 50%;
        transform: translateY(-50%);
    }

/* Tooltip header */
.sf-tooltip-header {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 4px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 4px;
}

/* Tooltip content */
.sf-tooltip-content {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 12px;
    color: #fff;
    line-height: 1.4;
    word-wrap: break-word; /* Ensures long words break correctly */
    word-break: break-word;
}

.sf-tooltip-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 2px 0;
}

.sf-tooltip-marker {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 8px;
}

.sf-tooltip-label {
    flex: 1;
    margin-right: 12px;
    font-size: 12px;
    color: #fff;
}

.sf-tooltip-value {
    font-weight: 500;
    color: #fff;
}

/* Animation classes */
.sf-tooltip-fade-in {
    animation: tooltipFadeIn 0.15s ease-in;
}

.sf-tooltip-fade-out {
    animation: tooltipFadeOut 0.15s ease-out;
    opacity: 0;
}

@keyframes tooltipFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes tooltipFadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}