/* ===== DESKTOP MENU ===== */
.main-navigation {
    padding: 0.5rem 0;
  }
  
  .menu {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
  }
  
  .menu > li {
    flex-shrink: 0;
  }
  
  .menu li a {
    color: var(--color-dark-grey);
    font-family: var(--font-body);
    font-size: .875rem;
    font-weight: 500;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    transition: all 0.3s ease;
    display: inline-block;
    white-space: nowrap;
  }
  
  .menu li a:hover {
    background: var(--color-blue-logo);
    color: var(--color-white);
  }
  
  /* Active states */
  .menu li a.active,
  .menu li.current-menu-item a,
  .menu li.current-menu-ancestor > a { /* Active state voor parent van actief submenu */
    background: var(--color-menu-active-bg);
    color: var(--color-white);
    font-weight: 600;
  }
  
  /* ===== SUBMENU STYLING ===== */
  .menu li {
    position: relative;
  }
  
  .menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--color-header-bg);
    min-width: 200px;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    box-shadow: 0 10px 15px rgba(0,0,0,0.1);
    z-index: 100;
    margin-top: 5px;
    padding: 5px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(5px);
    transition: all 0.3s ease;
    list-style: none;
  }
  
  .menu .sub-menu li {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  
  .menu .sub-menu a {
    padding: 0.75rem 1rem;
    border-radius: 0;
    white-space: nowrap;
    display: block;
    transition: background 0.2s;
    color: var(--color-dark-grey);
  }
  
  .menu .sub-menu a:hover,
  .menu .sub-menu a.active,
  .menu .sub-menu .current-menu-item a {
    background: var(--color-hover-bg);
    color: var(--color-white) !important;
  }
  
  .menu li:hover > .sub-menu,
  .menu .sub-menu:hover {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  
  .menu-item-has-children > a::after {
    content: "⌄";
    margin-left: 5px;
    font-size: 0.8em;
    pointer-events: none; /* Prevent ::after from blocking link clicks */
  }
  
  .menu {
    position: relative;
    z-index: 1000;
  }
  
  .menu .sub-menu {
    z-index: 1001;
  }
  
  /* ===== DESKTOP SUBMENUS ===== */
  @media (min-width: 769px) {
    .menu .sub-menu {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      background: var(--color-header-bg);
      min-width: 200px;
      border-radius: 0 0 10px 10px;
      padding: 5px 0;
      z-index: 100;
      transition: all 0.3s ease;
    }
    
    /* Hover zone voor betere UX */
    .menu > li.menu-item-has-children::after {
      content: '';
      position: absolute;
      bottom: 0px;
      left: 0;
      width: 100%;
      height: 100%;
      background: transparent;
    }
    
    .menu li:hover > .sub-menu,
    .menu > li.menu-item-has-children:hover::after + .sub-menu,
    .menu .sub-menu:hover {
      display: block;
    }
    
    /* Fix: ensure parent menu links are clickable */
    .menu > li.menu-item-has-children > a {
      position: relative;
      z-index: 2;
    }
    .menu > li.menu-item-has-children::after {
      pointer-events: none;
    }
  }
  
  /* ===== MOBIEL MENU ===== */
  @media (max-width: 768px) {
    /* Verberg desktop menu */
    .menu {
      display: none;
    }
    
    /* Mobiel menu styling */
    .main-navigation {
      position: fixed;
      top: 62px;
      left: 0;
      right: 0;
      height: calc(100vh - 70px);
      background: var(--color-mobile-menu-bg);
      z-index: 1000;
      transform: translateY(-100%);
      opacity: 0;
      transition: all 0.4s ease;
      visibility: hidden;
      overflow-y: auto;
      margin-top: 0.5rem;
      padding: 0;
    }
    
    .main-navigation.is-active {
      transform: translateY(0);
      opacity: 1;
      visibility: visible;
    }
    
    .main-navigation .menu {
      display: flex;
      /* flex-direction: column; */
      /* gap: 0.5rem; */
      padding: 1rem 1.5rem;
      align-items:start; /* Links uitlijnen */
    }
  
    /* Hoofdmenu items */
    .main-navigation .menu > li {
      width: 100%;
    }
  
    .main-navigation .menu li a {
      font-size: 1.1rem;
      padding: 0.8rem 1rem;
      display: block;
      white-space: normal;
      color: var(--color-dark-grey);
      border-radius: 6px;
      transition: all 0.2s ease;
      text-align: left; /* Tekst links uitlijnen */
      width: 100%;
    }
  
    /* Hover effect voor mobiele menu items */
    .main-navigation .menu li a:hover {
      background: var(--color-hover-bg);
      color: var(--color-white) !important;
    }
  
    /* Submenu items - altijd zichtbaar */
    .menu .sub-menu {
      display: block !important;
      position: static;
      background: transparent;
      margin: 0.3rem 0 0 0; /* Indent met padding ipv margin */
      padding-left: 1rem;
      box-shadow: none;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
      width: 100%;
    }
  
    .menu .sub-menu li a {
      padding-left: 1.5rem;
      position: relative;
      font-size: 1rem;
      color: var(--color-dark-grey);
    }
  
    /* Remove active state from submenu items (mobile) */
    /* .menu .sub-menu li a.active,
    .menu .sub-menu li.current-menu-item a {
      background: none !important;
      color: var(--color-dark-grey) !important;
      font-weight: 500;
    }
   */
    /* Active state voor parent items */
    /* .menu li.current-menu-ancestor > a {
      background: var(--color-menu-active-bg);
      color: var(--color-white) !important;
      font-weight: 600;
    }
   */
    /* Hover effect voor submenu items */
    .menu .sub-menu li a:hover {
      background: var(--color-hover-bg) !important;
      color: var(--color-white) !important;
    }
  
    /* Visuele indicator voor subitems */
    .menu .sub-menu li a::before {
      content: "";
      position: absolute;
      left: 0.5rem;
      color: rgba(0,0,0,0.3);
      transition: transform 0.2s ease;
    }
  
    /* Animeer pijltje bij hover */
    .menu .sub-menu li a:hover::before {
      transform: translateX(3px);
      color: rgba(255,255,255,0.8);
    }
  
    /* Verwijder pijltjes van parent items */
    .menu-item-has-children > a::after {
      display: none;
    }
  
    /* Parent items styling */
    .menu-item-has-children > a {
      font-weight: 600;
      position: relative;
    }
  
    /* Active state voor menu items */
    .menu li a.active,
    .menu li.current-menu-item a {
      background: var(--color-menu-active-bg);
      color: var(--color-white);
      font-weight: 600;
    }
  
    /* Submenu slide-in voor mobiele weergave */
    .menu .sub-menu {
      position: fixed;
      top: 0;
      left: 100vw;
      width: 100vw;
      height: 100vh;
      background: var(--color-mobile-menu-bg, #fff);
      z-index: 2000;
      display: block;
      opacity: 1;
      visibility: visible;
      transform: translateX(0);
      transition: left 0.4s cubic-bezier(.4,0,.2,1);
      box-shadow: -2px 0 10px rgba(0,0,0,0.05);
      overflow-y: auto;
    }
    
    .menu li.submenu-open > .sub-menu {
      left: 0;
    }
    
    .menu li.menu-item-has-children > a {
      position: relative;
    }
    
    .menu li.menu-item-has-children > a::after {
      content: '\203A'; /* › arrow */
      position: absolute;
      right: 1rem;
      font-size: 1.5em;
      top: 50%;
      transform: translateY(-50%);
      pointer-events: none;
    }
    
    .menu .sub-menu .menu-item-has-children > a::after {
      content: '\203A';
    }
    
    /* Optioneel: terugknop voor submenu */
    .menu .sub-menu .submenu-back {
      display: flex;
      padding: 1rem;
      font-weight: bold;
      cursor: pointer;
      color: var(--color-dark-grey);
      background: none;
      border: none;
      text-align: left;
    }
  
    .menu .sub-menu {
      padding-top: 3.5rem;
    }
  
    .menu .submenu-back {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 1rem;
      padding: 1rem 1.5rem 0.5rem 1.5rem;
      background: var(--color-mobile-menu-bg, #fff);
      border-bottom: 1px solid #eee;
      position: sticky;
      top: 0;
      z-index: 10;
    }
  
    .submenu-back-btn {
      background: none;
      border: none;
      font-size: 1.5rem;
      color: var(--color-dark-grey);
      cursor: pointer;
      padding: 0 0.5rem 0 0;
      line-height: 1;
    }
  
    .submenu-parent-label {
      font-weight: 600;
      font-size: 1.1rem;
      color: var(--color-dark-grey);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      text-decoration: none;
    }
  }
  
  /* Admin bar fixes voor menu */
  @media screen and (max-width: 768px) {
    body.admin-bar .main-navigation {
      top: calc(70px + 46px);
      height: calc(100vh - 70px - 46px);
    }
  }
  
 .submenu-item a[aria-current="page"] {
    background-color: var(--color-blue-logo) !important;
  color: white !important;
}

 