\
/* DT629 SAFE: Navbar responsive clamp / overflow fix */

/* 1) Always anchor header to viewport */
.p-header, .p-nav, .p-navbar, nav.p-nav, nav.navbar, .etl-nav, .navbar {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
}

/* 2) Clamp inner container if exists */
.p-header .p-container,
.p-header .container,
.p-header .wrap,
.p-header .inner,
.p-header .p-inner {
  max-width: var(--container-width, 1360px);
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(14px, 2vw, 22px);
  padding-right: clamp(14px, 2vw, 22px);
  box-sizing: border-box;
}

/* 3) Flex behavior: let menu shrink instead of pushing layout wider */
.p-header .p-nav,
.p-header .p-navbar,
.p-header nav,
.p-header .navbar,
.p-header .etl-nav {
  display: flex;
  align-items: center;
  gap: clamp(10px, 1.2vw, 18px);
  min-width: 0; /* critical */
  box-sizing: border-box;
}

.p-header .p-menu,
.p-header .p-menu-wrap,
.p-header .menu,
.p-header .nav-menu,
.p-header .p-menu-list {
  min-width: 0; /* critical */
}

/* 4) Menu list: reduce gap a bit and allow safe wrap on narrower widths */
.p-menu-list {
  gap: clamp(12px, 1.6vw, 22px) !important;
  flex-wrap: wrap;
  justify-content: center;
}

/* 5) Logo + CTA should not cause overflow */
.p-header .p-logo,
.p-header .logo,
.p-header .brand {
  flex: 0 0 auto;
}

.p-header .p-cta,
.p-header .cta,
.p-header .p-btn-primary,
.p-header .btn-cta,
.p-header a[href*="request"],
.p-header a[href*="request.html"] {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* 6) Prevent accidental horizontal scrolling */
html, body {
  overflow-x: hidden;
}

/* 7) Dropdown panel clamp (works for etl-dd-panel and other) */
.etl-dd-panel,
.p-dd,
.dropdown-menu,
.dd-menu,
.nav-services-dropdown,
.services-dropdown {
  max-width: min(560px, calc(100vw - 24px));
}

/* 8) If header becomes 2-line after wrap, keep it readable */
.p-header {
  padding-top: 6px;
  padding-bottom: 6px;
}
