/* Shared mobile repair; loaded after legacy page styles in both languages.
   Grid auto-minimums must not widen Android's layout viewport. */
@media (max-width: 980px) {
  html { overflow-x: hidden; }
  @supports (overflow: clip) { html { overflow-x: clip; } }
  body { width: 100%; max-width: 100%; }

  .grid-2 > *, .grid-3 > *, .comparison-card, .comparison-heading,
  .comparison-columns > *, .blueprint-explorer > * {
    min-width: 0;
    max-width: 100%;
  }
  .section-title, .comparison-heading, .hero-popup-title,
  .express-modal-title, .bh-product-link strong {
    overflow-wrap: anywhere;
  }

  #bh-header { width: 100%; max-width: 100%; }
  #bh-header .bh-header-inner { min-width: 0; max-width: 100%; }
  #bh-header .bh-brand { min-width: 0; flex-shrink: 1; }
  #bh-header .bh-brand > span { min-width: 0; }
  #bh-header.bh-ready .bh-mobile-toggle,
  #bh-header .bh-language { flex-shrink: 0; }

  .hero-popup-overlay, .express-modal {
    max-width: 100%;
    overflow-x: hidden;
    overscroll-behavior-x: none;
  }
  .hero-popup-modal, .express-modal-content, .popup-content, .modal-content {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    overscroll-behavior-x: none;
  }
  .hero-popup-header { min-width: 0; padding-right: 3.25rem; }
  .hero-popup-eyebrow {
    min-width: 0;
    max-width: 100%;
    flex-shrink: 1;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Leave vertical scrolling and pinch zoom to the browser, but let the existing
   gallery controller own horizontal gestures. Do not disable native thumbnails. */
.hpg-main, .express-modal-main, .gallery-main {
  touch-action: pan-y pinch-zoom;
  overscroll-behavior-x: contain;
}
.hpg-thumbstrip, .express-modal-thumbstrip, .res-model-thumbs {
  overscroll-behavior-x: contain;
}
