.ia-tooltip {
    position: fixed;
    z-index: 9999;
    background: #3a434c;
    color: #fff;
    padding: 5px 8px;
    border-radius: 3px;
    font-size: 11px;
    min-width: 40px;
    max-width: 320px;
    pointer-events: auto;
    opacity: 0;
    visibility: hidden;
    transition: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    font-weight: 400;
    font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    letter-spacing: 0.2px;
    overflow-wrap: break-word;
    white-space: pre-line;
    text-align: center;
    will-change: opacity, visibility, transform;
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
    cursor: default;
    min-height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Efeitos */
.ia-tooltip-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
}

/* Efeito Fade — duração via --ia-tt-duration, curva suave */
.ia-tooltip-fade {
    transform: scale(0.95);
    transition: opacity    var(--ia-tt-duration, 220ms) cubic-bezier(0.25, 0.46, 0.45, 0.96),
                visibility var(--ia-tt-duration, 220ms) cubic-bezier(0.25, 0.46, 0.45, 0.96),
                transform  var(--ia-tt-duration, 220ms) cubic-bezier(0.25, 0.46, 0.45, 0.96);
    opacity: 0;
}

.ia-tooltip-fade.ia-tooltip-visible {
    opacity: 1;
    transform: scale(1);
}

/* Efeito Slide Down */
.ia-tooltip-slide-down {
    transform: translateY(-6px);
    transition: opacity    var(--ia-tt-duration, 220ms) cubic-bezier(0.25, 0.46, 0.45, 0.96),
                visibility var(--ia-tt-duration, 220ms) cubic-bezier(0.25, 0.46, 0.45, 0.96),
                transform  var(--ia-tt-duration, 220ms) cubic-bezier(0.25, 0.46, 0.45, 0.96);
    opacity: 0;
}

.ia-tooltip-slide-down.ia-tooltip-visible {
    transform: translateY(0);
    opacity: 1;
}

/* Efeito Slide Up */
.ia-tooltip-slide-up {
    transform: translateY(6px);
    transition: opacity    var(--ia-tt-duration, 220ms) cubic-bezier(0.25, 0.46, 0.45, 0.96),
                visibility var(--ia-tt-duration, 220ms) cubic-bezier(0.25, 0.46, 0.45, 0.96),
                transform  var(--ia-tt-duration, 220ms) cubic-bezier(0.25, 0.46, 0.45, 0.96);
    opacity: 0;
}

.ia-tooltip-slide-up.ia-tooltip-visible {
    transform: translateY(0);
    opacity: 1;
}

/* Efeito None */
.ia-tooltip-none {
    transition: none;
}

/* Caret */
.ia-tooltip-with-caret::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border: 4px solid transparent;
    pointer-events: none;
    z-index: 1;
}

/* Direções do Caret */
.ia-tooltip-with-caret.top::after,
.ia-tooltip-with-caret.top-center::after {
    bottom: -8px;
    left: calc(50% - 0.5px);
    margin-left: -4px;
    border-top-color: #555d66;
}

.ia-tooltip-with-caret.top-left::after {
    bottom: -8px;
    left: 10px;
    border-top-color: #555d66;
}

.ia-tooltip-with-caret.top-right::after {
    bottom: -8px;
    right: 10px;
    border-top-color: #555d66;
}

.ia-tooltip-with-caret.bottom::after,
.ia-tooltip-with-caret.bottom-center::after {
    top: -8px;
    left: calc(50% - 0.5px);
    margin-left: -4px;
    border-bottom-color: #555d66;
}

.ia-tooltip-with-caret.bottom-left::after {
    top: -8px;
    left: 10px;
    border-bottom-color: #555d66;
}

.ia-tooltip-with-caret.bottom-right::after {
    top: -8px;
    right: 10px;
    border-bottom-color: #555d66;
}

.ia-tooltip-with-caret.left::after {
    right: -8px;
    top: calc(50% - 0.5px);
    margin-top: -4px;
    border-left-color: #555d66;
}

.ia-tooltip-with-caret.right::after {
    left: -8px;
    top: calc(50% - 0.5px);
    margin-top: -4px;
    border-right-color: #555d66;
}

/* transform-origin por direção — o tooltip cresce a partir do ponto de ancoragem correto */
.ia-tooltip.top,
.ia-tooltip.top-center,
.ia-tooltip.top-left,
.ia-tooltip.top-right    { transform-origin: center bottom; }

.ia-tooltip.bottom,
.ia-tooltip.bottom-center,
.ia-tooltip.bottom-left,
.ia-tooltip.bottom-right { transform-origin: center top; }

.ia-tooltip.left         { transform-origin: right center; }
.ia-tooltip.right        { transform-origin: left center;  }

/* Responsividade */
@media (max-width: 768px) {
    .ia-tooltip {
        max-width: 140px;
        font-size: 10px;
        padding: 2px 5px;
        min-height: 18px;
    }
} 