/* Critical mobile overrides — loads after globals.css, wins over Tailwind layers */
.menu-toggle {
  position: relative !important;
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}
.menu-toggle svg,
.menu-toggle .icon-open,
.menu-toggle .icon-close {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
}
.menu-toggle .icon-close,
.menu-toggle svg.icon-close {
  display: none !important;
}
.menu-toggle[aria-expanded='true'] .icon-open,
.menu-toggle[aria-expanded='true'] svg.icon-open {
  display: none !important;
}
.menu-toggle[aria-expanded='true'] .icon-close,
.menu-toggle[aria-expanded='true'] svg.icon-close {
  display: block !important;
}

.footer-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}
.footer-bg img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}

html,
body {
  overflow-x: clip;
  max-width: 100%;
  overscroll-behavior-x: none;
}
body {
  min-height: 0 !important;
  margin: 0 !important;
}
.site-footer {
  margin-bottom: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 900px) {
  .mobile-actions {
    display: flex !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 50 !important;
    margin: 0 !important;
    transform: none !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    background: #122731 !important;
  }
  .site-footer {
    padding-bottom: calc(57px + env(safe-area-inset-bottom, 0px)) !important;
  }
  nav.open {
    position: fixed !important;
    top: var(--atlas-chrome-h, 7.65rem) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 300 !important;
    background: #fff !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

@media (min-width: 901px) {
  .mobile-actions {
    display: none !important;
  }
  .site-footer {
    padding-bottom: 0 !important;
  }
}
