/* =======================================================
   Desktop navigation — NEXT LEVEL BUILD
   - Underline hover på alla länkar
   - Bred megameny (kolumner i rad)
   - Smooth animation
   - Sticky header
======================================================= */

@media (min-width: 960px) {

  /* ===== Primär nivå ===== */
  .menu--primary {
    display: flex;
    gap: 2.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .menu--primary > li {
    position: relative;
    padding-bottom: 12px;
  }

  .menu--primary > li > a {
    display: block;
    padding: .9rem 0;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.05rem;
    color: #111;
    position: relative;
    transition: color .25s;
  }

  /* Underline-bar på huvudlänkar */
  .menu--primary > li > a::after {
    content: "";
    position: absolute;
    bottom: 4px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--vcom-brand, #008060);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
  }
  .menu--primary > li > a:hover {
    color: var(--vcom-brand, #008060);
  }
  .menu--primary > li > a:hover::after {
    transform: scaleX(1);
  }

  /* Dölj toppnivå-submenyer initialt */
  .menu--primary > li > .sub-menu {
    display: none;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
  }

  /* ======================================================
     Vanliga dropdowns (nivå 2)
  ====================================================== */
  .menu--primary > li:not(.has-mega) > .sub-menu {
    position: absolute;
    top: calc(100% - 6px);
    left: 0;
    margin: 0;
    padding: .75rem 0;
    list-style: none;
    background: #fff;
    border: 1px solid var(--vcom-border, #e5e5e5);
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0,0,0,.12);
    z-index: 1000;
    min-width: 240px;
  }

  .menu--primary > li:not(.has-mega):hover > .sub-menu {
    display: block;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .menu--primary > li:not(.has-mega) .sub-menu li a {
    display: block;
    position: relative;
    padding: .7rem 1.2rem;
    font-size: .95rem;
    color: #222;
    white-space: nowrap;
    transition: color .25s;
  }

  /* Underline på dropdown-länkar */
  .menu--primary > li:not(.has-mega) .sub-menu li a::after {
    content: "";
    position: absolute;
    bottom: .4rem;
    left: 1.2rem;
    width: calc(100% - 2.4rem);
    height: 2px;
    background: var(--vcom-brand, #008060);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
  }
  .menu--primary > li:not(.has-mega) .sub-menu li a:hover {
    color: var(--vcom-brand, #008060);
  }
  .menu--primary > li:not(.has-mega) .sub-menu li a:hover::after {
    transform: scaleX(1);
  }

  /* Flyout för nivå 3 i vanliga menyer */
  .menu--primary > li:not(.has-mega) .sub-menu .sub-menu {
    position: absolute;
    top: 0;
    left: 100%;
    margin-left: -1px;
  }
  .menu--primary > li:not(.has-mega) .sub-menu li:hover > .sub-menu {
    display: block;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  /* ======================================================
     Megameny (.has-mega)
  ====================================================== */
  .menu--primary > li.has-mega { position: static; }

  .menu--primary > li.has-mega > .sub-menu {
    position: absolute;
    top: calc(100% - 6px);
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    opacity: 0;
    pointer-events: none;

    display: grid;
    grid-auto-flow: column;         /* alla kolumner i rad */
    grid-auto-columns: 1fr;          /* lika breda */
    gap: 3rem;
    padding: 3rem 3.5rem;

    background: #fff;
    border: none;
    border-radius: 14px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.14);
    width: min(1400px, 95vw);
    z-index: 1000;

    transition: opacity .25s ease, transform .25s ease;
  }

  .menu--primary > li.has-mega:hover > .sub-menu {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
  }

  /* Kolumner (nivå 2) */
  .menu--primary > li.has-mega > .sub-menu > li {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    list-style: none;
  }

  .menu--primary > li.has-mega > .sub-menu > li > a {
    font-weight: 700;
    font-size: 1.05rem;
    color: #111;
    margin-bottom: .4rem;
    position: relative;
    transition: color .2s;
  }

  /* Underline på kolumnrubriker */
  .menu--primary > li.has-mega > .sub-menu > li > a::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--vcom-brand, #008060);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
  }
  .menu--primary > li.has-mega > .sub-menu > li > a:hover {
    color: var(--vcom-brand, #008060);
  }
  .menu--primary > li.has-mega > .sub-menu > li > a:hover::after {
    transform: scaleX(1);
  }

  /* Underkategorier (nivå 3) */
  .menu--primary > li.has-mega > .sub-menu > li > .sub-menu {
    display: flex !important;
    flex-direction: column;
    gap: .3rem;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .menu--primary > li.has-mega > .sub-menu > li > .sub-menu li a {
    display: block;
    padding: .3rem 0;
    font-size: .9rem;
    color: #555;
    transition: color .2s;
  }
  .menu--primary > li.has-mega > .sub-menu > li > .sub-menu li a:hover {
    color: var(--vcom-brand, #008060);
  }

  /* Rensa gamla borders i megameny */
  .menu--primary > li.has-mega .sub-menu li,
  .menu--primary > li.has-mega .sub-menu li a {
    border: none !important;
    background: none !important;
    box-shadow: none !important;
  }
}

/* ======================================================
   Dölj mobilmenyn på desktop
====================================================== */
@media (min-width: 960px) {
  #vc-mobile-nav,
  .menu--mobile { display: none !important; }
}

.menu--primary .sub-menu,
.menu--primary .sub-menu li {
  list-style: none;
}

/* ======================================================
   Sticky header (lägg .scrolled via JS)
====================================================== */
.site-header.scrolled {
  background: rgba(255,255,255,.96);
  box-shadow: 0 3px 12px rgba(0,0,0,.08);
  backdrop-filter: saturate(180%) blur(14px);
  transition: background .3s, box-shadow .3s;
}

.menu--primary a {
  text-decoration: none !important;
}

/* Underkategorier i megameny (nivå 3) */
.menu--primary > li.has-mega > .sub-menu > li > .sub-menu li a {
  display: block;
  position: relative;
  padding: .3rem 0;
  font-size: .9rem;
  color: #555;
  transition: color .2s;
}

/* Underline-bar animation på hover */
.menu--primary > li.has-mega > .sub-menu > li > .sub-menu li a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--vcom-brand, #008060);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}

.menu--primary > li.has-mega > .sub-menu > li > .sub-menu li a:hover {
  color: var(--vcom-brand, #008060);
}

.menu--primary > li.has-mega > .sub-menu > li > .sub-menu li a:hover::after {
  transform: scaleX(1);
}