﻿/* 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;
}

/* 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%;
  }
}

