/* eDigitalized V4.8.0 — targeted mobile overflow + fixed header repair.
   Loaded last from a new URL to beat stale cached legacy CSS. */
@media (max-width: 782px) {
  :root { --ed-mobile-header-h: 76px; }

  /* Hard stop for document-level sideways movement. Header is fixed now, so
     overflow:hidden no longer has to preserve sticky positioning. */
  html,
  body,
  body.edigitalized-site {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overscroll-behavior-x: none !important;
  }
  body.edigitalized-site {
    position: relative !important;
    padding-top: var(--ed-mobile-header-h) !important;
  }
  body.edigitalized-site.menu-open {
    position: fixed !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  /* Truly fixed mobile header: always visible while scrolling. */
  body.edigitalized-site > header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
    height: var(--ed-mobile-header-h) !important;
    z-index: 1200 !important;
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body.admin-bar.edigitalized-site > header { top: 46px !important; }
  body.edigitalized-site > header .header {
    height: var(--ed-mobile-header-h) !important;
    min-width: 0 !important;
  }

  /* One consistent mobile gutter across normal content. */
  body.edigitalized-site .wrap {
    width: calc(100% - 28px) !important;
    max-width: 1300px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.edigitalized-site main,
  body.edigitalized-site .ed-page-canvas,
  body.edigitalized-site .ed-section-control,
  body.edigitalized-site .ed-section-control > section,
  body.edigitalized-site section,
  body.edigitalized-site footer,
  body.edigitalized-site .client-proof-loop,
  body.edigitalized-site .client-logo-marquee,
  body.edigitalized-site .marquee-band {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  /* Selected Work must remain centered instead of sticking to one edge. */
  body.edigitalized-site #work,
  body.edigitalized-site #work > .wrap,
  body.edigitalized-site #work .work-topline,
  body.edigitalized-site #work .work-grid,
  body.edigitalized-site #work .work-card,
  body.edigitalized-site #work .work-visual,
  body.edigitalized-site #work .work-browser,
  body.edigitalized-site #work .work-info,
  body.edigitalized-site #work .work-grid2,
  body.edigitalized-site #work .portfolio-card {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.edigitalized-site #work > .wrap,
  body.edigitalized-site #work .wrap {
    width: calc(100% - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.edigitalized-site #work .work-grid,
  body.edigitalized-site #work .work-card,
  body.edigitalized-site #work .work-visual,
  body.edigitalized-site #work .work-browser,
  body.edigitalized-site #work .work-info,
  body.edigitalized-site #work .portfolio-card {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  /* No hidden horizontal chip rail on the homepage. */
  body.home .work-filter,
  body.home .hero-confidence .confidence-track,
  body.home .city-directory-one-line {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    white-space: normal !important;
    scroll-snap-type: none !important;
  }
  body.home .work-filter { justify-content: flex-start !important; gap: 6px !important; }
  body.home .work-filter button,
  body.home .work-filter span,
  body.home .hero-confidence .confidence-track > * {
    flex: 0 1 auto !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  /* Wide animated tracks stay clipped by their own section and can never
     enlarge the document scroll width. */
  body.edigitalized-site .client-logo-track,
  body.edigitalized-site .marquee-row {
    max-width: none !important;
  }

  /* Fixed overlays use inset, not 100vw, so browser scrollbar/safe-area math
     cannot create one extra horizontal viewport. */
  body.edigitalized-site .overlay {
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
    overflow-x: hidden !important;
    z-index: 1300 !important;
  }
  body.edigitalized-site:not(.menu-open) > #edLiveChat,
  body.edigitalized-site:not(.menu-open) > .ed-live-chat-v22 {
    right: 10px !important;
    left: auto !important;
    width: auto !important;
    max-width: calc(100% - 20px) !important;
  }

  img, video, iframe, svg { max-width: 100% !important; }
  .reveal, .reveal.in { transform: none !important; }
}
