/* Widget: Custom Context Menu */
.w-context-menu {
    position: fixed;
    z-index: var(--z-context-menu);
    pointer-events: none;
    min-width: 220px;

    /* Exit State */
    opacity: 0;
    visibility: hidden;
    transform: scale(0.9) translateY(10px);
    transition:
        opacity 0.2s ease,
        transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
        visibility 0.2s;
}

/* Upwards Exit State */
.w-context-menu.is-flipped:not(.is-active) {
    transform: scale(0.9) translateY(-10px) translateZ(0);
}

.w-context-menu.is-active {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    transform: scale(1) translateY(0) translateZ(0);
}

.w-context-menu-inner {
    padding: var(--s-2);
    border-radius: var(--r-2xl);
    overflow: hidden;
    /* backdrop-filter handled by bg-glass */
}

.w-context-menu-list {
    list-style: none;
}

.w-context-item {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-2) var(--s-4);
    border-radius: var(--r-md);
    color: var(--c-text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 0.9rem;
}

.w-context-item:hover {
    background: var(--c-glass-strong);
    color: var(--c-primary);
}

.w-context-item i {
    opacity: 0.7;
}

.w-context-item:hover i {
    opacity: 1;
}

.w-context-divider {
    height: 1px;
    background: var(--c-glass-strong);
    margin: var(--s-2) var(--s-2);
    opacity: 0.5;
}

.hidden {
    display: none !important;
}