/* Dropdown menus, used by the avatar user menu and inline menus. */

.menu-anchor { position: relative; display: inline-flex; }

.menu {
    position: absolute;
    top: calc(100% + var(--space-1));
    right: 0;
    min-width: 220px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--elev-3);
    padding: var(--space-1);
    z-index: var(--z-app-bar);
    transform-origin: top right;
    animation: menu-pop-in var(--motion-fast) var(--ease-decelerate);
}

.menu__item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    width: 100%;
    padding: var(--space-2) var(--space-3);
    background: transparent;
    border: none;
    color: var(--color-text);
    font: inherit;
    font-size: var(--text-body);
    text-align: left;
    cursor: pointer;
    border-radius: var(--radius-sm);
    transition: background var(--motion-fast) var(--ease-standard);
    text-decoration: none;
}
.menu__item:hover  { background: var(--color-surface-tint); }
.menu__item--danger { color: var(--color-danger); }
.menu__item--danger:hover { background: color-mix(in srgb, var(--color-danger) 10%, transparent); }
.menu__item .icon { color: var(--color-text-muted); }
.menu__item--danger .icon { color: var(--color-danger); }

.menu__divider {
    height: 1px;
    background: var(--color-border);
    margin: var(--space-1) 0;
}

.menu__header {
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-caption);
    color: var(--color-text-muted);
}

.menu__footer {
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-caption);
    color: var(--color-text-faint);
    border-top: 1px solid var(--color-border);
    margin-top: var(--space-1);
}

@keyframes menu-pop-in {
    from { transform: scale(0.96); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .menu { animation-duration: 0ms; }
}
