/* Mobile Menu — slides under header */
.mobile-menu {
  position: fixed;
  top: var(--header-height-mobile, 65px);
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--color-background);
  z-index: var(--z-mobile-menu);
  overflow-y: auto;
  flex-direction: column;
  display: flex;
  transform: translateX(100%);
  transition: transform 0.3s ease, visibility 0.3s;
  visibility: hidden;
}

.mobile-menu.is-open {
  transform: translateX(0);
  visibility: visible;
}


/* Secondary bar (phone, locations, flags) */
.mobile-menu__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--color-footer-bg);
  padding: 12px var(--container-padding);
}

.mobile-menu__bar-left,
.mobile-menu__bar-right {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}

.mobile-menu__bar-item {
  color: var(--color-white);
  display: inline-flex;
  align-items: center;
}

.mobile-menu__bar-item img {
  filter: brightness(0) invert(1);
}

.mobile-menu__bar-right .mobile-menu__bar-item img {
  filter: none;
}

/* ===========================
   Override mega-menu inside mobile
   =========================== */

/* Nav — full width */
.mobile-menu__nav {
  width: 100%;
  padding: var(--spacing-30) 0;
}

/* Top-level list — vertical instead of horizontal */
.mobile-menu__nav .mega-menu {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
  width: 100%;
}

.mobile-menu__nav .mega-menu__item {
  width: 100%;
}

.mobile-menu__nav .mega-menu__item .mega-menu__link {
  border-bottom: 1px solid var(--color-border-menu);
  margin: 0 var(--container-padding);
  padding: var(--spacing-sm) 0;
}

.mobile-menu__nav .mega-menu__item:first-child .mega-menu__link {
  padding-top: 0;
}

.mobile-menu__nav .mega-menu__item:last-child .mega-menu__link {
  border-bottom: none;
  padding-bottom: 0;
}

/* Top-level links — full width with chevron */
.mobile-menu__nav .mega-menu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--color-dark-blue);
  font-size: var(--p-size);
  line-height: var(--p-lh);
  font-weight: var(--font-weight-medium, 500);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.mobile-menu__nav .mega-menu__item--has-children .mega-menu__link::after {
  content: '';
  width: 11px;
  height: 6px;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='6' viewBox='0 0 11 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.0013 0.666748L5.33464 5.33341L0.667969 0.666748' stroke='%2322262C' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform var(--transition-fast);
  flex-shrink: 0;
  border: none;
  transform: none;
}

.mobile-menu__nav .mega-menu__item.is-expanded .mega-menu__link {
  color: var(--color-primary);
  font-weight: 700;
  border-bottom: none;
  padding-bottom: var(--spacing-sm);
}

.mobile-menu__nav .mega-menu__item.is-expanded .mega-menu__link::after {
  transform: rotate(180deg);
}

/* Panels — block flow instead of absolute dropdown */
.mobile-menu__nav .mega-menu__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
  overflow: hidden;
  position: static;
  box-shadow: none;
  border: none;
  border-top: none;
  border-radius: 0;
  background: var(--color-background);
  min-width: 0;
  width: 100%;
  left: auto;
  right: auto;
  transform: none;
}

.mobile-menu__nav .mega-menu__panel > * {
  min-height: 0;
}

.mobile-menu__nav .mega-menu__item.is-expanded .mega-menu__panel {
  grid-template-rows: 1fr;
}

.mobile-menu__nav .mega-menu__panel-inner {
  flex-direction: column;
  padding: 0;
}

.mobile-menu__nav .mega-menu__panel .container {
  padding: 0;
  max-width: none;
}

/* Hide orange sidebar in mobile */
.mobile-menu__nav .mega-menu__sidebar {
  display: none;
}

/* Content area — reset desktop padding */
.mobile-menu__nav .mega-menu__content {
  padding: 0;
}

.mobile-menu__nav .mega-menu__panel-inner {
  padding: 0;
}

/* Solutions columns — vertical stack */
.mobile-menu__nav .mega-menu__solutions {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.mobile-menu__nav .mega-menu__sol-column {
  width: 100%;
  flex: none;
  max-width: none;
}

.mobile-menu__nav .mega-menu__sol-body {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
}

.mobile-menu__nav .mega-menu__sol-image {
  display: none;
}

.mobile-menu__nav .mega-menu__sol-title {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
  margin: 0 var(--container-padding);
  padding: var(--spacing-xs) 0 var(--spacing-xs) var(--container-padding);
  border-bottom: 1px solid #EAEAEA;
  font-size: var(--p-size);
  line-height: var(--p-lh);
  font-weight: var(--font-weight-medium, 500);
  text-transform: uppercase;
  color: var(--color-dark-blue);
  cursor: pointer;
}

.mobile-menu__nav .mega-menu__sol-title .mega-menu__icon svg,
.mobile-menu__nav .mega-menu__sol-title .mega-menu__icon svg path {
  stroke: var(--color-dark-blue) !important;
}

.mobile-menu__nav .mega-menu__sol-title .mega-menu__icon {
  order: -1;
  flex-shrink: 0;
}

.mobile-menu__nav .mega-menu__sol-title .mega-menu__icon svg {
  width: 16px;
  height: 16px;
}

.mobile-menu__nav .mega-menu__sol-title::after {
  content: '';
  width: 11px;
  height: 6px;
  margin-left: auto;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='6' viewBox='0 0 11 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.0013 0.666748L5.33464 5.33341L0.667969 0.666748' stroke='%2322262C' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
  transition: transform var(--transition-fast);
}

.mobile-menu__nav .mega-menu__sol-column:first-child .mega-menu__sol-title {
  padding-top: 0;
  border-top: none;
}

.mobile-menu__nav .mega-menu__content,
.mobile-menu__nav .mega-menu__solutions,
.mobile-menu__nav .mega-menu__sol-column:first-child {
  border-top: none;
}

.mobile-menu__nav .mega-menu__sol-column:last-child .mega-menu__sol-title {
  padding-bottom: var(--spacing-xs);
  margin-bottom: var(--spacing-sm);
}

.mobile-menu__nav .mega-menu__sol-column:last-child.is-expanded .mega-menu__sol-title {
  margin-bottom: 0;
}

.mobile-menu__nav .mega-menu__sol-column:last-child.is-expanded {
  margin-bottom: var(--spacing-sm);
}

/* Solutions sub-content — animated expand */
.mobile-menu__nav .mega-menu__sol-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}

.mobile-menu__nav .mega-menu__sol-content-inner {
  overflow: hidden;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.mobile-menu__nav .mega-menu__sol-column.is-expanded .mega-menu__sol-content {
  grid-template-rows: 1fr;
}

.mobile-menu__nav .mega-menu__sol-column.is-expanded .mega-menu__sol-title::after {
  transform: rotate(180deg);
}

.mobile-menu__nav .mega-menu__sol-column.is-expanded .mega-menu__sol-title {
  color: var(--color-dark-blue);
  border-bottom: none;
}

.mobile-menu__nav .mega-menu__sol-column.is-expanded .mega-menu__sol-body {
  border-bottom: none;
  margin: 0;
  padding-bottom: var(--spacing-sm);
  position: relative;
}

.mobile-menu__nav .mega-menu__sol-column.is-expanded .mega-menu__sol-body::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: var(--container-padding);
  right: var(--container-padding);
  height: 1px;
  background: #EAEAEA;
}


/* Solutions expanded content */
.mobile-menu__nav .mega-menu__sol-group {
  padding: 0;
  margin: 0 var(--container-padding) var(--spacing-sm) 60px;
}

.mobile-menu__nav .mega-menu__sol-group-title {
  display: none;
}

.mobile-menu__nav .mega-menu__sol-subtitle {
  font-size: 13px;
  line-height: 18px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 12px 0;
  margin: 0;
  color: var(--color-dark-blue);
}

.mobile-menu__nav .mega-menu__sol-group > .mega-menu__sol-subtitle:first-of-type {
  padding-top: 0;
}

.mobile-menu__nav .mega-menu__sol-link {
  display: block;
  font-size: 13px;
  line-height: 18px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0 !important;
  margin: var(--spacing-xs) var(--container-padding) var(--spacing-xs) 60px;
  color: var(--color-dark-blue);
  gap: 0;
  text-decoration: none;
}

.mobile-menu__nav .mega-menu__sol-link:hover,
.mobile-menu__nav .mega-menu__sol-link:active {
  text-decoration: underline;
  text-decoration-color: var(--color-primary);
}

.mobile-menu__nav .mega-menu__sol-link .mega-menu__icon {
  display: none;
}

.mobile-menu__nav .mega-menu__sol-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.mobile-menu__nav .mega-menu__sol-list li {
  display: flex;
  align-items: baseline;
  padding: 0 0 0 var(--spacing-xs);
  gap: 0;
  font-size: 13px;
  line-height: 18px;
}

.mobile-menu__nav .mega-menu__sol-list li::before {
  content: '•';
  color: var(--color-primary);
  margin-right: 8px;
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
  position: static;
  flex-shrink: 0;
}

.mobile-menu__nav .mega-menu__sol-list a {
  font-size: 13px;
  line-height: 18px;
  padding: 0;
  display: inline;
  color: var(--color-dark-blue);
  font-weight: var(--font-weight-regular, 400);
  text-transform: none;
  gap: 0;
  text-decoration: none;
}

.mobile-menu__nav .mega-menu__sol-list a:hover,
.mobile-menu__nav .mega-menu__sol-list a:active {
  text-decoration: underline;
  text-decoration-color: var(--color-primary);
}

.mobile-menu__nav .mega-menu__sol-list li .mega-menu__icon {
  display: none;
}

/* Generic columns — vertical stack */
.mobile-menu__nav .mega-menu__columns {
  flex-direction: column;
  gap: 0;
}

.mobile-menu__nav .mega-menu__column {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mobile-menu__nav .mega-menu__column-title {
  padding: 12px var(--spacing-sm) 12px var(--spacing-md);
  margin-bottom: 0;
  border-bottom: none;
  font-size: 15px;
  text-transform: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Chevron for column titles */
.mobile-menu__nav .mega-menu__column-title::after {
  content: '';
  width: 11px;
  height: 6px;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='6' viewBox='0 0 11 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.0013 0.666748L5.33464 5.33341L0.667969 0.666748' stroke='%2322262C' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
  transition: transform var(--transition-fast);
}

.mobile-menu__nav .mega-menu__column.is-expanded .mega-menu__column-title::after {
  transform: rotate(180deg);
}

.mobile-menu__nav .mega-menu__column.is-expanded .mega-menu__column-title {
  color: var(--color-primary);
}

/* Hide lists by default, show on expand */
.mobile-menu__nav .mega-menu__list {
  display: none;
  padding: 0 var(--spacing-sm) var(--spacing-sm) calc(var(--spacing-md) + var(--spacing-sm));
  gap: 4px;
}

.mobile-menu__nav .mega-menu__column.is-expanded .mega-menu__list {
  display: flex;
}

.mobile-menu__nav .mega-menu__list a {
  font-size: 14px;
  padding: 6px 0;
  text-transform: none;
}

/* Shared sub-item styles for all dropdowns */
.mobile-menu__nav .mega-menu__grid--industries {
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0;
  overflow: hidden;
}

.mobile-menu__nav .mega-menu__grid--industries .mega-menu__grid-item {
  flex: none;
  width: 100%;
  max-width: 100%;
}

.mobile-menu__nav .mega-menu__grid--cards {
  grid-template-columns: 1fr;
  gap: 0;
  display: flex;
  flex-direction: column;
}

.mobile-menu__nav .mega-menu__card-image {
  display: none;
}

/* About layout — vertical */
.mobile-menu__nav .mega-menu__about-layout {
  flex-direction: column;
  gap: 0;
}

.mobile-menu__nav .mega-menu__about-list {
  gap: 0;
  padding-top: 0 !important;
}

/* Unified sub-item style (industries, cards, about) */
.mobile-menu__nav .mega-menu__grid-item,
.mobile-menu__nav .mega-menu__card,
.mobile-menu__nav .mega-menu__about-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin: 0 20px;
  padding: 8px 0 8px 20px;
  border-bottom: none;
  border-radius: 0;
  font-size: 16px;
  line-height: 24px;
  font-weight: var(--font-weight-medium, 500);
  text-transform: none;
  color: var(--color-dark-blue);
  overflow: visible;
  box-shadow: none;
  text-decoration: none;
}

.mobile-menu__nav .mega-menu__grid-item:hover,
.mobile-menu__nav .mega-menu__grid-item:active,
.mobile-menu__nav .mega-menu__card:hover,
.mobile-menu__nav .mega-menu__card:active,
.mobile-menu__nav .mega-menu__about-link:hover,
.mobile-menu__nav .mega-menu__about-link:active {
  text-decoration: underline;
  text-decoration-color: var(--color-primary);
}

.mobile-menu__nav .mega-menu__card-title {
  padding: 0;
  font-size: 16px;
  line-height: 24px;
  font-family: var(--font-family);
}

.mobile-menu__nav .mega-menu__card::before {
  content: '';
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.34259 6.93518V9.52778C4.34259 9.87158 4.47917 10.2013 4.72227 10.4444C4.96537 10.6875 5.29509 10.8241 5.63889 10.8241H8.23148M3.0463 1.75H5.63889C6.35481 1.75 6.93518 2.33037 6.93518 3.0463V5.63889C6.93518 6.35481 6.35481 6.93518 5.63889 6.93518H3.0463C2.33037 6.93518 1.75 6.35481 1.75 5.63889V3.0463C1.75 2.33037 2.33037 1.75 3.0463 1.75ZM9.52778 8.23148H12.1204C12.8363 8.23148 13.4167 8.81185 13.4167 9.52778V12.1204C13.4167 12.8363 12.8363 13.4167 12.1204 13.4167H9.52778C8.81185 13.4167 8.23148 12.8363 8.23148 12.1204V9.52778C8.23148 8.81185 8.81185 8.23148 9.52778 8.23148Z' stroke='%2322262C' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

/* Sub-items with icons — no borders, gap 16px */
.mobile-menu__nav .mega-menu__grid-item,
.mobile-menu__nav .mega-menu__about-link {
  border-bottom: none;
  padding: 8px 0 8px 20px;
  flex: none;
  width: auto;
  max-width: none;
}

.mobile-menu__nav .mega-menu__grid-item:first-child,
.mobile-menu__nav .mega-menu__about-link:first-child {
  padding-top: 0;
}

.mobile-menu__nav .mega-menu__grid-item:last-child,
.mobile-menu__nav .mega-menu__about-link:last-child {
  padding-bottom: 24px;
}

/* Icons in sub-items */
.mobile-menu__nav .mega-menu__grid-item .mega-menu__icon svg,
.mobile-menu__nav .mega-menu__about-link .mega-menu__icon svg {
  width: 14px;
  height: 14px;
}

.mobile-menu__nav .mega-menu__grid-item .mega-menu__icon svg path,
.mobile-menu__nav .mega-menu__about-link .mega-menu__icon svg path {
  stroke: var(--color-dark-blue) !important;
}

/* First/last sub-item adjustments */
.mobile-menu__nav .mega-menu__grid-item:first-child,
.mobile-menu__nav .mega-menu__card:first-child,
.mobile-menu__nav .mega-menu__about-link:first-child {
  padding-top: 0;
}

.mobile-menu__nav .mega-menu__grid-item:last-child,
.mobile-menu__nav .mega-menu__card:last-child,
.mobile-menu__nav .mega-menu__about-link:last-child {
  border-bottom: none;
  padding-bottom: 24px;
}

/* Bottom CTA block */
.mobile-menu__cta {
  background-color: var(--color-primary);
  padding: var(--container-padding);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.mobile-menu__cta-link {
  display: flex;
  flex-direction: column;
  padding: 8px;
  color: var(--color-white);
}

.mobile-menu__cta-link:first-child {
  padding-top: 8px;
}

.mobile-menu__cta-hr {
  border: none;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
  margin: 32px 0;
}

.mobile-menu__cta-link:hover {
  color: var(--color-white);
}

.mobile-menu__cta-link strong {
  font-size: 16px;
  line-height: 20px;
  margin-bottom: 6px;
}

.mobile-menu__cta-desc {
  font-size: 16px;
  line-height: 18px;
  opacity: 0.9;
}

/* No-uppercase on bullet-list items, industry grid items, and rental cards */
.mobile-menu__nav .mega-menu__sol-list a,
.mobile-menu__nav .mega-menu__list a,
.mobile-menu__nav .mega-menu__grid-item,
.mobile-menu__nav .mega-menu__card-title {
  text-transform: none !important;
}

/* Only visible on mobile */
@media (min-width: 1024px) {
  .mobile-menu {
    display: none !important;
  }
}
