/* =======================================================
   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 {
    position: relative;
    display: flex;
    gap: 2.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }

.menu--primary > li {
  position: relative;
  padding-bottom: 10px;
}

  .menu--primary > li > a {
    display: block;
    padding: .9rem 0 6px 0;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--vcom-header-text, #111);
    position: relative;
    transition: color .25s;
  }


  .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;
  }
}

/* ======================================================
   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: var(--vcom-header-bg, 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;
}

/* Underline bara under texten */
.menu--primary a {
  position: relative;
}


/* Gör att underline bara matchar textens bredd */
.menu--primary > li > a,
.menu--primary .sub-menu li > a {
  display: inline-block;
}

/* ======================================================
   CLEAN NESTED DROPDOWN
====================================================== */

.menu--primary > li {
  position: relative;
}

/* Nivå 2 */
.menu--primary > li > .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0;

  display: none;
  opacity: 0;
  transform: translateY(4px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;

  background: var(--vcom-bg, #fff);
  border: 1px solid var(--vcom-border, #e5e5e5);
  border-radius: 12px;
  box-shadow: 0 14px 32px rgba(0,0,0,.12);

  min-width: 260px;

  padding: .4rem 0;
  z-index: 1000;
}

.menu--primary > li:hover > .sub-menu,
.menu--primary > li.is-open > .sub-menu {
  display: block;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Länkar nivå 2 */
.menu--primary .sub-menu li {
  position: relative;
}

.menu--primary .sub-menu li a {
  display: inline-block;
  line-height: 1.25;
  padding: .55rem 1rem;
  font-size: .92rem;
  color: var(--vcom-text, #222);
  white-space: nowrap;
  transition: background .2s ease, color .2s ease;
}

.menu--primary .sub-menu li a:hover {
  color: var(--vcom-brand, #008060);
}

/* Nivå 3 */
.menu--primary .sub-menu .sub-menu {
  position: absolute;
  top: 0;
  left: 100%;
  margin-left: 0;

  display: none;
  opacity: 0;
  transform: none;
  transition: opacity .2s ease, transform .2s ease;
}

.menu--primary .sub-menu li:hover > .sub-menu {
  display: block;
  opacity: 1;
  transform: translateX(0);
}

.menu-item-has-children {
  position: relative;
}

.menu-item-has-children > a {
  padding-right: 24px;
}

.menu-item-has-children::after {
  content: "›";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: .85em;
  opacity: .4;
  pointer-events: none;
}

/* Nivå 3 box styling */
.menu--primary .sub-menu .sub-menu {
  background: var(--vcom-bg, #fff);
  border: 1px solid var(--vcom-border, #e5e5e5);
  border-radius: 12px;
  box-shadow: 0 14px 32px rgba(0,0,0,.12);
  padding: .4rem 0;
  min-width: 240px;
}

.menu--primary .sub-menu li {
  position: relative;
  padding-right: 6px; /* gör hover-zonen större */
}

/* Underline på nivå 2 & 3 */
.menu--primary .sub-menu li > a {
  position: relative;
}

.menu--primary .sub-menu li > a:hover::after {
  transform: scaleX(1);
}

.menu--primary .sub-menu li.current-menu-item > a::after,
.menu--primary .sub-menu li.current-menu-parent > a::after,
.menu--primary .sub-menu li.current-menu-ancestor > a::after {
  transform: scaleX(1);
}

/* Alla meny-länkar */
.menu--primary a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

/* Underline */
.menu--primary a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  background: var(--vcom-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}

/* Hover */
.menu--primary a:hover::after {
  transform: scaleX(1);
}

/* Aktiv state */
.menu--primary .current-menu-item > a::after,
.menu--primary .current-menu-parent > a::after,
.menu--primary .current-menu-ancestor > a::after {
  transform: scaleX(1);
}