/* CSS for Context Menu v2.2 - Warm Tech Minimal Design & Submenu support */

:root {
  --ntm-cm-bg: rgba(255, 255, 255, 0.96);
  --ntm-cm-border: #EDE8E2;
  --ntm-cm-shadow: 0 10px 30px -10px rgba(224, 90, 43, 0.15), 0 1px 3px rgba(0, 0, 0, 0.05);
  --ntm-cm-text: #1A1A1A;
  --ntm-cm-text-muted: #5A5A5A;
  --ntm-cm-accent: #E05A2B;
  --ntm-cm-hover-bg: #FFF0EB;
  --ntm-cm-font: 'Be Vietnam Pro', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

[data-theme="dark"] {
  --ntm-cm-bg: rgba(26, 26, 26, 0.96);
  --ntm-cm-border: #2A2A2A;
  --ntm-cm-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  --ntm-cm-text: #F5F5F5;
  --ntm-cm-text-muted: #A0A0A0;
  --ntm-cm-accent: #E05A2B;
  --ntm-cm-hover-bg: #252525;
}

.context-menu {
    display: none;
    position: fixed !important;
    background-color: var(--ntm-cm-bg) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: var(--ntm-cm-text) !important;
    padding: 6px !important;
    z-index: 999999 !important;
    border-radius: 12px !important;
    width: 220px !important;
    box-shadow: var(--ntm-cm-shadow) !important;
    font-family: var(--ntm-cm-font) !important;
    border: 1px solid var(--ntm-cm-border) !important;
    box-sizing: border-box !important;
}

.context-menu ul {
    list-style-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Block Separation & Dividers */
.context-menu ul.menu-lh {
    border-top: 1px solid var(--ntm-cm-border) !important;
    margin-top: 6px !important;
    padding-top: 6px !important;
}

.context-menu #ntm-link-actions {
    border-bottom: 1px solid var(--ntm-cm-border) !important;
    margin-bottom: 6px !important;
    padding-bottom: 6px !important;
}

#ntm-copy-text-wrapper {
    border-bottom: 1px solid var(--ntm-cm-border) !important;
    margin-bottom: 6px !important;
    padding-bottom: 6px !important;
}

/* Item Links */
.context-menu a.ntm-item-link {
    text-decoration: none !important;
    color: var(--ntm-cm-text) !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    transition: all 0.15s ease !important;
    box-sizing: border-box !important;
}

.context-menu a.ntm-item-link:hover {
    background-color: var(--ntm-cm-hover-bg) !important;
    color: var(--ntm-cm-accent) !important;
}

/* Icons and SVG wrapper styling */
.context-menu i,
.context-menu .ntm-icon-svg {
    margin-right: 10px !important;
    width: 18px !important;
    height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    flex-shrink: 0 !important;
    color: var(--ntm-cm-text-muted) !important;
    transition: color 0.15s ease !important;
}

/* Force SVG inside wrapper to scale correctly and ignore theme constraints */
.context-menu .ntm-icon-svg svg,
.context-menu svg {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: block !important;
    transition: color 0.15s ease !important;
}

.context-menu .ntm-icon-svg svg:not(.ntm-keep-color),
.context-menu svg:not(.ntm-keep-color) {
    fill: currentColor !important;
}

.context-menu a.ntm-item-link:hover i,
.context-menu a.ntm-item-link:hover svg:not(.ntm-keep-color) {
    color: var(--ntm-cm-accent) !important;
}

/* Avoid font awesome styling collision */
.context-menu i {
    font-style: normal !important;
}

/* --- SUBMENU STYLING --- */
.context-menu li.ntm-has-submenu {
    position: relative !important;
}

.context-menu .ntm-submenu {
    display: none;
    position: absolute !important;
    top: -6px !important;
    left: 98% !important;
    background-color: var(--ntm-cm-bg) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid var(--ntm-cm-border) !important;
    border-radius: 12px !important;
    box-shadow: var(--ntm-cm-shadow) !important;
    padding: 6px !important;
    width: 210px !important;
    z-index: 1000000 !important;
}

/* Show submenu on parent hover */
.context-menu li.ntm-has-submenu:hover > .ntm-submenu {
    display: block !important;
    animation: ntmSubmenuFadeIn 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Submenu Arrow indicator */
.context-menu .ntm-submenu-arrow {
    margin-left: auto !important;
    margin-right: 0 !important;
    width: 10px !important;
    height: 10px !important;
    font-size: 10px !important;
    color: var(--ntm-cm-text-muted) !important;
    opacity: 0.6;
    transition: all 0.15s ease !important;
}

.context-menu a.ntm-item-link:hover .ntm-submenu-arrow {
    color: var(--ntm-cm-accent) !important;
    opacity: 1;
    transform: translateX(2px);
}

/* Reverse positioning when submenu overflows right boundary */
.context-menu li.ntm-has-submenu.ntm-submenu-left > .ntm-submenu {
    left: auto !important;
    right: 98% !important;
}

@keyframes ntmSubmenuFadeIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}