.mega-menu .mega-menu-row:first-child ul.mega-sub-menu[role="presentation"] {
  margin-top: 40px !important; /* not requested but seems necessary */
}

.mega-menu
  .mega-menu-row:first-child
  ul.mega-sub-menu[role="presentation"]
  .mega-block-title {
  font-family: var(--font-family) !important;
  font-weight: 700 !important;
  font-size: var(--font-size-h4) !important;
  color: var(--c-text-title) !important;
  border-width: 0 !important;
}

.mega-menu
  .mega-menu-row:first-child
  ul.mega-sub-menu[role="presentation"]
  .textwidget
  p {
  /* Description */
  font-size: var(--font-size-default);
  max-width: 792px !important;
  margin-bottom: 25px !important;
}

.mega-menu .mega-menu-row:nth-child(2) ul.mega-sub-menu[role="presentation"] {
  grid-gap: 64px !important;
}

#mega-menu-wrap-menu-main
  #mega-menu-menu-main
  li.mega-menu-column
  > ul.mega-sub-menu
  > li.mega-menu-item
  h4.mega-block-title {
  font-size: 14px;
}

#mega-menu-wrap-menu-main
  #mega-menu-menu-main
  li.mega-menu-column
  > ul.mega-sub-menu
  > li.mega-menu-item
  h4.mega-block-title:hover {
  /* border-bottom: 1px solid var(--c-border); */
}

.mega-menu ul.mega-sub-menu .mega-menu-link {
  /* Column links */
  font-family: var(--font-family) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: var(--font-size-default) !important;
  color: var(--c-text-title);
  padding: 2px 0 /*!important*/;
}

.mega-sub-menu .submenu-close {
  z-index: 999;
  position: absolute;
  top: 1rem;
  right: 1rem;
  background-color: yellow;
  color: red;
  border: solid black 2px;
}

#mega-menu-wrap-menu-main
  #mega-menu-menu-main
  li.mega-menu-megamenu
  > ul.mega-sub-menu {
  padding: 0 22px;
}

.mega-menu .mega-menu-row:nth-child(2) ul.mega-sub-menu[role="presentation"] {
  grid-gap: 10px !important;
}

.mega-menu .mega-menu-row:first-child ul.mega-sub-menu[role="presentation"] {
  margin-top: 15px !important;
}

#mega-menu-wrap-menu-main .mega-close-desktop {
  display: none;
}
.mega-menu-item.external-link > .mega-menu-link {
  justify-content: flex-end;
  flex-direction: row-reverse;
}
#mega-menu-wrap-menu-main
  .mega-menu-item
  .mega-menu-link[target="_blank"]::before {
  content: "" !important;
  --icon-size: 1rem;
  background-color: var(--text-action-high-grey);
  content: var(--external-link-content);
  display: inline-block;
  flex: 0 0 auto;
  height: var(--icon-size);
  margin-left: 0.25rem;
  -webkit-mask-image: url("../../../wp-dsfr-theme/dist-dsfr/icons/system/external-link-line.svg");
  mask-image: url("../../../wp-dsfr-theme/dist-dsfr/icons/system/external-link-line.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
  width: var(--icon-size);
}

/* HEADER */
/* keeping this breakpoint because the megamenu uses it and it prevents from repeating already existing code */
@media screen and (max-width: 991px) {
  .fr-header__menu .fr-container {
    padding: 0 16px;
  }

  .fr-header .fr-modal > * > .fr-btn--close {
    margin-top: 10px;
    margin-right: 11px;
  }

  .fr-header .mega-menu ul.mega-sub-menu .mega-menu-link,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-column
    > ul.mega-sub-menu
    > li.mega-menu-item
    h4.mega-block-title {
    font-size: 1rem !important;
  }

  .fr-header .fr-header__menu-links [aria-controls="fr-theme-modal"] {
    width: 100%;
    padding-inline: 24px;
    font-weight: 400;
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-megamenu
    > ul.mega-sub-menu {
    box-shadow: none;
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item
    > a.mega-menu-link {
    padding: 0 22px;
    font-weight: 700;
    border: none;
  }

  #mega-menu-wrap-menu-main #mega-menu-menu-main > li.mega-menu-item:hover,
  #mega-menu-wrap-menu-main #mega-menu-menu-main > li.mega-menu-item:active,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-toggle-on
    > a.mega-menu-link {
    border: none;
    background: var(--c-primary-light);
    color: var(--c-text);
    font-weight: 700;
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-grid
    > ul.mega-sub-menu
    > li.mega-menu-row {
    margin-top: 20px;
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-column
    > ul.mega-sub-menu
    > li.mega-menu-item
    h4.mega-block-title {
    border: none;
  }

  .mega-menu-column:not(:last-child) {
    border-bottom: 1px solid var(--border-default-grey) !important;
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    .mega-menu-item-has-children
    > .mega-sub-menu
    > .mega-menu-row
    > .mega-sub-menu
    > .mega-menu-column,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    .mega-menu-item-has-children
    > .mega-sub-menu
    > .mega-menu-row
    > .mega-sub-menu
    > .mega-menu-column
    > .mega-sub-menu
    > .mega-menu-item:last-child {
    margin-bottom: 25px;
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    .mega-menu-item-has-children
    > .mega-sub-menu
    > .mega-menu-row
    > .mega-sub-menu
    > .mega-menu-column:last-child {
    margin-bottom: 0;
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-grid
    > ul.mega-sub-menu
    > li.mega-menu-row
    > ul.mega-sub-menu
    > .mega-menu-column
    > ul.mega-sub-menu
    > li.mega-menu-item-object-page,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-grid
    > ul.mega-sub-menu
    > li.mega-menu-row
    > ul.mega-sub-menu
    > .mega-menu-column
    > ul.mega-sub-menu
    > li.mega-menu-item-type-custom {
    padding: 0;
  }

  .mega-menu-horizontal {
    margin-inline: 24px;
  }

  #mega-menu-wrap-menu-main .mega-menu-toggle + #mega-menu-menu-main {
    background: var(--background-lifted-grey);
  }
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-menu-item
    > a.mega-menu-link,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-menu-ancestor
    > a.mega-menu-link,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-page-ancestor
    > a.mega-menu-link {
    color: var(--text-active-blue-france);
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-menu-item
    > a.mega-menu-link,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item
    > a.mega-menu-link:active,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item
    > a.mega-menu-link:hover {
    background-color: var(--background-open-blue-france);
    font-weight: 700;
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item
    > a.mega-menu-link {
    color: var(--text-action-high-grey);
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-toggle-on
    > a.mega-menu-link {
    background: var(--background-open-blue-france);
    color: var(--text-active-blue-france);
  }
  #mega-menu-wrap-menu-main #mega-menu-menu-main > li.mega-menu-item {
    border-bottom: 1px solid var(--border-default-grey);
  }
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-megamenu
    > ul.mega-sub-menu {
    background: var(--background-lifted-grey);
  }
}

#mega-menu-wrap-menu-main
  #mega-menu-menu-main
  li.mega-menu-column-standard
  h4.mega-block-title,
#mega-menu-wrap-menu-main
  #mega-menu-menu-main
  li.mega-menu-column
  > ul.mega-sub-menu
  > li.mega-menu-item
  h4.mega-block-title,
#mega-menu-wrap-menu-main
  #mega-menu-menu-main
  li.mega-menu-column-standard
  > a.mega-menu-link,
#mega-menu-wrap-menu-main
  #mega-menu-menu-main
  li.mega-menu-column
  > ul.mega-sub-menu
  > li.mega-menu-item
  > a.mega-menu-link,
#mega-menu-wrap-menu-main
  #mega-menu-menu-main
  li.mega-menu-column
  > ul.mega-sub-menu
  > li.mega-menu-item
  .textwidget {
  color: var(--text-action-high-grey) !important;
}

/*
╔═════════════════════════════════════════════╗
║                                             ║
║                   TABLET                    ║
║                                             ║
╚═════════════════════════════════════════════╝
*/

@media only screen and (min-width: 768px) {
} /* end of @media only screen and (min-width: 768px) */

/*
╔═════════════════════════════════════════════╗
║                                             ║
║                   DESKTOP                   ║
║                                             ║
╚═════════════════════════════════════════════╝*/

/*Destop*/
@media screen and (min-width: 992px) {
  .fr-header [aria-controls="fr-theme-modal"] {
    display: none;
  }

  .fr-header .fr-nav {
    margin: 0 -16px;
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-menu-item
    > a.mega-menu-link {
    background: var(--text-default-grey);
    color: var(--text-action-high-blue-france);
    border-color: var(--text-action-high-blue-france);
  }
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item
    > a.mega-menu-link,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-menu-ancestor
    > a.mega-menu-link {
    color: var(--text-default-grey);
    border-color: rgba(1, 1, 1, 0);
  }
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item:not(.mega-current-menu-item)
    > a.mega-menu-link:hover,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item:not(.mega-current-menu-item)
    > a.mega-menu-link:focus,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item:not(.mega-current-menu-item)
    > a.mega-menu-link:active {
    background: var(--background-default-grey-hover);
    border-color: var(--text-action-high-blue-france);
    color: var(--text-action-high-blue-france);
  }
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-menu-item
    > a.mega-menu-link:hover,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-menu-item
    > a.mega-menu-link:focus {
    border-color: var(--text-action-high-blue-france);
    background: var(--background-default-grey-hover);
    color: var(--text-action-high-blue-france);
  }
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-item
    > a.mega-menu-link::before {
    background-color: var(--text-default-grey);
  }
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item
    > a.mega-menu-link:hover::before {
    background-color: var(--text-action-high-blue-france);
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-item-has-children
    > a.mega-menu-link
    > span.mega-indicator::after {
    transition: transform 0.3s ease;
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-item-has-children.mega-toggle-on
    > a.mega-menu-link
    > span.mega-indicator::after {
    transform: rotate(180deg);
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-megamenu
    > ul.mega-sub-menu {
    padding-top: 49px;
    padding-bottom: 40px;
  }

  /* Desktop close button */
  #mega-menu-wrap-menu-main .mega-toggle-on .mega-close-desktop {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 99999;
    display: block;
  }
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-menu-ancestor
    > a.mega-menu-link,
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-page-ancestor
    > a.mega-menu-link {
    background: transparent;
  }
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    li.mega-menu-megamenu
    > ul.mega-sub-menu {
    background-color: var(--background-overlap-grey);
  }

  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-menu-item
    > a.mega-menu-link {
    background-color: rgba(0, 0, 0, 0);
  }
  #mega-menu-wrap-menu-main
    #mega-menu-menu-main
    > li.mega-menu-item.mega-current-menu-ancestor
    > a.mega-menu-link {
    background-color: rgba(0, 0, 0, 0) !important;
    color: var(--text-action-high-blue-france) !important;
    border-color: var(--text-action-high-blue-france) !important;
  }
} /* end of @media screen and (min-width: 992px) */
