/* K10 Industrial 2.2.0: editable logo and reliable mobile navigation. */
.brand,
.footer-logo {
  min-width: 0;
}

.k10-site-logo {
  display: inline-flex;
  align-items: center;
  max-width: 310px;
}

.k10-site-logo.custom-logo-link {
  min-width: 0;
}

.k10-site-logo .custom-logo {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 64px;
  object-fit: contain;
}

.footer-logo .k10-site-logo .custom-logo {
  max-height: 70px;
}

@media (min-width: 901px) {
  .main-nav[aria-hidden="true"] {
    visibility: visible;
  }
}

@media (max-width: 900px) {
  .site-header {
    z-index: 1200;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .header-inner {
    position: relative;
  }

  .brand {
    position: relative;
    z-index: 1203;
    max-width: calc(100% - 72px);
  }

  .k10-site-logo {
    max-width: min(230px, 58vw);
  }

  .k10-site-logo .custom-logo {
    max-height: 50px;
  }

  .menu-toggle {
    position: relative;
    z-index: 1204;
    flex: 0 0 44px;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .main-nav {
    top: 0;
    right: -110%;
    z-index: 1202;
    width: min(88vw, 390px);
    height: 100vh;
    height: 100dvh;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, 0, 0);
    transition: right .3s ease, opacity .2s ease, visibility 0s linear .3s;
  }

  .main-nav.is-open {
    right: 0;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: right .3s ease, opacity .2s ease, visibility 0s;
  }

  .main-nav[aria-hidden="true"] {
    visibility: hidden;
  }

  .main-nav[aria-hidden="false"].is-open {
    visibility: visible;
  }

  .mobile-menu-backdrop {
    z-index: 1190;
  }

  .main-nav .k10-menu > li > a,
  .main-nav .sub-menu a,
  .submenu-toggle {
    -webkit-tap-highlight-color: transparent;
  }

  .main-nav .menu-item-has-children {
    align-items: start;
  }

  .submenu-toggle {
    position: relative;
    z-index: 2;
    cursor: pointer;
    touch-action: manipulation;
  }
}

@media (max-width: 520px) {
  .k10-site-logo {
    max-width: 185px;
  }

  .k10-site-logo .custom-logo {
    max-height: 46px;
  }
}


/* K10 Industrial 2.2.1: desktop navigation alignment and dropdown indicator fix. */
@media (min-width: 901px) {
  .header-inner {
    flex-wrap: nowrap;
  }

  .brand {
    flex: 0 0 auto;
    margin-right: clamp(8px, 1vw, 18px);
  }

  .main-nav {
    flex: 0 1 auto;
    min-width: 0;
    margin-left: auto;
  }

  .main-nav .k10-menu {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: clamp(0px, .35vw, 6px);
    white-space: nowrap;
  }

  .main-nav .k10-menu > li {
    display: flex;
    align-items: stretch;
    flex: 0 0 auto;
  }

  .main-nav .k10-menu > li > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    min-height: 86px;
    padding: 0 clamp(8px, .9vw, 13px);
    line-height: 1;
    white-space: nowrap;
  }

  .main-nav .submenu-arrow {
    display: inline-block;
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    margin: -4px 0 0 3px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    font-size: 0;
    line-height: 0;
    transform: rotate(45deg);
    transform-origin: center;
    transition: transform .2s ease, margin .2s ease;
  }

  .main-nav .menu-item-has-children:hover > a .submenu-arrow,
  .main-nav .menu-item-has-children:focus-within > a .submenu-arrow {
    margin-top: 3px;
    transform: rotate(225deg);
  }

  .header-cta {
    flex: 0 0 auto;
    margin-left: 2px;
  }
}

@media (min-width: 901px) and (max-width: 1220px) {
  .header-inner {
    gap: 12px;
  }

  .main-nav .k10-menu > li > a {
    padding-inline: 8px;
    font-size: .88rem;
  }

  .k10-site-logo {
    max-width: 240px;
  }

  .header-cta {
    padding: 11px 16px;
  }
}
