/* Nord Modules — Mobile/Tablet horizontal overflow fix (moved unchanged from the snippet) */

/* 1. Safety net: nothing can push the page sideways anymore.
      "clip" (unlike "hidden") does NOT break position:sticky. */
#page-container { overflow-x: clip; }
@supports not (overflow: clip) {
  #page-container { overflow-x: hidden; }
}

/* 2. Hero gallery block (.nh-*) */
/* Grid columns may shrink below their content width */
body .nh-wrap { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
body .nh-wrap > * { min-width: 0; }

/* Spec rows: was 40% + 60% + 16px gap = 100% + 16px (always overflowed).
   2fr/3fr keeps the same 40/60 ratio but fits the gap inside. */
body .nh-spec-row { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
body .nh-spec-name,
body .nh-spec-value { min-width: 0; overflow-wrap: anywhere; }

body .nh-title,
body .nh-desc { overflow-wrap: break-word; }

body .nh-switch { max-width: 100%; }

@media (max-width: 1024px) {
  body .nh-wrap { grid-template-columns: minmax(0, 1fr); }
  /* arrows used to sit 6px outside the image on tablets */
  body .nh-prev { left: 0; }
  body .nh-next { right: 0; }
}
@media (max-width: 400px) {
  body .nh-switch-btn { padding: 9px 16px; }
}

/* 3. Add-ons block (.nm-*) */
body .nm-wrap { grid-template-columns: minmax(0, 1fr) 40%; }
body .nm-wrap > * { min-width: 0; }
@media (max-width: 1024px) {
  body .nm-wrap { grid-template-columns: minmax(0, 1fr); }
}
