/* Final responsive/accessibility layer. Loaded after all section plugins. */
html { overflow-x: clip; }
body { min-width: 0; }
img, svg, video, canvas, iframe { max-width: 100%; }
img, video, canvas { height: auto; }
main, section, article, aside, nav, div { min-width: 0; }
input, select, textarea, button { max-width: 100%; box-sizing: border-box; }
pre { max-width: 100%; overflow-x: auto; }
.katex-display, .MathJax_Display, [class*="equation"] { max-width: 100%; overflow-x: auto; overflow-y: hidden; }

.matamet-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgba(30, 50, 42, .18);
  scrollbar-width: thin;
}
.matamet-table-scroll.is-overflowing::before {
  content: "Scroll table horizontally →";
  display: block;
  position: sticky;
  left: 0;
  width: max-content;
  max-width: 100%;
  padding: 5px 9px;
  background: #eef4f2;
  color: #263b35;
  font-size: .75rem;
  font-weight: 700;
}
.matamet-table-scroll > table { margin: 0; min-width: 640px; }
.matamet-table-scroll:focus-visible { outline: 3px solid #e56f3f; outline-offset: 2px; }

/* Metallurgy catalogue: neutralize older sticky/min-width mobile rules. */
.mm-plugin-page,
.mm-metallurgy,
.mm-content,
.mm-overview,
.mm-command-deck,
.mm-platform-facts,
.mm-workspaces,
.mm-workspace,
.mm-workspace__panel,
.mm-workspace-hero,
.mm-tool-section,
.mm-tool-grid,
.mm-tool-card { min-width: 0 !important; max-width: 100%; }

.mm-tool-card p,
.mm-workspace__label,
.mm-workspace__label strong,
.mm-workspace__label span,
.mm-section-heading,
.mm-capability-item__body { overflow-wrap: anywhere; }

.mm-tool-search input { min-width: 0; max-width: 100%; }
.mm-tool-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important; }
.mm-workspace-graphic svg, .mm-mini-viz svg { height: auto; }

/* Common application shells. */
.matamet-si-shell,
.matamet-si-app,
.matamet-si-main,
.mc-app,
.mc-shell,
.svl-app,
.svl-shell,
.immes-steel-app,
.steel-lab-app,
.simulation-lab,
.materials-lab,
.iav2-shell,
.iav2-article-grid,
.sustainability-shell,
.market-intelligence-app { min-width: 0 !important; max-width: 100%; }

.matamet-si-root,
.m3,
.m3-app,
.mmsma,
.mc-app,
.immes-lab,
[data-sma-root],
[data-m3-root],
[data-crystal-root] { min-width: 0 !important; max-width: 100%; }

.matamet-si-root :where(.matamet-si-grid, .matamet-si-panel, .matamet-si-card, .matamet-si-controls, .matamet-si-result-card, .matamet-si-control-row),
.m3 :where([class*="grid"], [class*="panel"], [class*="card"], [class*="form"], [class*="result"]),
.mmsma :where([class*="grid"], [class*="panel"], [class*="card"], [class*="form"], [class*="result"]),
.mc-app :where([class*="grid"], [class*="panel"], [class*="card"], [class*="form"], [class*="result"]) { min-width: 0; }

@media (max-width: 1100px) {
  .mm-metallurgy { display: block !important; }
  .mm-sidebar {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    z-index: 2 !important;
    overflow: visible !important;
  }
  .mm-sidebar__inner { position: static !important; min-height: 0 !important; padding: 12px 16px !important; }
  .mm-sidebar__title, .mm-sidebar-context, .mm-sidebar-progress { display: none !important; }
  .mm-workspace-nav {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    overflow-x: auto !important;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    padding: 2px 2px 10px !important;
  }
  .mm-workspace-nav > :is(a, button) {
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 9px 12px !important;
    align-self: center !important;
    scroll-snap-align: start;
    white-space: nowrap;
  }
  .mm-content { width: 100% !important; margin: 0 !important; padding-inline: clamp(16px, 3vw, 34px) !important; }
  .mm-overview, .mm-capability-board, .mm-command-deck { grid-template-columns: 1fr !important; }
  .iav2-article-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .iav2-article-grid > aside { position: static !important; width: auto !important; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 76px; }
  body { overflow-x: clip; }
  input, select, textarea, button { font-size: max(1rem, 16px); }
  button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"] { min-height: 44px; }

  .mm-plugin-page { overflow: clip !important; }
  .mm-content { padding-inline: 14px !important; }
  .mm-overview { padding-block: 36px 28px !important; }
  .mm-overview__intro h1 { font-size: clamp(2.35rem, 12vw, 4rem) !important; line-height: .96 !important; text-wrap: balance; }
  .mm-overview__intro,
  .mm-overview__intro h1 { width: 100% !important; max-width: 100% !important; }
  .mm-overview__intro h1 { overflow-wrap: anywhere; }
  .mm-overview__actions,
  .mm-command-deck,
  .mm-command-deck__actions,
  .mm-platform-facts,
  .mm-workspace-hero,
  .mm-section-heading,
  .mm-workspace-footer { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
  .mm-overview__actions > *, .mm-command-deck__actions > * { width: 100% !important; justify-content: center !important; }
  .mm-capability-item { grid-template-columns: 70px minmax(0, 1fr) 28px !important; padding: 12px !important; }
  .mm-capability-item__thumb { width: 70px !important; min-width: 70px !important; }
  .mm-platform-facts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .mm-platform-fact { min-height: 0 !important; padding: 16px 12px !important; }
  .mm-workspace__toggle { grid-template-columns: 34px minmax(0, 1fr) !important; gap: 10px !important; padding: 16px 12px !important; text-align: left !important; }
  .mm-workspace__meta { grid-column: 2 !important; justify-self: start !important; flex-wrap: wrap !important; }
  .mm-workspace__panel { padding: 0 !important; }
  .mm-workspace-hero, .mm-tool-section { padding: 22px 14px !important; }
  .mm-workspace-graphic { width: 100% !important; max-height: 260px !important; overflow: hidden !important; }
  .mm-tool-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }
  .mm-tool-card { width: 100% !important; }
  .mm-tool-card__footer { flex-wrap: wrap !important; gap: 12px !important; }
  .mm-tool-link { min-height: 44px !important; display: inline-flex !important; align-items: center !important; }
  .mm-section-count { justify-self: start !important; }

  .matamet-si-topbar { grid-template-columns: minmax(0, 1fr) !important; padding: 14px !important; gap: 14px !important; }
  .matamet-si-brand { width: 100% !important; white-space: normal !important; }
  .matamet-si-brand strong { max-width: 100% !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; overflow-wrap: anywhere; }
  .matamet-si-material-select { width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr) !important; }
  .matamet-si-material-select select { width: 100%; min-width: 0; }
  .matamet-si-top-actions { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; overflow: visible !important; gap: 8px !important; }
  .matamet-si-top-actions > :is(a, button) { width: 100% !important; min-width: 0 !important; min-height: 44px !important; white-space: normal !important; }

  :where(.matamet-si-root, .m3, .mmsma, .mc-app, .immes-lab) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { width: 100%; min-width: 0; min-height: 44px; }
  :where(.matamet-si-root, .m3, .mmsma, .mc-app, .immes-lab) :where(button, [role="button"], a[class*="btn"], a[class*="button"]) { min-height: 44px; }
  :where(.matamet-si-root, .m3, .mmsma, .mc-app, .immes-lab) :where([class*="action-row"], [class*="toolbar"], [class*="controls"], [class*="button-row"]) { flex-wrap: wrap; max-width: 100%; }
  :where(.matamet-si-root, .m3, .mmsma, .mc-app, .immes-lab) :where(canvas, svg) { max-width: 100% !important; height: auto; }
  :where(.matamet-si-root, .m3, .mmsma, .mc-app, .immes-lab) :where(h1, h2, h3, h4, p, label, strong, code) { overflow-wrap: anywhere; }

  .matamet-si-bar-list,
  .matamet-si-bar-row { min-width: 0 !important; max-width: 100% !important; }

  .matamet-si-shell,
  .matamet-si-app,
  .mc-app,
  .mc-shell,
  .svl-app,
  .svl-shell,
  .immes-steel-app,
  .steel-lab-app,
  .simulation-lab,
  .materials-lab,
  .sustainability-shell,
  .market-intelligence-app { padding-inline: 14px !important; }

  .matamet-si-grid,
  .matamet-si-layout,
  .mc-grid,
  .mc-layout,
  .svl-grid,
  .svl-layout,
  .steel-lab-grid,
  .steel-lab-layout,
  .simulation-grid,
  .materials-lab-grid { grid-template-columns: minmax(0, 1fr) !important; }

  [class*="__sidebar"], [class*="-sidebar"] { max-width: 100%; }
  .matamet-table-scroll { margin-inline: 0; }
}

@media (max-width: 420px) {
  .mm-platform-facts { grid-template-columns: minmax(0, 1fr) !important; }
  .mm-capability-item { grid-template-columns: 52px minmax(0, 1fr) !important; }
  .mm-capability-item__thumb { width: 52px !important; min-width: 52px !important; }
  .mm-capability-item__cta { display: none !important; }
}

:where(.mm-plugin-page, .matamet-si-app, .mc-app, .svl-app, .steel-lab-app, .simulation-lab, .materials-lab) :focus-visible {
  outline: 3px solid #e56f3f !important;
  outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (forced-colors: active) {
  .mm-tool-card, .mm-workspace, .mm-command-deck, .mm-capability-item { border: 1px solid CanvasText !important; }
}
