/* Demo Tooltips Styles */
.demo-tooltip {
    position: absolute;
    background-color: #1f2937;
    color: white;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    max-width: 250px;
    z-index: 10000;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    font-family: 'Open Sans', sans-serif;
}

.demo-tooltip.show {
    opacity: 1;
    transform: translateY(0);
}

.demo-tooltip::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
}

/* Arrow pointing down (tooltip above element) */
.demo-tooltip.top::before {
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 8px 8px 0 8px;
    border-color: #1f2937 transparent transparent transparent;
}

/* Arrow pointing up (tooltip below element) */
.demo-tooltip.bottom::before {
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 0 8px 8px 8px;
    border-color: transparent transparent #1f2937 transparent;
}

/* Arrow pointing right (tooltip on left) */
.demo-tooltip.left::before {
    right: -8px;
    top: 50%;
    transform: translateY(-50%);
    border-width: 8px 0 8px 8px;
    border-color: transparent transparent transparent #1f2937;
}

/* Arrow pointing left (tooltip on right) */
.demo-tooltip.right::before {
    left: -8px;
    top: 50%;
    transform: translateY(-50%);
    border-width: 8px 8px 8px 0;
    border-color: transparent #1f2937 transparent transparent;
}

/* Tooltip header (optional) */
.demo-tooltip-header {
    font-weight: 600;
    margin-bottom: 4px;
    color: #e5e7eb;
}

/* Tooltip icon */
.demo-tooltip-icon {
    display: inline-block;
    margin-right: 8px;
    color: #9ca3af;
}

/* Specific tooltip styles for different elements */
.demo-tooltip.email-tooltip {
    background-color: #dc2626;
}

.demo-tooltip.email-tooltip::before {
    border-color: #dc2626 transparent transparent transparent;
}

.demo-tooltip.financial-tooltip {
    background-color: #f59e0b;
}

.demo-tooltip.financial-tooltip::before {
    border-color: #f59e0b transparent transparent transparent;
}

.demo-tooltip.signature-tooltip {
    background-color: #dc2626;
}

.demo-tooltip.signature-tooltip::before {
    border-color: #dc2626 transparent transparent transparent;
}

.demo-tooltip.banking-tooltip {
    background-color: #3b82f6;
}

.demo-tooltip.banking-tooltip::before {
    border-color: #3b82f6 transparent transparent transparent;
}

.demo-tooltip.meeting-tooltip {
    background-color: #8b5cf6;
}

.demo-tooltip.meeting-tooltip::before {
    border-color: #8b5cf6 transparent transparent transparent;
}

.demo-tooltip.changes-tooltip {
    background-color: #10b981;
}

.demo-tooltip.changes-tooltip::before {
    border-color: #10b981 transparent transparent transparent;
}

.demo-tooltip.chat-tooltip {
    background-color: #6366f1;
}

.demo-tooltip.chat-tooltip::before {
    border-color: #6366f1 transparent transparent transparent;
}

/* Quick action button tooltips */
.demo-tooltip.action-tooltip {
    background-color: #7630a0;
}

.demo-tooltip.action-tooltip::before {
    border-color: #7630a0 transparent transparent transparent;
}

/* Control button tooltips */
.demo-tooltip.control-tooltip {
    background-color: #374151;
}

.demo-tooltip.control-tooltip::before {
    border-color: #374151 transparent transparent transparent;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .demo-tooltip {
        font-size: 12px;
        padding: 10px 14px;
        max-width: 200px;
    }
}

/* Ensure tooltips work with touch devices */
@media (hover: none) {
    .demo-tooltip {
        /* On touch devices, show tooltips on tap */
        transition: opacity 0.2s ease;
    }
}