.adstriver-mega-menu-active {
  overflow: visible !important;
}

.adstriver-mega-menu-active,
.adstriver-mega-menu-active > ul,
.adstriver-mega-menu-active > ul > li {
  overflow: visible !important;
}

.adstriver-mega-menu-active > ul > li.adstriver-menu-ready {
  position: relative !important;
}

.adstriver-mega-menu-active > ul > li.adstriver-mega-item {
  position: static !important;
}

.adstriver-mega-menu-active > ul > li.adstriver-menu-ready > .second,
.adstriver-mega-menu-active > ul > li.adstriver-menu-ready > ul.sub-menu {
  margin: 0 !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
  background: var(--adstriver-bg, #fff) !important;
  box-shadow: 0 22px 55px var(--adstriver-shadow, rgba(0, 0, 0, 0.12)) !important;
  border: 1px solid var(--adstriver-border, rgba(0, 0, 0, 0.05)) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease !important;
  z-index: 999999999 !important;
  box-sizing: border-box !important;
}

.adstriver-mega-menu-active > ul > li.adstriver-menu-ready > .second *,
.adstriver-mega-menu-active > ul > li.adstriver-menu-ready > ul.sub-menu * {
  box-sizing: border-box !important;
}

.adstriver-mega-menu-active > ul > li.adstriver-open > .second,
.adstriver-mega-menu-active > ul > li.adstriver-open > ul.sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.adstriver-mega-menu-active > ul > li.adstriver-small-item > .second,
.adstriver-mega-menu-active > ul > li.adstriver-small-item > ul.sub-menu {
  position: absolute !important;
  top: calc(100% + var(--adstriver-small-top-gap, 14px) + var(--adstriver-small-position-y, 0px)) !important;
  left: calc(50% + var(--adstriver-small-position-x, 0px)) !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding: var(--adstriver-small-padding-top, 20px) var(--adstriver-small-padding-right, 22px) var(--adstriver-small-padding-bottom, 20px) var(--adstriver-small-padding-left, 22px) !important;
  margin: var(--adstriver-small-margin-top, 0px) var(--adstriver-small-margin-right, 0px) var(--adstriver-small-margin-bottom, 0px) var(--adstriver-small-margin-left, 0px) !important;
  border-radius: var(--adstriver-small-radius, 28px) !important;
  transform: translateX(-50%) translateY(8px) !important;
}

.adstriver-mega-menu-active > ul > li.adstriver-small-item.adstriver-open > .second,
.adstriver-mega-menu-active > ul > li.adstriver-small-item.adstriver-open > ul.sub-menu {
  transform: translateX(-50%) translateY(0) !important;
}

.adstriver-mega-menu-active > ul > li.adstriver-mega-item > .second,
.adstriver-mega-menu-active > ul > li.adstriver-mega-item > ul.sub-menu {
  position: fixed !important;
  top: calc(var(--adstriver-mega-top, 112px) + var(--adstriver-mega-position-y, 0px)) !important;
  left: calc(50% + var(--adstriver-mega-position-x, 0px)) !important;
  width: max-content !important;
  min-width: var(--adstriver-mega-min-width, 720px) !important;
  max-width: none !important;
  height: auto !important;
  max-height: calc(100vh - var(--adstriver-mega-max-gap, 132px)) !important;
  min-height: var(--adstriver-mega-shell-height, 408px) !important;
  overflow: visible !important;
  padding: var(--adstriver-mega-padding-top, 30px) var(--adstriver-mega-padding-right, 30px) var(--adstriver-mega-padding-bottom, 30px) var(--adstriver-mega-padding-left, 30px) !important;
  margin: var(--adstriver-mega-margin-top, 0px) var(--adstriver-mega-margin-right, 0px) var(--adstriver-mega-margin-bottom, 0px) var(--adstriver-mega-margin-left, 0px) !important;
  border-radius: var(--adstriver-mega-radius, 30px) !important;
  transform: translateX(-50%) translateY(10px) !important;
}

.adstriver-mega-menu-active > ul > li.adstriver-mega-item.adstriver-open > .second,
.adstriver-mega-menu-active > ul > li.adstriver-mega-item.adstriver-open > ul.sub-menu {
  transform: translateX(-50%) translateY(0) !important;
}

.adstriver-mega-menu-active .second > .inner,
.adstriver-mega-menu-active .second > .inner > ul {
  display: contents !important;
}

.adstriver-small-submenu,
.adstriver-mega-layout {
  box-sizing: border-box !important;
}

.adstriver-small-submenu {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--adstriver-submenu-text-gap, 12px) !important;
  width: max-content !important;
  max-width: none !important;
}

.adstriver-small-submenu a,
.adstriver-mega-links a {
  display: block !important;
  color: var(--adstriver-text, #262b31) !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal !important;
  line-height: 1.45 !important;
  font-size: var(--adstriver-link-size, 14px) !important;
  font-weight: var(--adstriver-link-weight, 300) !important;
  transition: color 0.18s ease, transform 0.18s ease !important;
}

.adstriver-small-submenu a {
  padding: 0 !important;
  width: max-content !important;
  max-width: none !important;
  white-space: nowrap !important;
}

.adstriver-mega-links a {
  padding: var(--adstriver-link-padding-y, 6px) var(--adstriver-link-padding-x, 0px) !important;
  white-space: nowrap !important;
}

.adstriver-small-submenu a:hover,
.adstriver-mega-links a:hover {
  color: var(--adstriver-primary, #3ca6da) !important;
  transform: translateX(2px) !important;
}

.adstriver-mega-links a.adstriver-uppercase-link,
.adstriver-small-submenu a.adstriver-uppercase-link {
  font-size: var(--adstriver-title-size, 16px) !important;
  font-weight: var(--adstriver-title-weight, 700) !important;
  letter-spacing: 0.02em !important;
  color: var(--adstriver-title, #1f1f1f) !important;
}

.adstriver-mega-links a.adstriver-btp-link,
.adstriver-small-submenu a.adstriver-btp-link {
  font-size: var(--adstriver-link-size, 14px) !important;
  font-weight: var(--adstriver-link-weight, 300) !important;
  letter-spacing: 0 !important;
}

.adstriver-mega-layout {
  display: grid !important;
  grid-template-columns: max-content var(--adstriver-mega-visual-width, 560px) !important;
  gap: var(--adstriver-mega-gap, 34px) !important;
  width: max-content !important;
  max-width: none !important;
  min-height: var(--adstriver-mega-visual-height, 348px) !important;
  align-items: stretch !important;
}

.adstriver-mega-content {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: var(--adstriver-mega-visual-height, 348px) !important;
}

.adstriver-mega-links {
  display: grid !important;
  grid-template-columns: repeat(var(--adstriver-mega-columns, 2), max-content) !important;
  gap: var(--adstriver-submenu-text-gap, var(--adstriver-links-gap-row, 12px)) var(--adstriver-links-gap-col, 44px) !important;
  min-width: 0 !important;
  align-content: start !important;
  padding: 10px 0 !important;
}

.adstriver-mega-group {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--adstriver-submenu-text-gap, 12px) !important;
  row-gap: var(--adstriver-submenu-text-gap, 12px) !important;
}

.adstriver-mega-group > a {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.adstriver-mega-group > a + a {
  margin-top: var(--adstriver-submenu-text-gap, 12px) !important;
}

.adstriver-mega-button-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 5 !important;
}

.adstriver-mega-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 6 !important;
  background: var(--adstriver-primary, #3ca6da) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.adstriver-mega-button:hover {
  background: var(--adstriver-primary-hover, #2d94c5) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

.adstriver-mega-visuals {
  display: flex !important;
  gap: var(--adstriver-mega-image-gap, 14px) !important;
  min-width: 0 !important;
  height: var(--adstriver-mega-visual-height, 348px) !important;
  min-height: var(--adstriver-mega-visual-height, 348px) !important;
  align-items: stretch !important;
}

.adstriver-mega-img {
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  height: var(--adstriver-mega-visual-height, 348px) !important;
  min-height: var(--adstriver-mega-visual-height, 348px) !important;
  border-radius: var(--adstriver-mega-image-radius, 22px) !important;
  background-size: cover !important;
  background-position: var(--adstriver-mega-image-position, center) !important;
  overflow: hidden !important;
  transition: flex 0.34s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.24s ease, filter 0.24s ease !important;
}

.adstriver-mega-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(10, 14, 25, 0.05), rgba(10, 14, 25, 0.22)) !important;
  transition: background 0.24s ease !important;
}

.adstriver-mega-img:nth-child(1) { flex: var(--adstriver-mega-image-1-flex, 0.72) 1 0 !important; }
.adstriver-mega-img:nth-child(2) { flex: var(--adstriver-mega-image-2-flex, 1.05) 1 0 !important; }
.adstriver-mega-img:nth-child(3) { flex: var(--adstriver-mega-image-3-flex, 2.15) 1 0 !important; }

.adstriver-mega-visuals:hover .adstriver-mega-img {
  flex: var(--adstriver-mega-image-hover-base-flex, 0.88) 1 0 !important;
}

.adstriver-mega-visuals:hover .adstriver-mega-img:hover {
  flex: var(--adstriver-mega-image-hover-active-flex, 2.7) 1 0 !important;
  transform: translateY(-1px) !important;
}

.adstriver-mega-visuals:hover .adstriver-mega-img:hover::after {
  background: linear-gradient(180deg, rgba(10, 14, 25, 0.08), rgba(10, 14, 25, 0.30)), linear-gradient(135deg, rgba(60, 166, 218, 0.24), rgba(60, 166, 218, 0.06)) !important;
}


.adstriver-mega-menu-active > ul > li.adstriver-mega-item.adstriver-compact > .second,
.adstriver-mega-menu-active > ul > li.adstriver-mega-item.adstriver-compact > ul.sub-menu {
  overflow: visible !important;
}

.adstriver-mega-item.adstriver-compact .adstriver-mega-layout {
  grid-template-columns: 1fr !important;
  min-height: auto !important;
}

.adstriver-mega-item.adstriver-compact .adstriver-mega-content {
  min-height: auto !important;
}

.adstriver-mega-item.adstriver-compact .adstriver-mega-links {
  grid-template-columns: repeat(var(--adstriver-compact-columns, 2), minmax(0, 1fr)) !important;
}

.adstriver-mega-item.adstriver-compact .adstriver-mega-visuals {
  display: none !important;
}

@media (max-width: 1024px) {
  .adstriver-mega-menu-active > ul > li.adstriver-menu-ready > .second,
  .adstriver-mega-menu-active > ul > li.adstriver-menu-ready > ul.sub-menu {
    display: none !important;
  }
}


/* Dispositions sans images */
.adstriver-mega-menu-active .adstriver-no-images-layout {
  grid-template-columns: 1fr !important;
  width: max-content !important;
  height: auto !important;
  min-height: 0 !important;
}

.adstriver-mega-menu-active .adstriver-no-images-layout .adstriver-mega-content {
  min-height: auto !important;
}

.adstriver-mega-menu-active .adstriver-no-images-layout .adstriver-mega-visuals {
  display: none !important;
}

.adstriver-mega-menu-active .adstriver-no-images-columns .adstriver-no-images-links {
  grid-template-columns: repeat(var(--adstriver-no-image-columns-current, var(--adstriver-no-image-columns, 3)), max-content) !important;
}

.adstriver-mega-menu-active .adstriver-no-images-grid .adstriver-no-images-links {
  grid-template-columns: repeat(var(--adstriver-no-image-columns-current, var(--adstriver-no-image-columns, 3)), max-content) !important;
  align-items: start !important;
}

.adstriver-mega-menu-active .adstriver-no-images-single .adstriver-no-images-links {
  grid-template-columns: 1fr !important;
}

.adstriver-mega-menu-active .adstriver-no-images-single .adstriver-no-images-links a,
.adstriver-mega-menu-active .adstriver-no-images-grid .adstriver-no-images-links a {
  width: max-content !important;
  max-width: none !important;
}

/* Services default no-images layout: title at top of each real column */
.adstriver-mega-menu-active .adstriver-no-images-layout .adstriver-mega-links .adstriver-services-group {
  min-width: max-content !important;
}
