/* Make the menu consistent and fit within the screen */
.ims-consistent-menu-container,
header .ims-consistent-menu-container,
.site-header .ims-consistent-menu-container,
.main-header .ims-consistent-menu-container,
.navbar .ims-consistent-menu-container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

/* Logo compacting */
.ims-consistent-logo-holder,
.ims-consistent-logo-link,
.ims-consistent-logo-img,
header .ims-consistent-logo-holder,
header .ims-consistent-logo-link,
header .ims-consistent-logo-img,
.site-header .ims-consistent-logo-holder,
.site-header .ims-consistent-logo-link,
.site-header .ims-consistent-logo-img,
.main-header .ims-consistent-logo-holder,
.main-header .ims-consistent-logo-link,
.main-header .ims-consistent-logo-img,
.navbar .ims-consistent-logo-holder,
.navbar .ims-consistent-logo-link,
.navbar .ims-consistent-logo-img {
  max-width: var(--ims-menu-logo-width) !important;
}

.ims-consistent-logo-holder,
.ims-consistent-logo-link,
header .ims-consistent-logo-holder,
header .ims-consistent-logo-link,
.site-header .ims-consistent-logo-holder,
.site-header .ims-consistent-logo-link,
.main-header .ims-consistent-logo-holder,
.main-header .ims-consistent-logo-link,
.navbar .ims-consistent-logo-holder,
.navbar .ims-consistent-logo-link {
  flex-shrink: 0 !important;
}

.ims-consistent-logo-img,
header .ims-consistent-logo-img,
.site-header .ims-consistent-logo-img,
.main-header .ims-consistent-logo-img,
.navbar .ims-consistent-logo-img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Shift menu left and reduce spacing */
.ims-consistent-main-nav,
header .ims-consistent-main-nav,
.site-header .ims-consistent-main-nav,
.main-header .ims-consistent-main-nav,
.navbar .ims-consistent-main-nav,
.main-navigation.ims-consistent-main-nav {
  transform: translateX(var(--ims-menu-shift-left)) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  overflow: visible !important;
}

.ims-consistent-main-nav ul,
.ims-consistent-menu-list,
header .ims-consistent-main-nav ul,
.site-header .ims-consistent-main-nav ul,
.main-header .ims-consistent-main-nav ul,
.navbar .ims-consistent-main-nav ul,
.main-navigation.ims-consistent-main-nav ul {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: var(--ims-menu-gap) !important;
  column-gap: var(--ims-menu-gap) !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

.ims-consistent-menu-item,
.ims-consistent-main-nav li,
header .ims-consistent-main-nav li,
.site-header .ims-consistent-main-nav li,
.main-header .ims-consistent-main-nav li,
.navbar .ims-consistent-main-nav li {
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

.ims-consistent-menu-link,
.ims-consistent-main-nav a,
header .ims-consistent-main-nav a,
.site-header .ims-consistent-main-nav a,
.main-header .ims-consistent-main-nav a,
.navbar .ims-consistent-main-nav a {
  font-size: var(--ims-menu-font-size) !important;
  line-height: 1.1 !important;
  padding-left: var(--ims-menu-button-padding-x) !important;
  padding-right: var(--ims-menu-button-padding-x) !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

.ims-consistent-menu-button {
  border-radius: 999px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Laptop-friendly smaller spacing */
@media (max-width: 1280px) {
  .ims-consistent-main-nav,
  header .ims-consistent-main-nav,
  .site-header .ims-consistent-main-nav,
  .main-header .ims-consistent-main-nav,
  .navbar .ims-consistent-main-nav {
    transform: translateX(calc(var(--ims-menu-shift-left) - 10px)) !important;
  }

  .ims-consistent-menu-link,
  .ims-consistent-main-nav a,
  header .ims-consistent-main-nav a,
  .site-header .ims-consistent-main-nav a,
  .main-header .ims-consistent-main-nav a,
  .navbar .ims-consistent-main-nav a {
    font-size: calc(var(--ims-menu-font-size) - 1px) !important;
    padding-left: max(7px, calc(var(--ims-menu-button-padding-x) - 3px)) !important;
    padding-right: max(7px, calc(var(--ims-menu-button-padding-x) - 3px)) !important;
  }

  .ims-consistent-main-nav ul,
  .ims-consistent-menu-list {
    gap: max(6px, calc(var(--ims-menu-gap) - 4px)) !important;
  }
}

@media (max-width: 1024px) {
  .ims-consistent-logo-holder,
  .ims-consistent-logo-link,
  .ims-consistent-logo-img,
  header .ims-consistent-logo-holder,
  header .ims-consistent-logo-link,
  header .ims-consistent-logo-img,
  .site-header .ims-consistent-logo-holder,
  .site-header .ims-consistent-logo-link,
  .site-header .ims-consistent-logo-img,
  .main-header .ims-consistent-logo-holder,
  .main-header .ims-consistent-logo-link,
  .main-header .ims-consistent-logo-img,
  .navbar .ims-consistent-logo-holder,
  .navbar .ims-consistent-logo-link,
  .navbar .ims-consistent-logo-img {
    max-width: var(--ims-menu-logo-width-tablet) !important;
  }

  .ims-consistent-main-nav {
    transform: translateX(-15px) !important;
  }

  .ims-consistent-main-nav ul,
  .ims-consistent-menu-list {
    gap: 8px !important;
  }
}

@media (max-width: 767px) {
  .ims-consistent-menu-container,
  header .ims-consistent-menu-container,
  .site-header .ims-consistent-menu-container,
  .main-header .ims-consistent-menu-container,
  .navbar .ims-consistent-menu-container {
    flex-wrap: wrap !important;
    justify-content: space-between !important;
  }

  .ims-consistent-logo-holder,
  .ims-consistent-logo-link,
  .ims-consistent-logo-img,
  header .ims-consistent-logo-holder,
  header .ims-consistent-logo-link,
  header .ims-consistent-logo-img,
  .site-header .ims-consistent-logo-holder,
  .site-header .ims-consistent-logo-link,
  .site-header .ims-consistent-logo-img,
  .main-header .ims-consistent-logo-holder,
  .main-header .ims-consistent-logo-link,
  .main-header .ims-consistent-logo-img,
  .navbar .ims-consistent-logo-holder,
  .navbar .ims-consistent-logo-link,
  .navbar .ims-consistent-logo-img {
    max-width: var(--ims-menu-logo-width-mobile) !important;
  }

  .ims-consistent-main-nav,
  header .ims-consistent-main-nav,
  .site-header .ims-consistent-main-nav,
  .main-header .ims-consistent-main-nav,
  .navbar .ims-consistent-main-nav {
    transform: none !important;
    width: 100% !important;
    flex-basis: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
  }

  .ims-consistent-main-nav ul,
  .ims-consistent-menu-list {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }

  .ims-consistent-menu-link,
  .ims-consistent-main-nav a {
    font-size: 13px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
  }
}
