.container {
  max-width: 1200px;
  margin: 0 auto;
}

.mega-menu {
  --bg-color: #fff;
  --hover: #f2f2f4;
  --bg-intermediate-color: #f1f1f1;
  --menu-accent: #ff585d;
  --txt-highlight: #161616;
  --txt-normal: #000;
  width: fit-content;
  position: relative !important;
}

/* Generic */
.mega-menu * {
  font-family: inherit;
}

.mega-menu a {
  text-decoration: none;
}

.mega-menu ul {
  padding: 0;
  margin: 0;
}

/* Toggle */

.mega-menu_toggle {
  font-size: 14px;
  font-weight: 800;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  padding: 25px 10px;
}

.mega-menu_toggle.active {
  background: #f3f3f3;
}

.mega-menu_toggle .open,
.mega-menu_toggle .close {
  width: 20px;
}

.mega-menu_toggle.active .open {
  display: none;
}

.mega-menu_toggle .close {
  display: none;
}
.mega-menu_toggle.active .close {
  display: block;
}

/* Grid */
.mega-menu_body {
  background: #fff;
  width: 100%;
  display: none;
  position: fixed;
  left: 0;
}

.mega-menu_body.active {
  display: block;
}

.mega-menu_body::before {
  content: "";
  display: block;
  width: 100vw;
  height: 30px;
  background: rgb(0, 0, 0);
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.1) 0%,
    rgba(0, 0, 0, 0) 100%
  );
  position: absolute;
  left: 0;
  top: 0;
  z-index: 20;
}

.mega-menu_body .container {
  position: relative;
}

ul.mega-menu_block {
  height: 100vh;
  padding-top: 40px;

  z-index: 10;
}

.mega-menu_main {
  width: calc(25%);
  position: relative;
  float: left;
}
.mega-menu_item {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style-type: none;
  box-sizing: border-box;
}

.mega-menu_item:hover,
.mega-menu_item.active {
  background: var(--hover);
}

.mega-menu-itemimage {
  width: 100px;
  border: 1px solid var(--menu-accent);
  height: 100vh;
  position: absolute;
  top: 0;
  left: 100%;
}

/* Mega menu right */

.mega-menu-right {
  position: absolute;
  left: 200%;
  width: 200%;
  top: 0;
  padding: 40px 0 40px 60px;
  visibility: hidden;
}

.mega-menu-right a,
.mega-menu_right a {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.mega-menu_right {
  width: 50%;
  height: 100vh;
  box-sizing: border-box;
  position: relative;
  float: right;
  padding: 40px 0 40px 60px;
}

.mega-menu_item:hover .mega-menu-right {
  visibility: visible;
  z-index: 10;
  background-color: var(--bg-intermediate-color);
}

.mega-menu_right::after {
  background-color: var(--bg-intermediate-color);
  content: "";
  height: 100%;
  position: absolute;
  width: 200%;
  z-index: -1;
  top: 0;
  left: 0;
}

.menu-item_image {
  width: 100%;
  height: 280px !important;
  object-fit: cover;
}

.mega-menu_item:hover > .mega-menu_submenu,
.mega-menu_item:hover > .mega-menu_link::before,
.mega-menu_link.active::before {
  visibility: visible;
  z-index: 10;
}

.mega-menu_link {
  color: var(--txt-highlight) !important;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 auto;
  padding: 8px 0 8px 8px;
}

.mega-menu_link::before {
  content: "";
  visibility: hidden;
  background: var(--menu-accent);
  height: 30px;
  width: 5px;
}

.mega-menu_main > ul > .mega-menu_item {
  font-weight: 800;
  font-size: 16px;
}

/* Submenu */

.mega-menu_submenu {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  border-left: solid 8px var(--hover);
  visibility: hidden;
  left: 100%;
  flex-grow: 1;
}

/* Submenu */

.mega-menu_submenu > .mega-menu_block > .mega-menu_item > .mega-menu_submenu {
  width: calc(200% + 1rem);
}

.mega-menu_submenu > .mega-menu_block > .mega-menu_item a {
  color: #000 !important;
  font-size: 15px;
  font-weight: 500;
}

.mega-menu_submenu > .mega-menu_block > .mega-menu_item a:hover {
  font-weight: 700;
}
/* Sub-submenu*/

.mega-menu_submenu
  > .mega-menu_block
  > .mega-menu_item
  > .mega-menu_submenu
  > .mega-menu_block {
  background: var(--bg-intermediate-color);
  padding: 40px 0 40px 60px;
}

.mega-menu_submenu
  > .mega-menu_block
  > .mega-menu_item
  > .mega-menu_submenu
  > .mega-menu_block
  > .mega-menu_item {
}

.mega-menu_submenu
  > .mega-menu_block
  > .mega-menu_item
  > .mega-menu_submenu
  > .mega-menu_block
  > .mega-menu_item
  a {
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 8px;
  color: var(--txt-normal) !important;
  text-decoration-color: #c7c7c7;
  margin-bottom: 15px;
  display: inline-block;
}

.mega-menu_submenu
  > .mega-menu_block
  > .mega-menu_item
  > .mega-menu_submenu
  > .mega-menu_block
  > .mega-menu_item
  a:hover {
  text-decoration-color: var(--txt-highlight);
}

.mega-menu_submenu
  > .mega-menu_block
  > .mega-menu_item
  > .mega-menu_submenu
  > .mega-menu_block
  > .mega-menu_item
  > .mega-menu_link::before {
  display: none;
}

.mega-menu_section-image {
  width: 100%;
  height: 280px;
  object-fit: cover;
  border-radius: 20px;
}

/* Details */

.more-from {
  -webkit-font-smoothing: antialiased;
  border: none;
  color: var(--txt-highlight);
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  margin-bottom: 20px;
  padding: 0;
  text-transform: inherit;
}

.mega-menu-right_title {
  font-size: 20px;
  font-weight: 700;
  color: var(--txt-highlight);
  margin-bottom: 8px;
}
.mega-menu-right_description {
  font-size: 14px;
  font-weight: 500;
}

@media (max-width: 1024px) {
  .mega-menu_toggle span {
    display: none;
  }

  .mega-menu_toggle .open,
  .mega-menu_toggle .close {
    width: 30px;
  }

  .mega-menu_body {
    background: white;
    height: 100vh;
    overflow-y: scroll;
    /*z-index: 99;*/
  }

  .mega-menu_main {
    width: 100%;
    padding-top: 20px;
  }

  #menu-menu-principal {
    padding: 0;
  }

  .mega-menu-right,
  .mega-menu_right {
    display: none !important;
  }

  .mega-menu_main {
    width: 100%;
  }

  ul.mega-menu_block {
    height: fit-content;
    padding-top: 0px;
    padding-left: 15px;
    border-left: none;
  }

  .mega-menu_submenu {
    width: 100%;
    height: 0;
    position: relative;
    left: 0;
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    border: none;
    pointer-events: none;
  }

  .mega-menu_link.active ~ .mega-menu_submenu {
    visibility: visible;
    height: fit-content;
    opacity: 1;
    pointer-events: auto;
  }

  .mega-menu_block {
    width: 100%;
  }

  .mega-menu_submenu > .mega-menu_block > .mega-menu_item > .mega-menu_submenu {
    width: 100%;
  }

  .mega-menu_submenu
    > .mega-menu_block
    > .mega-menu_item
    > .mega-menu_submenu
    > .mega-menu_block {
    background: none;
    padding: 0;
    padding-left: 25px;
  }

  .more-from {
    display: none;
  }

  .mega-menu_item {
    display: flex;
    flex-direction: column;
    gap: 0px;
  }

  .mega-menu_item:hover {
    background: none;
  }

  a.mega-menu_link {
    width: 100%;
    display: flex;
    flex-grow: none;
    padding-right: 40px;
  }

  /* Subitem */
  .mega-menu_submenu > .mega-menu_block > .mega-menu_item > .mega-menu_link {
    color: #000;
    font-size: 15px;
    font-weight: 500;
  }

  /* Subsubitem */
  .mega-menu_submenu
    > .mega-menu_block
    > .mega-menu_item
    > .mega-menu_submenu
    > .mega-menu_block
    > .mega-menu_item
    a {
    font-weight: 500;
    text-decoration: none;
    margin-bottom: 0;
  }

  .menu-item-has-children > .mega-menu_link {
    position: relative;
  }

  .menu-item-has-children > .mega-menu_link > .open {
    content: "";
    width: 20px;
    height: 100%;
    background-image: url("../assets/chevron-down.svg");
    background-repeat: no-repeat;
    background-position: 50%;
    position: absolute;
    left: calc(100% - 20px - 1rem);
    top: 50%;
    transform: translateY(-50%);
    z-index: 99;
    transform-origin: center center;
  }

  .mega-menu_link.active > .open {
    transform: translateY(-50%) rotate(180deg);
  }

  #menu-menu-principal > .mega-menu_item > .mega-menu_link.active {
    background: var(--hover);
  }

  .mega-menu_item:hover > .mega-menu_link::before {
    visibility: hidden;
  }

  .mega-menu_link.active::before {
    visibility: visible !important;
  }

  .mega-menu_submenu
    > .mega-menu_block
    > .mega-menu_item
    .mega-menu_link::before {
    display: none;
  }
}
