/* User Menu — header dropdown
 *
 * All visual properties are exposed as CSS custom properties so themes
 * can brand the user menu without fighting !important specificity.
 *
 * Override examples (Additional CSS):
 *   :root {
 *     --mk-user-menu-trigger-bg: #000;
 *     --mk-user-menu-trigger-color: #fff;
 *     --mk-user-menu-radius: 0;
 *     --mk-user-menu-font: 'Inter Tight', sans-serif;
 *   }
 *
 * Defaults preserve the original look (cascade from --scorm-* tokens
 * set by Plugin Theming admin, falling back to neutral values).
 */

.mk-user-menu {
    /* ── Tokens ── */
    --mk-um-font: var(--mk-user-menu-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
    --mk-um-gap: var(--mk-user-menu-gap, 16px);

    /* Guest links */
    --mk-um-login-color: var(--mk-user-menu-login-color, currentColor);
    --mk-um-login-hover-color: var(--mk-user-menu-login-hover-color, var(--scorm-primary-color, #0073aa));
    --mk-um-login-font-size: var(--mk-user-menu-login-font-size, 14px);
    --mk-um-login-font-weight: var(--mk-user-menu-login-font-weight, 500);

    --mk-um-register-bg: var(--mk-user-menu-register-bg, var(--scorm-primary-color, #0073aa));
    --mk-um-register-color: var(--mk-user-menu-register-color, var(--scorm-button-text-color, #fff));
    --mk-um-register-hover-bg: var(--mk-user-menu-register-hover-bg, var(--scorm-secondary-color, #005a87));
    --mk-um-register-padding: var(--mk-user-menu-register-padding, 8px 18px);

    /* Trigger pill (logged-in) */
    --mk-um-trigger-bg: var(--mk-user-menu-trigger-bg, var(--scorm-primary-color, #0073aa));
    --mk-um-trigger-color: var(--mk-user-menu-trigger-color, var(--scorm-button-text-color, #fff));
    --mk-um-trigger-hover-bg: var(--mk-user-menu-trigger-hover-bg, var(--scorm-secondary-color, #005a87));
    --mk-um-trigger-padding: var(--mk-user-menu-trigger-padding, 8px 16px);
    --mk-um-trigger-font-weight: var(--mk-user-menu-trigger-font-weight, 600);

    /* Greeting (above the trigger) */
    --mk-um-greeting-welcome-color: var(--mk-user-menu-welcome-color, currentColor);
    --mk-um-greeting-welcome-opacity: var(--mk-user-menu-welcome-opacity, 0.7);
    --mk-um-greeting-welcome-size: var(--mk-user-menu-welcome-size, 11px);
    --mk-um-greeting-name-color: var(--mk-user-menu-name-color, currentColor);
    --mk-um-greeting-name-size: var(--mk-user-menu-name-size, 14px);
    --mk-um-greeting-name-weight: var(--mk-user-menu-name-weight, 600);

    /* Dropdown panel */
    --mk-um-dropdown-bg: var(--mk-user-menu-dropdown-bg, #fff);
    --mk-um-dropdown-border: var(--mk-user-menu-dropdown-border, 1px solid #e2e8f0);
    --mk-um-dropdown-radius: var(--mk-user-menu-dropdown-radius, 10px);
    --mk-um-dropdown-shadow: var(--mk-user-menu-dropdown-shadow, 0 10px 40px rgba(0, 0, 0, 0.12));
    --mk-um-dropdown-width: var(--mk-user-menu-dropdown-width, 240px);
    --mk-um-dropdown-offset: var(--mk-user-menu-dropdown-offset, 8px);

    --mk-um-dropdown-name-color: var(--mk-user-menu-dropdown-name-color, var(--scorm-heading-color, #1e293b));
    --mk-um-dropdown-email-color: var(--mk-user-menu-dropdown-email-color, var(--scorm-muted-text-color, #64748b));
    --mk-um-dropdown-divider: var(--mk-user-menu-dropdown-divider, #f1f5f9);
    --mk-um-dropdown-item-color: var(--mk-user-menu-dropdown-item-color, var(--scorm-text-color, #333));
    --mk-um-dropdown-item-hover-bg: var(--mk-user-menu-dropdown-item-hover-bg, #f8fafc);
    --mk-um-dropdown-item-hover-color: var(--mk-user-menu-dropdown-item-hover-color, var(--scorm-text-color, #333));
    --mk-um-dropdown-icon-color: var(--mk-user-menu-dropdown-icon-color, var(--scorm-muted-text-color, #64748b));
    --mk-um-dropdown-logout-color: var(--mk-user-menu-dropdown-logout-color, var(--scorm-primary-color, #0073aa));
    --mk-um-dropdown-logout-hover-bg: var(--mk-user-menu-dropdown-logout-hover-bg, #f8fafc);
    --mk-um-dropdown-logout-hover-color: var(--mk-user-menu-dropdown-logout-hover-color, var(--scorm-primary-color, #0073aa));

    /* Shared button radius (falls back to scorm-button-radius) */
    --mk-um-button-radius: var(--mk-user-menu-radius, var(--scorm-button-radius, 6px));

    /* ── Container ── */
    display: flex;
    align-items: center;
    gap: var(--mk-um-gap);
    font-family: var(--mk-um-font);
    position: relative;
}

/* Match Astra off-canvas menu item padding */
.ast-mobile-popup-content .mk-user-menu,
.ast-mobile-header-content .mk-user-menu {
    padding: 0 20px;
}

/* ── Guest state ── */
.mk-user-menu--guest .mk-user-menu__login {
    color: var(--mk-um-login-color);
    font-size: var(--mk-um-login-font-size);
    font-weight: var(--mk-um-login-font-weight);
    text-decoration: none;
    transition: color 0.15s;
}
.mk-user-menu--guest .mk-user-menu__login:hover {
    color: var(--mk-um-login-hover-color);
}
.mk-user-menu--guest .mk-user-menu__register {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--mk-um-register-bg);
    color: var(--mk-um-register-color);
    padding: var(--mk-um-register-padding);
    border-radius: var(--mk-um-button-radius);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.mk-user-menu--guest .mk-user-menu__register:hover {
    background: var(--mk-um-register-hover-bg);
}

/* ── Logged-in state ── */
.mk-user-menu--logged-in {
    gap: 12px;
}

.mk-user-menu__greeting {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.3;
}
.mk-user-menu__welcome {
    font-size: var(--mk-um-greeting-welcome-size);
    color: var(--mk-um-greeting-welcome-color);
    opacity: var(--mk-um-greeting-welcome-opacity);
    font-weight: 400;
}
.mk-user-menu__name {
    font-size: var(--mk-um-greeting-name-size);
    color: var(--mk-um-greeting-name-color);
    font-weight: var(--mk-um-greeting-name-weight);
}

/* Trigger button */
.mk-user-menu__trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--mk-um-trigger-bg);
    color: var(--mk-um-trigger-color);
    border: none;
    padding: var(--mk-um-trigger-padding);
    border-radius: var(--mk-um-button-radius);
    font-family: inherit;
    font-size: 14px;
    font-weight: var(--mk-um-trigger-font-weight);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.mk-user-menu__trigger:hover,
.mk-user-menu__trigger[aria-expanded="true"] {
    background: var(--mk-um-trigger-hover-bg);
}
.mk-user-menu__icon {
    flex-shrink: 0;
}
.mk-user-menu__chevron {
    flex-shrink: 0;
    transition: transform 0.15s;
}
.mk-user-menu__trigger[aria-expanded="true"] .mk-user-menu__chevron {
    transform: rotate(180deg);
}

/* ── Dropdown ── */
.mk-user-menu__dropdown {
    position: absolute;
    top: calc(100% + var(--mk-um-dropdown-offset));
    right: 0;
    width: var(--mk-um-dropdown-width);
    background: var(--mk-um-dropdown-bg);
    border: var(--mk-um-dropdown-border);
    border-radius: var(--mk-um-dropdown-radius);
    box-shadow: var(--mk-um-dropdown-shadow);
    z-index: 10000;
    overflow: hidden;
}
.mk-user-menu__dropdown[hidden] {
    display: none;
}

.mk-user-menu__dropdown-header {
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.mk-user-menu__dropdown-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--mk-um-dropdown-name-color);
}
.mk-user-menu__dropdown-email {
    font-size: 12px;
    color: var(--mk-um-dropdown-email-color);
}

.mk-user-menu__dropdown-divider {
    height: 1px;
    background: var(--mk-um-dropdown-divider);
    margin: 0;
}

.mk-user-menu__dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    font-size: 14px;
    color: var(--mk-um-dropdown-item-color);
    text-decoration: none;
    transition: background 0.1s, color 0.1s;
}
.mk-user-menu__dropdown-item:hover {
    background: var(--mk-um-dropdown-item-hover-bg);
    color: var(--mk-um-dropdown-item-hover-color);
}
.mk-user-menu__dropdown-item svg {
    flex-shrink: 0;
    color: var(--mk-um-dropdown-icon-color);
}
.mk-user-menu__dropdown-item--logout {
    color: var(--mk-um-dropdown-logout-color);
}
.mk-user-menu__dropdown-item--logout svg {
    color: var(--mk-um-dropdown-logout-color);
}
.mk-user-menu__dropdown-item--logout:hover {
    background: var(--mk-um-dropdown-logout-hover-bg);
    color: var(--mk-um-dropdown-logout-hover-color);
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .mk-user-menu__greeting {
        display: none;
    }
    .mk-user-menu__trigger {
        width: 40px;
        height: 40px;
        padding: 0;
        border-radius: var(--mk-user-menu-radius-mobile, 8px);
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .mk-user-menu__trigger .mk-user-menu__label,
    .mk-user-menu__trigger .mk-user-menu__chevron {
        display: none;
    }
    .mk-user-menu__trigger .mk-user-menu__icon {
        width: 20px;
        height: 20px;
    }
}
