/* ======================================================
   FINAL TWO-LEVEL MENU (LoadModule 23391)
   Clean. Stable. No hover gap. Wider dropdown.
   ====================================================== */

/* RESET */
.header .nav ul,
.header .nav li{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* TOP LEVEL LAYOUT */
.header .nav{
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  font-size: 15px !important;
  color: #2b3a52 !important;
}
button.submenu-toggle {
display:none;}
.header .nav > ul{
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
}

/* TOP LEVEL ITEMS */
.header .nav > li,
.header .nav > ul > li{
  position: relative !important;
}

/* TOP LEVEL LINKS */
.header .nav a{
  text-decoration: none !important;
  color: inherit !important;
}

.header .nav > li > a,
.header .nav > ul > li > a{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 4px;
  /*border-radius: 12px;*/
  font-weight: 600;
  letter-spacing: -0.01em !important;
  transition: color .18s ease !important;
}

.header .nav > li > a:hover,
.header .nav > ul > li > a:hover{
  color: var(--blue) !important;
}

/* CARET FIX (если есть <b class="caret">) */
.header .nav .caret{
  display:inline-block !important;
  width:0;
  height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:6px solid currentColor;
  opacity:.6;
  transform: translateY(1px);
}

/* SUBMENU BASE */
.header .nav > li > ul,
.header .nav > ul > li > ul{
  position: absolute !important;
  top: 100% !important;               /* УБРАНА hover-щель */
  left: 0 !important;

  min-width: 360px !important;        /* +50% к 240px */
  max-width: 480px !important;

  background: #ffffff !important;
  /*border: 1px solid var(--line) !important;
  border-radius: 18px !important;*/
  box-shadow: var(--shadow) !important;

  padding: 12px !important;           /* внутренний воздух */
  margin-top: 0 !important;

  z-index: 100 !important;

  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
  pointer-events: none !important;

  transition: opacity .18s ease,
              transform .18s ease,
              visibility .18s ease !important;
}

/* OPEN ON HOVER + FOCUS */
.header .nav > li:hover > ul,
.header .nav > li:focus-within > ul,
.header .nav > ul > li:hover > ul,
.header .nav > ul > li:focus-within > ul{
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

/* SUBMENU ITEMS */
.header .nav > li > ul > li > a,
.header .nav > ul > li > ul > li > a{
  display: flex !important;
  align-items: center !important;
  width: 100% !important;

  padding: 10px 13px !important;
  border-radius: 14px !important;

  font-size: 12px !important;        /* увеличенный текст */
  line-height: 1.1 !important;
  font-weight: 700 !important;
  color: #2b3a52 !important;

  transition: background-color .16s ease,
              color .16s ease !important;
}

/* SUBMENU HOVER */
.header .nav > li > ul > li > a:hover,
.header .nav > ul > li > ul > li > a:hover{
  background: rgba(11,103,178,.08) !important;
  color: var(--blue-deep) !important;
}

/* ACTIVE */
.header .nav a.active{
  background: rgba(11,103,178,.10) !important;
  color: var(--blue-deep) !important;
}

/* Optional: spacing between submenu rows */
.header .nav > li > ul > li + li,
.header .nav > ul > li > ul > li + li{
  margin-top: 4px !important;
}


/* ==============================
   MOBILE NAV — ACCORDION FIX
   ============================== */
@media (max-width: 980px){

  .burger{
    display: flex !important;
    position: relative !important;
    z-index: 1001 !important;
  }

  .mains_nav{
    display: block !important;

    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: min(92vw, 390px) !important;
    background: #fff !important;

    padding: 150px 18px 18px !important;

    transform: translateX(105%) !important;
    transition: transform .22s ease !important;

    z-index: 999 !important;
    overflow-y: auto !important;
  }

  body.nav-open .mains_nav{
    transform: translateX(0) !important;
  }

  .mains_nav .nav{
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
  }

  .mains_nav .nav,
  .mains_nav .nav ul,
  .mains_nav .nav li{
    list-style: none !important;
  }

  .mains_nav .nav li{
    margin: 0 !important;
    padding: 0 !important;
  }

  .mains_nav .nav > li{
    position: relative !important;
    margin-bottom: 10px !important;
  }

  .mains_nav .nav a{
    text-decoration: none !important;
    color: #2b3a52 !important;
  }

  .mains_nav .nav > li > a{
    display: block !important;
    width: auto !important;

    padding: 12px 52px 12px 12px !important;

    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;

    background: #fff !important;
  }

  /* убираем bootstrap caret */
  .mains_nav .nav .caret{
    display: none !important;
  }

  /* убираем любые стрелки через псевдоэлементы */
  .mains_nav .nav li.has-submenu > a::after{
    content: none !important;
    display: none !important;
  }

  .mains_nav .submenu-toggle{
    position: absolute !important;
    top: 4px !important;
    right: 4px !important;

    width: 38px !important;
    height: 38px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    background: transparent !important;

    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    color: #2b3a52 !important;
    cursor: pointer !important;
  }

  .mains_nav .dropdown-menu{
    display: none !important;

    position: static !important;
    float: none !important;

    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;

    margin: 4px 0 12px !important;
    padding: 0 0 0 12px !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .mains_nav .dropdown.is-open > .dropdown-menu{
    display: block !important;
  }

  .mains_nav .dropdown-menu li a{
    display: block !important;

    padding: 9px 12px !important;

    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;

    color: #2b3a52 !important;
    background: rgba(11,103,178,.05) !important;
  }

  .mains_nav .dropdown-menu li + li{
    margin-top: 6px !important;
  }
}
