/* Phone layout; desktop and print retain their existing presentation. */
.mobile-menu-toggle { display: none; }
@media screen and (max-width: 760px) {
  html, body { width: 100%; min-width: 0; }
  body::before, body::after { display: none; }
  .topbar { position: relative; }
  .topbar-row { padding: .75rem; gap: .6rem; }
  .topbar-row > *, .workspace > *, .grid-2 > * { min-width: 0; }
  .brand-lockup { flex: 1; min-width: 0; gap: .5rem; }
  .brand-lockup img { width: 42px; height: auto; }
  .brand-text strong { font-size: .92rem; }
  .brand-text span { font-size: .62rem; letter-spacing: .02em; }
  .mobile-menu-toggle { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .7rem; background: #222; color: #fff; border: 1px solid #666; border-radius: 6px; font: inherit; }
  .top-nav, .topbar-actions { flex-basis: 100%; width: 100%; min-width: 0; flex-wrap: wrap; }
  .topbar.mobile-menu-ready:not(.mobile-menu-open) .top-nav,
  .topbar.mobile-menu-ready:not(.mobile-menu-open) .topbar-actions { display: none; }
  .topbar-display-opts { width: 100%; flex-wrap: wrap; gap: .5rem; }
  .topbar .theme-switch button, .topbar .lang-switch button, .top-nav .nav-link { min-height: 44px; font-size: .85rem; }
  .user-menu { flex-wrap: wrap; max-width: 100%; }
  .ssi-badge { margin-left: auto; }
  .edit-mode-chip { max-width: 100%; flex-wrap: wrap; }
  .internal-db-bar { padding: .35rem .75rem; }
  .internal-db-summary, .internal-db-bar-inner { flex-wrap: wrap; gap: .35rem; }
  .internal-db-summary-metrics { overflow-wrap: anywhere; }
  main { width: calc(100% - 1.5rem); margin: .85rem auto; }
  .workspace { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .grid-2, .hero-body, .feature-list, .client-hints, .qty-pair-grid,
  .it-ext-card, .archive-item, .archive-folder-head { grid-template-columns: minmax(0, 1fr); }
  .grid-2 > *, .it-ext-card > * { grid-column: auto !important; }
  .block { padding: 1rem; border-radius: 8px; }
  .page-context { flex-wrap: wrap; }
  .page-context h1 { font-size: 1.3rem; }
  .config-form, .preview, .view, label { min-width: 0; max-width: 100%; }
  input:not([type=checkbox]):not([type=radio]), select, textarea { min-width: 0; max-width: 100%; font-size: 16px; }
  input:not([type=checkbox]):not([type=radio]), select { min-height: 44px; }
  .btn, .btn.btn-compact, .license-wizard-tab, .step-wizard-tab { min-height: 44px; white-space: normal; }
  .workflow-stepper-inner { width: calc(100% - 1.5rem); flex-wrap: nowrap; gap: .35rem; }
  .workflow-stepper .workflow-step { flex: 1; justify-content: center; min-width: 0; min-height: 44px; padding: .35rem; }
  .workflow-step-sep { display: none; }
  .license-wizard-nav, .step-wizard-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
  .license-wizard-tab, .step-wizard-tab { text-align: left; padding: .5rem; }
  .license-wizard-pager, .step-wizard-pager, .wizard-pager-end,
  .form-actions, .preview-actions, .offer-persistent-actions { flex-wrap: wrap; }
  .wizard-pager-end { width: 100%; }
  .wizard-pager-end .btn { flex: 1; }
  .preview { position: static; border-radius: 8px; overflow: hidden; }
  .preview-head { flex-wrap: wrap; gap: .75rem; }
  .preview-offer-no { overflow-wrap: anywhere; }
  .option { grid-template-columns: auto minmax(0, 1fr); }
  .option .price { grid-column: 2; align-items: flex-start; white-space: normal; }
  .option-row { grid-template-columns: auto minmax(0, 1fr); gap: .5rem; }
  .option-row .row-price { grid-column: 2; min-width: 0; text-align: left; white-space: normal; }
  .option-row.info-only { grid-template-columns: minmax(0, 1fr); }
  .option-row.info-only .row-price { grid-column: 1; }
  .preview-table-wrap, .contacts-table-wrap { max-width: 100%; overflow-x: auto; }
  .hero-yellow { flex-wrap: wrap; }
  .hero-logos img { max-width: 100%; }
  /* Fixed-format offer documents stay inside their own preview container. */
  #view-offer { max-width: 100%; overflow-x: auto; }
}
