/**
 * TB Mega Menu - Taevas Life Sciences Custom Styling
 * Matches the design from the screenshots
 */

/* ============================================
   MEGA MENU CONTAINER
   ============================================ */

.tbm {
  background-color: #f5f5f500;
  position: relative;
}

/* Ensure navbar doesn't cause overflow */
.navbar {
  overflow: visible !important;
}

/* Prevent horizontal scroll on body */
body.tbm-submenu-open {
  overflow-x: hidden !important;
}

/* Enhanced hover system - maintain submenu visibility */
.tbm-item.level-1:hover .tbm-submenu,
.tbm-item.level-1 .tbm-submenu:hover,
.tbm-item.level-1:focus-within .tbm-submenu,
.tbm-item.level-2:hover .tbm-submenu,
.tbm-item.level-2 .tbm-submenu:hover,
.tbm-item.level-2:focus-within .tbm-submenu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Create a larger hover area around the menu */
.tbm-nav.level-0 > .tbm-item.level-1:hover,
.tbm-nav.level-0 > .tbm-item.level-1:focus-within {
  z-index: 10000;
}

/* Ensure submenu container has proper hover detection */
.tbm-submenu.tbm-has-width:hover {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Keep main submenu open when hovering over flyout submenus */
.tbm-item.level-1:hover > .tbm-submenu,
.tbm-item.level-1:has(.tbm-item.level-2:hover) > .tbm-submenu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.tbm-item.level-1 {
    border-right: 0 !important;
    position: relative !important;
}

/* Add hover zone to prevent submenu from closing */
.tbm-item.level-1::after {
    content: '';
    position: absolute;
    top: 100%;
    left: -50px;
    right: -50px;
    height: 30px;
    z-index: 9998;
    pointer-events: auto;
    background: transparent;
}

/* More robust hover detection */
.tbm-item.level-1,
.tbm-item.level-1 .tbm-submenu {
    transition: all 0.3s ease;
}

/* Ensure submenu stays visible during transition */
.tbm-item.level-1:hover > .tbm-submenu,
.tbm-item.level-1 > .tbm-submenu:hover,
.tbm-item.level-1:focus-within > .tbm-submenu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    transition-delay: 0ms !important;
}

/* Hover zone for level-2 items with flyouts */
.tbm-item.level-2.tbm-item--has-flyout::after {
    content: '';
    position: absolute;
    top: 0;
    right: -20px;
    width: 20px;
    height: 100%;
    z-index: 9998;
    pointer-events: auto;
}

/* Hide submenu by default, show on hover with better interaction */
.tbm-item > .tbm-submenu {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  transform: translateY(-10px);
  border-radius: 20px;
  background-color: #F5F5F7 !important;
}

/* Ensure main submenu doesn't get positioned incorrectly */
.tbm-item.level-1 > .tbm-submenu.tbm-has-width {
  left: -610px !important;
  right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Override any inline positioning */
.tbm-submenu.tbm-has-width[style*="left"] {
  left: -610px !important;
}

/* Better hover behavior - keep submenu visible when moving between elements */
.tbm-item.level-1:hover > .tbm-submenu,
.tbm-item.level-1:focus-within > .tbm-submenu,
.tbm-item.level-1 > .tbm-submenu:hover,
.tbm-item.level-2:hover > .tbm-submenu,
.tbm-item.level-2:focus-within > .tbm-submenu,
.tbm-item.level-2 > .tbm-submenu:hover {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* Prevent submenu from closing when moving cursor */
.tbm-item.level-1:hover,
.tbm-item.level-1:focus-within {
  .tbm-submenu {
    transition-delay: 0ms !important;
  }
}

/* Add delay when leaving to prevent flickering */
.tbm-item.level-1:not(:hover):not(:focus-within) .tbm-submenu {
  transition-delay: 150ms !important;
}

/* Mega Menu Dropdown Container - Full Width */
.tbm-submenu.tbm-has-width {
  background: #F5F5F7 !important;
  border: none !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12) !important;
  padding: 40px !important;
  width: calc(100vw - 40px) !important;
  max-width: 1320px !important;
  left: 20px !important;
  right: 20px !important;
  margin: 0 auto !important;
  transform: none !important;
  z-index: 9999 !important;
  box-sizing: border-box !important;
}

/* ============================================
   MEGA MENU GRID LAYOUT
   ============================================ */

.tbm-row {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Column sizing for 3-column layout with span4 */
.tbm-column.span4 {
  flex: 1 !important;
  min-width: 0 !important;
  max-width: calc(33.333% - 16px) !important;
  box-sizing: border-box !important;
}

/* Ensure subnav respects column width */
.tbm-column .tbm-subnav.level-1 {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* ============================================
   LEFT COLUMN - ICON CARDS
   ============================================ */

.tbm-column {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 100% !important;
  overflow: hidden !important;
}

.tbm-column-inner {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 100% !important;
  overflow: hidden !important;
}

/* Style for menu items in left column (icon cards) */
.tbm-column .tbm-subnav.level-1 > .tbm-item {
  background: #FFFFFF !important;
  border-radius: 16px !important;
  padding: 20px 24px !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  list-style: none !important;
  margin-bottom: 12px !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  position: relative !important;
}

.tbm-column .tbm-subnav.level-1 > .tbm-item:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  transform: translateY(-2px) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

/* Default style for menu items - ensure they don't overflow */
.tbm-subnav.level-1 > .tbm-item {
  list-style: none !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Simple link items (Company menu style) - shown as cards but contained */
.tbm-subnav.level-1 > .tbm-item:not(.tbm-item--has-flyout) .tbm-link {
  max-width: 100% !important;
  width: 100% !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Reset hover for non-first-column items */
.tbm-column .tbm-subnav.level-1 > .tbm-item:hover {
  box-shadow: none !important;
  transform: none !important;
  border-color: transparent !important;
}

/* Icon Container - using ::before pseudo-element (only for left column) */
.tbm-column .tbm-subnav.level-1 > .tbm-item .tbm-link-container {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  width: 100% !important;
}

.tbm-column .tbm-subnav.level-1 > .tbm-item .tbm-link-container::before {
  content: '' !important;
  width: 48px !important;
  height: 48px !important;
  background: #F5F5F7 !important;
  border-radius: 12px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
}

/* Menu Item Link Styling - Left Column (icon cards) */
.tbm-column .tbm-subnav.level-1 > .tbm-item .tbm-link {
  text-decoration: none !important;
  color: #1A1A1A !important;
  flex: 1 !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.tbm-column .tbm-subnav.level-1 > .tbm-item .tbm-link::after {
  content: attr(data-description) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #86868B !important;
  line-height: 1.4 !important;
  margin-top: 2px !important;
  display: block !important;
}

/* Default link styling for simple items (Company menu) */
.tbm-subnav.level-1 > .tbm-item .tbm-link {
  text-decoration: none !important;
  color: #1A1A1A !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  display: block !important;
  padding: 16px 20px !important;
  background: #FFFFFF !important;
  border-radius: 12px !important;
  margin-bottom: 10px !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.tbm-subnav.level-1 > .tbm-item .tbm-link:hover {
  background: #FAFAFA !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

.tbm-subnav.level-1 > .tbm-item .tbm-link::after {
  display: none !important;
}

/* Override for first column (icon cards) - remove these default styles */
.tbm-column .tbm-subnav.level-1 > .tbm-item .tbm-link {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.tbm-column .tbm-subnav.level-1 > .tbm-item .tbm-link:hover {
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* Default link container for simple items */
.tbm-subnav.level-1 > .tbm-item .tbm-link-container {
  display: block !important;
  width: 100% !important;
}

/* Products with flyout menus - style as white cards */
.tbm-subnav.level-1 > .tbm-item.tbm-item--has-flyout {
  background: #FFFFFF !important;
  border-radius: 12px !important;
  padding: 25px 20px !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  margin-bottom: 10px !important;
  position: relative !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  display: flex !important;
  align-items: center !important;
}

.tbm-subnav.level-1 > .tbm-item.tbm-item--has-flyout:hover {
  background: #FAFAFA !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  transform: translateX(2px) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

.tbm-subnav.level-1 > .tbm-item.tbm-item--has-flyout .tbm-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #2C2C2E !important;
  text-decoration: none !important;
  display: block !important;
}

/* Arrow indicator for flyout items */
.tbm-subnav.level-1 > .tbm-item.tbm-item--has-flyout .tbm-link-container {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  gap: 12px !important;
}

.tbm-subnav.level-1 > .tbm-item.tbm-item--has-flyout .tbm-link-container::before {
  display: none !important;
}

.tbm-subnav.level-1 > .tbm-item.tbm-item--has-flyout:hover .tbm-link-container::after {
  transform: translateX(3px) !important;
  color: #86868B !important;
}

/* Reposition flyout submenus to appear in the second column area */
.tbm-subnav.level-1 > .tbm-item.tbm-item--has-flyout > .tbm-submenu {
  position: absolute !important;
  left: calc(100% + 32px) !important; /* Position in second column */
  top: 0 !important;
  width: 320px !important;
  min-width: 320px !important;
  max-width: 320px !important;
  padding: 20px !important;
  background: #FFFFFF !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  z-index: 10001 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

/* Show first item's submenu by default */
.tbm-column:first-child .tbm-subnav.level-1 > .tbm-item.tbm-item--has-flyout:first-child > .tbm-submenu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Show flyout on hover */
.tbm-subnav.level-1 > .tbm-item.tbm-item--has-flyout:hover > .tbm-submenu,
.tbm-subnav.level-1 > .tbm-item.tbm-item--has-flyout:focus-within > .tbm-submenu,
.tbm-subnav.level-1 > .tbm-item.tbm-item--has-flyout > .tbm-submenu:hover {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Hide other flyouts when one is active */
.tbm-column:first-child .tbm-subnav.level-1:hover > .tbm-item.tbm-item--has-flyout:not(:hover) > .tbm-submenu {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Style for JavaScript-created level-3 container in second column */
.level-3-display-container {
  background: #FFFFFF !important;
  border-radius: 16px !important;
  padding: 20px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  margin-bottom: 16px !important;
}

.level-3-display-container .tbm-subnav.level-2 {
  margin: 0 !important;
  padding: 0 !important;
}

/* Active state for level-2 items */
.tbm-item.level-2.active-level-3 {
  background: #F8F8FA !important;
  border-color: rgba(124, 58, 237, 0.1) !important;
  box-shadow: 0 4px 16px rgba(124, 58, 237, 0.08) !important;
}

/* Second column styling for level-3 display */
.tbm-column:nth-child(2) .tbm-column-inner {
  min-height: 300px !important;
  position: relative !important;
}

/* Remove the Products title */
.level-3-display-container::before {
  display: none !important;
}

.tbm-subnav.level-2 {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.tbm-subnav.level-2 > .tbm-item {
  list-style: none !important;
  margin-bottom: 8px !important;
}

.tbm-subnav.level-2 > .tbm-item .tbm-link-container {
  display: flex !important;
  align-items: center !important;
  padding: 12px 16px !important;
  background: #FFFFFF !important;
  border-radius: 10px !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  transition: all 0.2s ease !important;
}

.tbm-subnav.level-2 > .tbm-item:hover .tbm-link-container {
  background: #F8F8FA !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
  transform: translateX(2px) !important;
}

.tbm-subnav.level-2 .tbm-link {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #2C2C2E !important;
  text-decoration: none !important;
  display: block !important;
  flex: 1 !important;
}

/* Arrow for level-3 items */
.tbm-subnav.level-2 > .tbm-item .tbm-link-container::after {
  content: '→' !important;
  margin-left: auto !important;
  color: #C7C7CC !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  transition: all 0.2s ease !important;
}

.tbm-subnav.level-2 > .tbm-item:hover .tbm-link-container::after {
  transform: translateX(2px) !important;
  color: #86868B !important;
}

/* ============================================
   FEATURED CARD (Right Side) & BLOCKS
   ============================================ */

.tbm-block {
  background: #FFFFFF !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  height: 100% !important;
  position: relative !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.tbm-block .card{
  background-color: #ffffff;
}

.tbm-block:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
  transform: translateY(-4px) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

.tbm-block .block-inner {
  padding: 0 !important;
  position: relative !important;
  z-index: 2 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Hide site branding blocks in mega menu */
.tbm-block .site-branding {
  display: none !important;
}

/* Featured card with image */
.tbm-block img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block !important;
  margin-bottom: 0 !important;
}

.tbm-block h2,
.tbm-block h3 {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  line-height: 1.3 !important;
  margin-bottom: 12px !important;
  padding: 0 24px !important;
  margin-top: 20px !important;
}

.tbm-block p {
  font-size: 14px !important;
  color: #86868B !important;
  line-height: 1.5 !important;
  flex-grow: 1 !important;
}

.tbm-block .card-body {
  padding: 0.75rem 0.25rem 0.25rem 0.25rem;
}

.tbm-block a.button,
.tbm-block .btn {
  display: inline-flex !important;
  align-items: center !important;
  padding: 5px 10px !important;
  background: #7C3AED !important;
  color: #FFFFFF !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  transition: all 0.2s ease !important;
  border: none !important;
  align-self: flex-start !important;
  margin: 0 !important;
}

.tbm-block a.button:hover,
.tbm-block .btn:hover {
  background: #6D28D9 !important;
  transform: translateX(3px) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px rgba(124, 58, 237, 0.3) !important;
}

.tbm-block a.button:hover::after,
.tbm-block .btn:hover::after {
  transform: translateX(2px) !important;
}

/* ============================================
   TOP LEVEL MENU ITEMS
   ============================================ */
.scrollup .tbm-link.level-1, .navbar-light .tbm-link.level-1 {
  color: #ffffffa6 !important;
}

.body-scrolled .tbm-link.level-1,.navbar-dark .tbm-link.level-1  {
  color: #757575cc !important;
}

.scrollup .tbm-item.level-1.active .tbm-link.level-1, .navbar-light .tbm-item.level-1.active .tbm-link.level-1 {
  color: #ffffff !important;
}

.body-scrolled .tbm-item.level-1.active .tbm-link.level-1,.navbar-dark .tbm-item.level-1.active .tbm-link.level-1 {
  color: #000 !important;
}

.tbm-link.level-1 {
  font-weight: 600 !important;
  font-family: 'Clash Display';
  text-transform: uppercase;
  transition: color 0.3s ease !important;
  letter-spacing: 1px;
  font-size: 0.85em;
  word-spacing: 2px;
  padding: 0 1.125rem !important;
  line-height: 56px;
}

.tbm-item--has-dropdown .tbm-link-container .tbm-link.tbm-toggle:after {
  font-family: 'themify';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  margin-left: 3px;
  font-size: 0.5rem;
  content: "\e64b";
}

.tbm-submenu-toggle.always-show {
    display: none;
}

.tbm-link.level-1:hover, .tbm-link.level-1:focus {
  background-color: #27272700;
}

.tbm-link.level-1:hover,
.tbm-item:hover > .tbm-link-container > .tbm-link.level-1 {
  color: var(--taevas-green) !important;
}

/* Hide submenu toggle buttons in desktop view */
.tbm-submenu-toggle {
  background-color: #ffffff00;
  width: auto;
}

.scrollup .tbm-submenu-toggle, .navbar-light .tbm-submenu-toggle {
  color: #FFFFFF !important;
}

.body-scrolled .tbm-submenu-toggle,.navbar-dark .tbm-submenu-toggle  {
  color: #1D1D1F !important;
}

/* ============================================
   ANIMATIONS
   ============================================ */

/* Animation handled by transition in hover state */
@keyframes megaMenuFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 1400px) {
  .tbm-submenu.tbm-has-width {
    padding: 32px !important;
  }
  
  .tbm-row {
    gap: 24px !important;
  }
}

@media (max-width: 1200px) {
  .tbm-submenu.tbm-has-width {
    padding: 24px !important;
  }
  
  .tbm-row {
    flex-direction: column !important;
    gap: 20px !important;
  }
  
  .tbm-column.span4 {
    flex: none !important;
    width: 100% !important;
  }
  
  /* Show submenu toggle for mobile */
  .tbm-submenu-toggle {
    display: block !important;
  }
}

@media (max-width: 768px) {
  .tbm-submenu.tbm-has-width {
    padding: 20px !important;
    border-radius: 16px !important;
  }
  
  .tbm-row {
    gap: 16px !important;
  }
  
  /* Stack flyout menus on mobile */
  .tbm-item.tbm-item--has-flyout > .tbm-submenu {
    position: static !important;
    margin-left: 0 !important;
    margin-top: 12px !important;
  }
}

/* ============================================
   ICON STYLES (FontAwesome / Custom)
   ============================================ */

/* Add icon support via data attributes or classes */
.tbm-item[data-icon]::before,
.tbm-item.has-icon .tbm-link-container::before {
  content: attr(data-icon) !important;
  font-size: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Specific product icons */
.tbm-link:contains("Balance")::before,
.tbm-item:has(.tbm-link:contains("Balance")) .tbm-link-container::before {
  content: '⚖️' !important;
}

.tbm-link:contains("Audiology")::before,
.tbm-item:has(.tbm-link:contains("Audiology")) .tbm-link-container::before {
  content: '�' !important;
}

.tbm-link:contains("Sleep")::before,
.tbm-item:has(.tbm-link:contains("Sleep")) .tbm-link-container::before {
  content: '�️' !important;
}

.tbm-link:contains("Imaging")::before,
.tbm-item:has(.tbm-link:contains("Imaging")) .tbm-link-container::before {
  content: '🎯' !important;
}

/* ============================================
   CUSTOM SVG ICONS FOR SPECIFIC CLASSES
   ============================================ */

/* Audiology Icon - More specific selector */
.tbm-column .tbm-subnav.level-1 > .audiology-icon .tbm-link-container::before,
.audiology-icon .tbm-link-container::before {
  content: '' !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50.303.345C38.875-1.332 31.925 3.328 28.107 7.531c-6.093 6.704-8.234 16.803-6.786 22.694a2.5 2.5 0 0 0 4.856-1.194c-.969-3.94.448-12.435 5.63-18.137 4.367-4.806 10.344-6.691 17.771-5.601 17.614 2.583 25.499 20.083 25.499 36.28 0 12.635-4.263 23.459-13.822 35.095l-1.231 1.502c-8.01 9.782-14.924 18.231-23.52 16.627-11.985-2.24-11.587-15.556-11.564-16.115a2.5 2.5 0 0 0-2.383-2.611 2.48 2.48 0 0 0-2.612 2.383c-.288 6.288 2.609 18.823 15.641 21.258 1.067.2 2.105.295 3.118.295 9.903 0 17.35-9.094 25.189-18.669l1.226-1.495C75.465 67.25 80.078 55.447 80.078 41.574 80.076 23.225 70.87 3.363 50.303.345z' fill='%237C3AED'/%3E%3Cpath d='M27.79 74.057c1.067.764 2.088 1.07 3.051 1.069 2.478 0 4.577-2.027 6.11-3.509 1.561-1.509 3.175-3.068 5.05-3.416 8.032-1.492 13.19-6.093 15.332-13.675 1.369-4.848.833-9.001-1.592-12.344-4.51-6.213-14.272-7.46-18.797-7.699-1.565-4.041-1.911-8.325-.09-12.101 1.643-3.406 3.988-5.645 6.783-6.473 3.042-.902 6.625-.179 10.359 2.087 11.086 6.727 12.118 26.603 7.958 37.33-2.372 6.116-3.903 9.219-8.611 13.254a2.499 2.499 0 1 0 3.254 3.796c5.739-4.92 7.614-9.041 10.02-15.242 4.789-12.351 3.975-34.917-10.026-43.413-4.972-3.017-9.941-3.92-14.374-2.607-4.183 1.239-7.595 4.384-9.867 9.095-4.492 9.313.493 20.477 7.426 27.41a2.501 2.501 0 0 0 3.536-3.536 30.14 30.14 0 0 1-3.562-4.317c3.907.523 9.417 1.868 11.944 5.351 1.501 2.069 1.771 4.702.826 8.048-1.603 5.677-5.343 8.987-11.432 10.118-3.354.622-5.715 2.903-7.612 4.736-.789.763-2.11 2.039-2.569 2.087 0-.001-.068-.018-.208-.118-.832-.595-1.048-.954.35-3.976.72-1.557 1.465-3.166 1.186-4.864-.898-5.473-.042-6.766.242-7.031.21-.196.776-.21 1.515-.04 1.189.277 1.626.957 1.783 1.479.161.535.032.957-.05 1.046a2.5 2.5 0 0 0 3.272 3.781c1.563-1.351 2.214-3.68 1.657-5.935-.648-2.628-2.716-4.587-5.53-5.242-3.126-.726-5.022.284-6.064 1.26-2.8 2.623-2.411 7.519-1.765 11.421-.009.352-.475 1.358-.784 2.024-1.121 2.427-3.207 6.937 1.279 10.146z' fill='%237C3AED'/%3E%3C/svg%3E") !important;
  background-size: 48px 48px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  width: 48px !important;
  height: 48px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
}

/* Balance & Vestibular Icon */
.tbm-column .tbm-subnav.level-1 > .balance-icon .tbm-link-container::before,
.tbm-item.balance-icon .tbm-link-container::before {
  content: '' !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M205.08 71.92A50.92 50.92 0 1 1 256 122.84a50.919 50.919 0 0 1-50.92-50.92zm225.579 76.119H81.341a25.277 25.277 0 1 0 0 50.553h112.782v261.47a30.939 30.939 0 0 0 61.877 0v-139.61l42.3 42.3-19.9 19.9a30.938 30.938 0 0 0 43.749 43.748l37.074-37.073a37.665 37.665 0 0 0 0-53.164l-41.346-41.346v-96.225h112.782a25.277 25.277 0 1 0 0-50.553z' fill='%237C3AED'/%3E%3C/svg%3E") !important;
  background-size: 48px 48px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  width: 48px !important;
  height: 48px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
}

/* Sleep Therapy Icon */
.tbm-column .tbm-subnav.level-1 > .sleep-therapy-icon .tbm-link-container::before,
.tbm-item.sleep-therapy-icon .tbm-link-container::before {
  content: '' !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M34.001 29.023h4a1 1 0 0 1 0 2h-4a1 1 0 0 1 0-2zm23.085 1h-5a1 1 0 0 0-1 1v8h-38v-16a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v26a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3h38v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-18a1 1 0 0 0-1-1zm-41 8h10a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-10a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1zm19.943-12.046c.701-.117 1.994-3.341 1.994-5s-1.293-4.884-2.005-5c-.702.116-1.995 3.34-1.995 5s1.293 4.883 2.006 5zm-2.708-.322a12.888 12.888 0 0 1-1.235-4.632 5.584 5.584 0 0 1 .058-.71c-1.66-1.09-3.629-1.68-4.016-1.408-.41.582.954 3.78 2.125 4.951a9.922 9.922 0 0 0 3.068 1.799zm8.77-1.802c1.169-1.167 2.534-4.366 2.114-4.957-.385-.276-2.503.379-4.166 1.52a5.344 5.344 0 0 1 .047.607 12.88 12.88 0 0 1-1.272 4.701 10.052 10.052 0 0 0 3.278-1.871z' fill='%237C3AED'/%3E%3C/svg%3E") !important;
  background-size: 48px 48px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  width: 48px !important;
  height: 48px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
}

/* Imaging Solution Icon */
.tbm-column .tbm-subnav.level-1 > .imaging-icon .tbm-link-container::before,
.tbm-item.imaging-icon .tbm-link-container::before {
  content: '' !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11 1.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 1 0V2A1.502 1.502 0 0 0 14 .5h-3a.5.5 0 0 0 0 1zM15 10.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 0 0 1h3a1.502 1.502 0 0 0 1.5-1.5v-3a.5.5 0 0 0-.5-.5zM2 15.5h3a.5.5 0 0 0 0-1H2a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 0-1 0v3A1.502 1.502 0 0 0 2 15.5zM1 5.5a.5.5 0 0 0 .5-.5V2a.5.5 0 0 1 .5-.5h3a.5.5 0 0 0 0-1H2A1.502 1.502 0 0 0 .5 2v3a.5.5 0 0 0 .5.5zM8 11.5A3.5 3.5 0 1 0 4.5 8 3.504 3.504 0 0 0 8 11.5zm0-6A2.5 2.5 0 1 1 5.5 8 2.503 2.503 0 0 1 8 5.5z' fill='%237C3AED'/%3E%3C/svg%3E") !important;
  background-size: 48px 48px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  width: 48px !important;
  height: 48px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
}

/* ============================================
   UTILITY CLASSES
   ============================================ */

.tbm-item.highlighted,
.tbm-block.highlighted {
  background: linear-gradient(135deg, #F3E8FF 0%, #E9D5FF 100%) !important;
}

.tbm-item.featured {
  background: linear-gradient(135deg, #F3E8FF 0%, #E9D5FF 100%) !important;
}

.badge-new {
  display: inline-block !important;
  padding: 4px 12px !important;
  background: #7C3AED !important;
  color: #FFFFFF !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  margin-left: 8px !important;
  letter-spacing: 0.5px !important;
}

/* ============================================
   FIX ALIGNMENT ISSUES
   ============================================ */

/* Remove default TB Mega Menu spacing */
.tbm-column.span4,
.tbm-column.span12 {
  padding: 0 !important;
  margin: 0 !important;
}

.tbm-column-inner {
  padding: 0 !important;
}

/* Ensure proper list styling */
.tbm-subnav {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Fix link display */
.tbm-link {
  display: block !important;
}

.tbm-link.no-link {
  cursor: pointer !important;
}

/* Ensure blocks fill their containers */
.tbm-block {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.block-inner {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
