/* ===== Union.dev menu refresh ===== */

/* Dropdown panel */
.primary_structure .dnngo_slide_menu{
  background:#FFFFFF !important;
  border-top:3px solid #2F55D4 !important;
  border-radius:0 0 10px 10px;
  box-shadow:0 18px 40px rgba(2,10,26,.14);
  padding:12px !important;
  min-width:290px;
}
.primary_structure .dnngo_slide_menu li{border:0 !important;background:none !important;}

/* Menu items */
.primary_structure .dnngo_slide_menu li a{
  display:block !important;
  padding:10px 12px !important;
  border-radius:8px;
  color:#0F1B42 !important;
  font-size:14px !important;
  font-weight:500;
  line-height:1.3 !important;
  transition:background .15s,color .15s;
}
.primary_structure .dnngo_slide_menu li a:hover{
  background:#F0F5F9 !important;
  color:#2F55D4 !important;
}
.primary_structure > li:hover > a span{color:#2F55D4;}

/* One-line descriptions under each item */
.primary_structure .dnngo_slide_menu a::after{
  display:block;
  font-size:12px;
  font-weight:400;
  color:#5A6478;
  margin-top:3px;
}
/* Union OS */
.primary_structure a[href$="/member-management"]::after{content:"Member records, standing, and history";}
.primary_structure a[href$="/contract-management"]::after{content:"Collective agreements and wage schedules";}
.primary_structure a[href$="/member-portal-union-os"]::after{content:"Self-service for union members";}
.primary_structure a[href$="/dues-management"]::after{content:"Dues billing, payments, and arrears";}
.primary_structure a[href$="/job-dispatch"]::after{content:"Out-of-work lists and dispatch rules";}
.primary_structure a[href$="/training-hall-jatc-management"]::after{content:"Apprentice hours, courses, and certifications";}
.primary_structure a[href$="/grievance-management"]::after{content:"Track grievances from filing to resolution";}
/* Pension OS */
.primary_structure a[href$="/pension-participant-management-software"]::after{content:"Member records, service, and eligibility";}
.primary_structure a[href$="/employer-contribution-management-software"]::after{content:"Remittances, reconciliation, and arrears";}
.primary_structure a[href$="/member-portal-pension-os"]::after{content:"Self-service for pension members";}
.primary_structure a[href$="/defined-benefit-pension-administration"]::after{content:"Accruals, calculations, and payouts";}
.primary_structure a[href$="/defined-contribution-pension-administration"]::after{content:"Accounts, allocations, and statements";}
.primary_structure a[href$="/target-benefit-plan-administration-software"]::after{content:"Target benefit plans, built for Canada";}
/* Benefits OS */
.primary_structure a[href$="/hour-bank-plan-administration"]::after{content:"Hour bank eligibility and coverage";}
.primary_structure a[href$="/cobra-administration"]::after{content:"COBRA notices, elections, and premiums";}
/* Who We Serve */
.primary_structure a[href$="/who-we-serve/unions"]::after{content:"Locals, councils, and training halls";}
.primary_structure a[href$="/who-we-serve/tpas"]::after{content:"Third-party administrators";}
.primary_structure a[href$="/self-administered-pension-funds"]::after{content:"Pension funds run in-house";}
.primary_structure a[href$="/self-administered-benefit-funds"]::after{content:"Benefit funds run in-house";}

/* Pension OS: two columns with group labels */
.primary_structure > li:has(> a[href$="/pension-os"]) .dnngo_slide_menu{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  grid-template-rows:repeat(3,auto);
  grid-auto-flow:column;
  column-gap:16px;
  min-width:580px;
}
.primary_structure > li:has(> a[href$="/pension-os"]) .dnngo_slide_menu li:nth-child(1)::before,
.primary_structure > li:has(> a[href$="/pension-os"]) .dnngo_slide_menu li:nth-child(4)::before{
  display:block;
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  color:#2E7EED;
  padding:4px 12px 6px;
}
.primary_structure > li:has(> a[href$="/pension-os"]) .dnngo_slide_menu li:nth-child(1)::before{content:"PLATFORM";}
.primary_structure > li:has(> a[href$="/pension-os"]) .dnngo_slide_menu li:nth-child(4)::before{content:"PLAN TYPES";}
/* ===== Fix: current-page highlight + label alignment ===== */

/* Remove the theme's solid blue on the current item */
.primary_structure .dnngo_slide_menu li,
.primary_structure .dnngo_slide_menu li > a{
  background:transparent !important;
  text-align:left !important;
}
.primary_structure .dnngo_slide_menu li > a{padding:10px 12px !important;}

/* Replace it with a subtle, readable "you are here" style */
.primary_structure .dnngo_slide_menu li[class*="current"] > a,
.primary_structure .dnngo_slide_menu li[class*="active"] > a,
.primary_structure .dnngo_slide_menu li[class*="select"] > a{
  background:#F0F5F9 !important;
  color:#2F55D4 !important;
  box-shadow:inset 3px 0 0 #2F55D4;
  border-radius:0 8px 8px 0;
}

/* Hover stays light, never solid blue */
.primary_structure .dnngo_slide_menu li > a:hover{
  background:#F0F5F9 !important;
  color:#2F55D4 !important;
}

/* Descriptions always readable */
.primary_structure .dnngo_slide_menu li > a::after{color:#5A6478 !important;}

/* Group labels left-aligned above their columns */
.primary_structure .dnngo_slide_menu li::before{text-align:left !important;}
/* ===== One-blue cleanup ===== */

/* Group labels: quiet grey instead of a second blue */
.primary_structure .dnngo_slide_menu li::before{color:#5A6478 !important;}

/* Top-level menu: brand blue on hover and for the current section */
.primary_structure > li > a:hover span,
.primary_structure > li:hover > a span,
.primary_structure > li[class*="current"] > a span,
.primary_structure > li[class*="active"] > a span,
.primary_structure > li[class*="select"] > a span{
  color:#2F55D4 !important;
  border-color:#2F55D4 !important;
}
.primary_structure > li[class*="current"] > a,
.primary_structure > li[class*="active"] > a,
.primary_structure > li[class*="select"] > a{
  color:#2F55D4 !important;
  border-color:#2F55D4 !important;
}/* ===== Top banner: dark navy ===== */
.header-top-bg,
.header-top-bg .header-top{
  background-color:#0F1B42 !important;
}
.header-top-bg a{color:#FFFFFF !important;}
.header-top-bg a:hover{color:#F0F5F9 !important;text-decoration:underline;}
