/* Corrige a sobrelargura horizontal em browsers móveis.
   O drawer fechado e o menu não podem aumentar o viewport navegável. */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

.site-header {
  width: 100%;
  max-width: 100vw;
}

.course-finder-overlay {
  width: 100%;
  max-width: 100vw;
  overflow: hidden;
  contain: layout paint;
  overscroll-behavior: none;
}

.course-finder-drawer {
  max-width: 100vw;
}

.course-finder-tab {
  right: 0 !important;
  left: auto !important;
}

@media (max-width: 1100px) {
  .site-header .header-inner {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding-left: 20px;
    padding-right: 20px;
    gap: 12px;
  }

  .site-header .brand-logo {
    min-width: 0;
    max-width: calc(100% - 58px);
    flex: 0 1 auto;
  }

  .site-header .mobile-menu-btn {
    display: block;
    flex: 0 0 42px;
    margin-left: auto;
  }

  .site-header .header-cta,
  .site-header .header-quote-cart {
    display: none !important;
  }

  .site-header .main-nav {
    position: fixed !important;
    top: 70px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    overflow-x: hidden;
  }

  .site-header .main-nav.is-open {
    max-height: calc(100dvh - 70px);
    overflow-y: auto;
  }
}

@media (max-width: 520px) {
  .site-header .header-inner {
    padding-left: 14px;
    padding-right: 14px;
  }
}
