/**
 * Styles partagés navigation — sous-menus desktop + menu mobile (toggle, dropdowns).
 * Chargé par compact, garden et landing (main-nav.css ne duplique plus ces règles).
 */

.olympus-main-nav-item-submenu-wrap {
  position: relative;
}

.olympus-main-nav-item-submenu {
  position: absolute;
  z-index: 99;
  top: 30px;
  width: 300px;
  left: -150px;
  margin-left: 50%;
  padding-top: 20px;
}

.olympus-main-nav-item-submenu.submenu-cta {
  left: unset;
  right: 0;
  margin-left: unset;
  top: 40px;
  max-height: calc(100vh - 150px);
  overflow: auto;
}

.olympus-main-nav-item-submenu-content {
  -webkit-box-shadow: 0px 6px 12px -6px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 6px 12px -6px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 20px;
  background: var(--wp--preset--color--background-site);
  color: var(--wp--preset--color--background-site-contrast);
  border-radius: 4px;
  padding: 20px;
  border-top: 2px solid var(--wp--preset--color--primary);
  max-height: calc(100vh - 150px);
  overflow: auto;
}

.olympus-main-nav-item-submenu-content .main-nav-popup-inside-link,
.olympus-main-nav-item-submenu-content .olympus-main-nav-submenu-title {
  color: var(--wp--preset--color--background-site-contrast);
}

.olympus-main-nav-item-submenu-content .main-nav-popup-inside-link:hover,
.olympus-main-nav-item-submenu-content .main-nav-popup-inside-link:focus-visible,
.olympus-main-nav-item-submenu-content .olympus-main-nav-submenu-title:hover,
.olympus-main-nav-item-submenu-content .olympus-main-nav-submenu-title:focus-visible {
  color: var(--wp--preset--color--primary);
}

.olympus-main-nav-submenu-submenu,
.olympus-main-nav-submenu-item {
  width: 260px;
}

.main-nav-popup-inside-link {
  text-decoration: none;
  display: block;
  font-size: 0.9rem;
  margin: 3px 0;
}

.olympus-main-nav-submenu-title {
  font-weight: 600;
  font-size: 1rem;
}

.olympus-mobile-nav-toggle {
  width: 31px;
  height: 35px;
  padding-top: 1px;
  cursor: pointer;
}

.olympus-mobile-nav-toggle .line-1,
.olympus-mobile-nav-toggle .line-2,
.olympus-mobile-nav-toggle .line-3 {
  width: 100%;
  height: 2px;
  background: var(--wp--preset--color--background-site-contrast);
  margin-top: 7px;
  margin-left: auto;
  transition: width 200ms ease;
}

.olympus-mobile-nav-toggle.open .line-1 {
  width: 33%;
}

.olympus-mobile-nav-toggle.open .line-2 {
  width: 66%;
}

.olympus-mobile-nav-toggle.open .line-3 {
  width: 33%;
}

.olympus-main-nav-mobile {
  position: relative;
  z-index: 9999;
  margin: 10px;
  background: var(--wp--preset--color--neutral);
  padding: 10px;
  border-radius: 4px;
  max-height: 90vh;
  overflow: auto;
}

.main-nav-primary-link-mobile.dropdown {
  display: flex;
  align-items: center;
}

.main-nav-primary-link-mobile.dropdown > a {
  width: 60%;
  text-decoration: none;
}

.main-nav-primary-link-mobile.dropdown > .main-nav-mobile-dropdown-toggle {
  text-align: right;
  width: 40%;
  cursor: pointer;
}

.main-nav-primary-link-mobile.dropdown
  > .main-nav-mobile-dropdown-toggle
  > svg {
  height: 16px;
  transition: all 200ms ease;
}

.main-nav-primary-link-mobile.dropdown
  > .main-nav-mobile-dropdown-toggle.open
  > svg {
  transform: rotate(180deg);
}

.main-nav-mobile-dropdown-content-container {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  margin-bottom: 10px;
}

.olympus-main-nav-mobile .main-nav-primary-link-mobile.dropdown,
.olympus-main-nav-mobile .olympus-main-nav-item {
  margin-bottom: 10px;
}
