﻿/* SCSS Variables (for reference/compilation) */
:root {
    --flyout-spacing: 0;
    --flyout-transition: 0.2s;
    --flyout-z-base: 1050;
    --flyout-border-light: #cbd5e1;
    --flyout-shadow-light: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Dark mode variables */
[data-bs-theme="dark"] {
    --flyout-dark-bg: #212529;
    --flyout-dark-hover-bg: #2c3034;
    --flyout-dark-border: #495057;
    --flyout-dark-text: #dee2e6;
    --flyout-border-dark: #495057;
    --flyout-shadow-dark: 0 4px 12px rgba(0, 0, 0, 0.5);
}

/* Dropdown submenu structure */
.dropdown-submenu {
    position: relative;
}

    .dropdown-submenu > .dropdown-toggle::after {
        display: inline-block;
        margin-left: auto;
        vertical-align: 0.1em;
        content: "";
        border-top: 0.3em solid transparent;
        border-bottom: 0.3em solid transparent;
        border-left: 0.3em solid;
        margin-top: 0;
        flex-shrink: 0;
    }

/* RTL caret flip */
[dir="rtl"] .dropdown-submenu > .dropdown-toggle::after {
    border-left: 0;
    border-right: 0.3em solid;
    margin-left: 0;
    margin-right: auto;
}

/* Submenu positioning - LTR (flyout to right) */
.dropdown-submenu > .dropdown-menu {
    position: fixed;
    top: 0;
    left: 100%;
    margin-left: var(--flyout-spacing);
    margin-top: 0;
    display: none;
    z-index: 9999;
}

/* Submenu positioning - RTL (flyout to left) */
[dir="rtl"] .dropdown-submenu > .dropdown-menu {
    left: auto;
    right: 100%;
    margin-left: 0;
    margin-right: var(--flyout-spacing);
}

/* Show submenu on hover (non-touch devices) */
.dropdown-submenu:hover > .dropdown-menu {
    display: block;
}

/* Show submenu when manually opened */
.dropdown-submenu.show > .dropdown-menu {
    display: block;
}

/* Prevent Bootstrap's default dropdown-menu hiding */
.dropdown-menu .dropdown-menu {
    transition: opacity var(--flyout-transition) ease-in-out;
}

/* Z-index stacking for nested menus */
.dropdown-menu {
    z-index: 9998;
}

.dropdown-submenu > .dropdown-menu {
    z-index: 9999;
}

.dropdown-submenu .dropdown-submenu > .dropdown-menu {
    z-index: 10000;
}

.dropdown-submenu .dropdown-submenu .dropdown-submenu > .dropdown-menu {
    z-index: 10001;
}

/* Widget flyout specific styles */
.widget-flyout-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Widget container styling - match RFQ box styling */
.widget {
    background-color: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 0.5rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

[data-bs-theme="dark"] .widget {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.widget-flyout-menu .dropdown-menu {
    min-width: 200px;
    border: 1px solid var(--flyout-border-light);
    box-shadow: var(--flyout-shadow-light);
    border-radius: 0.375rem;
}

/* Dark mode dropdown menu styling */
[data-bs-theme="dark"] .widget-flyout-menu .dropdown-menu {
    background-color: var(--flyout-dark-bg);
    border: 1px solid var(--flyout-border-dark);
    box-shadow: var(--flyout-shadow-dark);
    color: var(--flyout-dark-text);
}

.widget-flyout-menu .dropdown-item {
    cursor: pointer;
    padding: 0.5rem 1rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: start;
}

.widget-flyout-menu .dropdown-submenu > .dropdown-toggle {
    width: 100%;
    text-align: start;
    background: transparent;
    border: none;
    padding: 0.5rem 1rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

[dir="rtl"] .widget-flyout-menu .dropdown-submenu > .dropdown-toggle {
    text-align: start;
}

/* Hover effects */
.widget-flyout-menu .dropdown-item:hover,
.widget-flyout-menu .dropdown-submenu > .dropdown-toggle:hover {
    background-color: var(--bs-dropdown-link-hover-bg, #f8f9fa);
}

/* Dark mode hover effects */
[data-bs-theme="dark"] .widget-flyout-menu .dropdown-item:hover,
[data-bs-theme="dark"] .widget-flyout-menu .dropdown-submenu > .dropdown-toggle:hover {
    background-color: var(--flyout-dark-hover-bg);
}

/* Active state */
.widget-flyout-menu .dropdown-submenu.show > .dropdown-toggle {
    background-color: var(--bs-dropdown-link-hover-bg, #f8f9fa);
}

/* Dark mode active state */
[data-bs-theme="dark"] .widget-flyout-menu .dropdown-submenu.show > .dropdown-toggle {
    background-color: var(--flyout-dark-hover-bg);
}

/* Touch device overrides - disable hover */
.touch-device .dropdown-submenu:hover > .dropdown-menu {
    display: none;
}

.touch-device .dropdown-submenu.show > .dropdown-menu {
    display: block;
}

/* First level menu items */
.widget-flyout-menu > li {
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

    .widget-flyout-menu > li:last-child {
        border-bottom: none;
    }

/* Dark mode menu items border - REMOVED to fix visible lines in dark mode */
/*[data-bs-theme="dark"] .widget-flyout-menu > li {
  border-bottom: none;
}*/
/* Keyboard navigation focus */
.widget-flyout-menu .dropdown-item:focus,
.widget-flyout-menu .dropdown-submenu > .dropdown-toggle:focus {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: -2px;
    background-color: var(--bs-dropdown-link-hover-bg, #f8f9fa);
}

/* Dark mode focus */
[data-bs-theme="dark"] .widget-flyout-menu .dropdown-item:focus,
[data-bs-theme="dark"] .widget-flyout-menu .dropdown-submenu > .dropdown-toggle:focus {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: -2px;
    background-color: var(--flyout-dark-hover-bg);
}

/* Icon spacing */
.widget-flyout-menu .dropdown-item i,
.widget-flyout-menu .dropdown-toggle i {
    margin-right: 0.5rem;
    flex-shrink: 0;
    width: 1.25em;
    text-align: center;
}

[dir="rtl"] .widget-flyout-menu .dropdown-item i,
[dir="rtl"] .widget-flyout-menu .dropdown-toggle i {
    margin-right: 0;
    margin-left: 0.5rem;
}

/* Text should not wrap */
.widget-flyout-menu .dropdown-item,
.widget-flyout-menu .dropdown-toggle {
    white-space: nowrap;
    gap: 0.5rem;
    font-size: 10pt;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .widget-flyout-menu .dropdown-menu {
        position: static !important;
        float: none;
        margin-left: 1rem !important;
        margin-right: 0 !important;
        box-shadow: none;
        border: none;
        border-left: 2px solid var(--flyout-border-light);
        border-radius: 0;
        max-width: 100%;
        width: auto;
    }

    [data-bs-theme="dark"] .widget-flyout-menu .dropdown-menu {
        border-left-color: var(--flyout-border-dark);
    }

    [dir="rtl"] .widget-flyout-menu .dropdown-menu {
        margin-left: 0 !important;
        margin-right: 1rem !important;
        border-left: none;
        border-right: 2px solid var(--flyout-border-light);
        max-width: 100%;
        width: auto;
    }

    [data-bs-theme="dark"][dir="rtl"] .widget-flyout-menu .dropdown-menu {
        border-right-color: var(--flyout-border-dark);
    }

    .dropdown-submenu > .dropdown-menu {
        display: none;
    }

    .dropdown-submenu.show > .dropdown-menu {
        display: block;
    }

    /* Prevent horizontal overflow on mobile */
    .widget-flyout-menu {
        max-width: 100%;
        overflow-x: hidden;
    }

    /* Ensure parent containers don't create gutters */
    [dir="rtl"] .widget-flyout-menu,
    [dir="rtl"] .widget {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100%;
    }
}
