{"id":16263692,"date":"2025-09-22T15:34:23","date_gmt":"2025-09-22T19:34:23","guid":{"rendered":"https:\/\/www.moovair.com\/?page_id=16263692"},"modified":"2026-02-17T11:34:45","modified_gmt":"2026-02-17T16:34:45","slug":"multi-zone-assistant","status":"publish","type":"page","link":"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/","title":{"rendered":"Multi-Zone Assistant"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.22.1&#8243; _module_preset=&#8221;d9bc1a14-d8f3-474c-a469-1dac41ddb4c7&#8243; background_enable_image=&#8221;off&#8221; height=&#8221;100%&#8221; hover_enabled=&#8221;0&#8243; background_enable_image_tablet=&#8221;off&#8221; background_enable_image_phone=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;][et_pb_row column_structure=&#8221;1_5,3_5,1_5&#8243; make_equal=&#8221;on&#8221; _builder_version=&#8221;4.22.1&#8243; _module_preset=&#8221;default&#8221; max_height=&#8221;100%&#8221; custom_padding=&#8221;||100px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_5&#8243; _builder_version=&#8221;4.22.1&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_column][et_pb_column type=&#8221;3_5&#8243; _builder_version=&#8221;4.22.1&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code admin_label=&#8221;CSS&#8221; _builder_version=&#8221;4.22.1&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<style class=\"wpcode-css-snippet\">\/* Hide actions (Print button) on mobile *\/\r\n@media only screen and (max-width: 820px){\r\n.mzst-actions {\r\n    display:none !important;\r\n  }\r\n}\r\n\/* Print-specific visibility for brand logo (matches colleague approach) *\/\r\n@media print {\r\n  .mzst-logo { display: none !important; }\r\n  .mzst-print-container .mzst-logo { display: inline !important; }\r\n}\r\n\r\n\/* Submittal link styling *\/\r\n#mzst-en .mzst-submittal,\r\n#mzst-fr .mzst-submittal{\r\n  display:inline-block;\r\n  font-size:12px;\r\n  margin-top:4px;\r\n}\r\n#mzst-en .mzst-submittal.inline,\r\n#mzst-fr .mzst-submittal.inline{\r\n  margin-top:0;\r\n  margin-left:8px;\r\n  font-size:inherit;\r\n}\r\n@media print {\r\n  #mzst-en .mzst-submittal,\r\n  #mzst-fr .mzst-submittal{\r\n    display:none !important;\r\n  }\r\n}\r\n\r\n\/* Submittal in detail grid *\/\r\n#mzst-en .mzst-detail-grid .mzst-submittal.inline,\r\n#mzst-fr .mzst-detail-grid .mzst-submittal.inline{\r\n  font-size:16px;\r\n}\r\n\r\n\/* Hide submittal + items with submittal in print *\/\r\n@media print {\r\n  #mzst-en .mzst-detail-grid .mzst-submittal.inline,\r\n  #mzst-fr .mzst-detail-grid .mzst-submittal.inline,\r\n  #mzst-en .mzst-detail-item.mzst-detail-has-submittal,\r\n  #mzst-fr .mzst-detail-item.mzst-detail-has-submittal {\r\n    display: none !important;\r\n  }\r\n}\r\n\r\n@media print {\r\n  #mzst-en .mzst-instr-list,\r\n  #mzst-fr .mzst-instr-list,\r\n  #mzst-en .mzst-notes,\r\n  #mzst-fr .mzst-notes {\r\n    list-style: decimal;\r\n  }\r\n}\r\n\r\n\/* Card wrapper *\/\r\n#mzst-en .mzst-wrap .mzst-card,\r\n#mzst-fr .mzst-wrap .mzst-card{\r\n  box-sizing:border-box;\r\n}\r\n\r\n\/* Instruction block *\/\r\n#mzst-en .mzst-instr-title,\r\n#mzst-fr .mzst-instr-title{\r\n  font-weight:600;\r\n  margin-bottom:6px;\r\n}\r\n#mzst-en .mzst-instr-list,\r\n#mzst-fr .mzst-instr-list{\r\n  padding-left:18px;\r\n  margin:0;\r\n}\r\n\r\n\/* ODU Details (no gap) *\/\r\n#mzst-en .mzst-detail-grid,\r\n#mzst-fr .mzst-detail-grid{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  max-width:1100px;\r\n  margin:0 auto;\r\n}\r\n#mzst-en .mzst-detail-item,\r\n#mzst-fr .mzst-detail-item{\r\n  width:calc(50% - 10px);\r\n  margin:0 10px 10px 0;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  padding:10px 12px;\r\n  border:1px solid #e5e7eb;\r\n  border-radius:10px;\r\n  background:#fff;\r\n}\r\n#mzst-en .mzst-detail-label,\r\n#mzst-fr .mzst-detail-label{\r\n  color:#374151;\r\n}\r\n#mzst-en .mzst-detail-value,\r\n#mzst-fr .mzst-detail-value{\r\n  font-weight:600;\r\n  color:#111827;\r\n  white-space:nowrap;\r\n}\r\n@media only screen and (max-width: 820px){\r\n  #mzst-en .mzst-detail-item,\r\n  #mzst-fr .mzst-detail-item{\r\n    width:100%;\r\n    margin-right:0;\r\n  }\r\n}\r\n\r\n\/* Stack helpers (vertical spacing without gap) *\/\r\n#mzst-en .mzst-stack-4  > * + *,\r\n#mzst-fr .mzst-stack-4  > * + *{ margin-top:4px; }\r\n#mzst-en .mzst-stack-6  > * + *,\r\n#mzst-fr .mzst-stack-6  > * + *{ margin-top:6px; }\r\n#mzst-en .mzst-stack-8  > * + *,\r\n#mzst-fr .mzst-stack-8  > * + *{ margin-top:8px; }\r\n#mzst-en .mzst-stack-10 > * + *,\r\n#mzst-fr .mzst-stack-10 > * + *{ margin-top:10px; }\r\n\r\n\/* Horizontal gap for Line Set Length input *\/\r\n#mzst-en label.mzst-stack-4 > input.mzst-line,\r\n#mzst-fr label.mzst-stack-4 > input.mzst-line{\r\n  margin-left: 12px;\r\n}\r\n\/* Add horizontal space between ODU label text and dropdown *\/\r\n#mzst-en label.mzst-stack-6 > select.mzst-odu,\r\n#mzst-fr label.mzst-stack-6 > select.mzst-odu{\r\n  margin-left: 12px;\r\n}\r\n\r\n\r\n\/* Color styles (shared) *\/\r\n.mzst-box { border:1px solid #e5e7eb; border-radius:12px; padding:12px; }\r\n.mzst-color-ok   { border-color:#86efac; background:#f0fdf4; color:#064e3b; }\r\n.mzst-color-error{ border-color:#fca5a5; background:#fef2f2; color:#7f1d1d; }\r\n.mzst-color-warn { border-color:#fde68a; background:#fffbeb; color:#78350f; }\r\n\r\n\/* Input error highlight *\/\r\n#mzst-en .mzst-input-error,\r\n#mzst-fr .mzst-input-error{\r\n  border-color:#fca5a5 !important;\r\n  background:#fef2f2 !important;\r\n  color:#7f1d1d !important;\r\n}\r\n\r\n\/* BoM table *\/\r\n#mzst-en .mzst-bom-table,\r\n#mzst-fr .mzst-bom-table{\r\n  width:100%;\r\n  border-collapse:collapse;\r\n}\r\n#mzst-en .mzst-bom-table th,\r\n#mzst-en .mzst-bom-table td,\r\n#mzst-fr .mzst-bom-table th,\r\n#mzst-fr .mzst-bom-table td{\r\n  border:1px solid #e5e7eb;\r\n  padding:8px;\r\n  text-align:left;\r\n}\r\n#mzst-en .mzst-bom-table thead th,\r\n#mzst-fr .mzst-bom-table thead th{\r\n  font-weight:600;\r\n}\r\n\r\n\/* IDU image *\/\r\n#mzst-en .mzst-idu-img img,\r\n#mzst-fr .mzst-idu-img img{\r\n  max-width:220px;\r\n  height:auto;\r\n  border:1px solid #e5e7eb;\r\n  border-radius:8px;\r\n}\r\n\r\n\/* ODU image *\/\r\n#mzst-en .mzst-odu-img img,\r\n#mzst-fr .mzst-odu-img img{\r\n  max-width:260px;\r\n  height:auto;\r\n  border:1px solid #e5e7eb;\r\n  border-radius:8px;\r\n}\r\n\r\n\/* Print image handling *\/\r\n@media print {\r\n  #mzst-en .mzst-idu-img,\r\n  #mzst-en .mzst-idu-img *,\r\n  #mzst-fr .mzst-idu-img,\r\n  #mzst-fr .mzst-idu-img *,\r\n  #mzst-en .mzst-odu-img,\r\n  #mzst-en .mzst-odu-img *,\r\n  #mzst-fr .mzst-odu-img,\r\n  #mzst-fr .mzst-odu-img *{\r\n    break-inside: avoid;\r\n    page-break-inside: avoid;\r\n  }\r\n}\r\n\r\n\/* Print overrides for iframe clone (.mzst-print-container) *\/\r\n@media print {\r\n  \/* Hide entire Instructions block in print *\/\r\n  .mzst-print-container .mzst-instructions {\r\n    display: none !important;\r\n  }\r\n  \/* Instructions title + list spacing in print clone *\/\r\n  .mzst-print-container .mzst-instr-title{\r\n    font-weight:600;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  .mzst-print-container .mzst-instr-list,\r\n  .mzst-print-container .mzst-notes{\r\n    padding-left:18px;\r\n    margin:0;\r\n    list-style:decimal;\r\n  }\r\n\r\n  \/* Hide all submittal links + dedicated ODU submittal row in print *\/\r\n  .mzst-print-container .mzst-detail-grid .mzst-submittal.inline,\r\n  .mzst-print-container .mzst-detail-item.mzst-detail-has-submittal,\r\n  .mzst-print-container .mzst-submittal {\r\n    display: none !important;\r\n  }\r\n\r\n  \/* ODU detail grid styling *\/\r\n  .mzst-print-container .mzst-detail-grid{\r\n    display:flex;\r\n    flex-wrap:wrap;\r\n    margin:0;\r\n    padding:0;\r\n  }\r\n  .mzst-print-container .mzst-detail-item{\r\n    width:calc(50% - 6px);\r\n    margin:0 6px 6px 0;\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    padding:6px 10px;\r\n    border-radius:9999px;\r\n    border:1px solid #e5e7eb;\r\n    background:#fff;\r\n  }\r\n  .mzst-print-container .mzst-detail-label{\r\n    color:#374151;\r\n  }\r\n  .mzst-print-container .mzst-detail-value{\r\n    font-weight:600;\r\n    color:#111827;\r\n    margin-left:8px;\r\n    white-space:nowrap;\r\n  }\r\n  .mzst-print-container .mzst-card.mzst-odu-details h3{\r\n    margin: 0 0 6px 0 !important;\r\n  }\r\n  \/* Reduce horizontal padding of ODU Details card *\/\r\n  .mzst-print-container .mzst-card.mzst-odu-details{\r\n    padding: 8px 6px !important;   \r\n  }\r\n\r\n  \/* Stack helpers *\/\r\n  .mzst-print-container .mzst-stack-4  > * + *{ margin-top:4px; }\r\n  .mzst-print-container .mzst-stack-6  > * + *{ margin-top:6px; }\r\n  .mzst-print-container .mzst-stack-8  > * + *{ margin-top:8px; }\r\n  .mzst-print-container .mzst-stack-10 > * + *{ margin-top:10px; }\r\n\r\n  \/* BoM table *\/\r\n  .mzst-print-container .mzst-bom-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n  }\r\n  .mzst-print-container .mzst-bom-table th,\r\n  .mzst-print-container .mzst-bom-table td{\r\n    border:1px solid #e5e7eb;\r\n    padding:8px;\r\n    text-align:left;\r\n  }\r\n  .mzst-print-container .mzst-bom-table thead th{\r\n    font-weight:600;\r\n  }\r\n\r\n\r\n  \/* Images *\/\r\n  .mzst-print-container .mzst-idu-img img{\r\n    max-width:220px;\r\n    height:auto;\r\n    border:1px solid #e5e7eb;\r\n    border-radius:8px;\r\n  }\r\n  .mzst-print-container .mzst-odu-img img{\r\n    max-width:220px;\r\n    height:auto;\r\n    border:1px solid #e5e7eb;\r\n    border-radius:8px;\r\n  }\r\n  .mzst-print-container .mzst-idu-img,\r\n  .mzst-print-container .mzst-idu-img *,\r\n  .mzst-print-container .mzst-odu-img,\r\n  .mzst-print-container .mzst-odu-img *{\r\n    break-inside: avoid;\r\n    page-break-inside: avoid;\r\n  }\r\n\r\n  \/* Input error highlight *\/\r\n  .mzst-print-container .mzst-input-error{\r\n    border-color:#fca5a5 !important;\r\n    background:#fef2f2 !important;\r\n    color:#7f1d1d !important;\r\n  }\r\n}\r\n\/* =========================================================\r\n   GLOBAL TEXT UNIFORMITY (CSS-only, safe with current JS)\r\n   - Force neutral UI text to #111827 (wins against inline greys)\r\n   - Preserve evaluation\/warning colors + red input-error states\r\n   - Preserve submittal links\u2019 theme orange\r\n   Applies to screen (#mzst-en\/#mzst-fr) + print iframe (.mzst-print-container)\r\n   ========================================================= *\/\r\n\r\n\/* 1) Force neutral text color & opacity everywhere in the tool *\/\r\n#mzst-en *,\r\n#mzst-fr *,\r\n.mzst-print-container * {\r\n  color: #111827 !important;\r\n  opacity: 1 !important;\r\n}\r\n\r\n\/* 2) Restore evaluation tones (scoped to tool roots + print clone; includes descendants) *\/\r\n#mzst-en .mzst-color-ok,    #mzst-en .mzst-color-ok *,\r\n#mzst-fr .mzst-color-ok,    #mzst-fr .mzst-color-ok *,\r\n.mzst-print-container .mzst-color-ok, .mzst-print-container .mzst-color-ok * {\r\n  color: #064e3b !important;\r\n}\r\n\r\n#mzst-en .mzst-color-warn,  #mzst-en .mzst-color-warn *,\r\n#mzst-fr .mzst-color-warn,  #mzst-fr .mzst-color-warn *,\r\n.mzst-print-container .mzst-color-warn, .mzst-print-container .mzst-color-warn * {\r\n  color: #78350f !important;\r\n}\r\n\r\n#mzst-en .mzst-color-error, #mzst-en .mzst-color-error *,\r\n#mzst-fr .mzst-color-error, #mzst-fr .mzst-color-error *,\r\n.mzst-print-container .mzst-color-error, .mzst-print-container .mzst-color-error * {\r\n  color: #7f1d1d !important;\r\n}\r\n\r\n\/* 3) Preserve \u201cred until resolved\u201d input state (and any descendants) *\/\r\n#mzst-en .mzst-input-error, #mzst-en .mzst-input-error *,\r\n#mzst-fr .mzst-input-error, #mzst-fr .mzst-input-error *,\r\n.mzst-print-container .mzst-input-error, .mzst-print-container .mzst-input-error * {\r\n  color: #7f1d1d !important;\r\n}\r\n\r\n\/* 4) Keep submittal links orange *\/\r\n#mzst-en a.mzst-submittal,\r\n#mzst-fr a.mzst-submittal {\r\n  color: #ec6608 !important;\r\n  text-decoration: underline;\r\n  text-underline-offset: 2px;\r\n  text-decoration-thickness: 1px;\r\n}<\/style>[\/et_pb_code][et_pb_code _builder_version=&#8221;4.22.1&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<div id=\"mzst-tool\"\r\n     class=\"mzst-scope\"\r\n     data-json=\"https:\/\/cdn2.moovair.com\/appjs\/JSN-M-MZTOOL-14-EN-FR-092225.json\">\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  var href = window.location.href.toLowerCase();\r\n\r\n  \/\/ Detect language from URL: fr-ca -> French, en-ca (or anything else) -> English\r\n  var isFrench = href.indexOf('fr-ca') !== -1;\r\n  var langCode = isFrench ? 'FR' : 'EN';\r\n  var containerId = isFrench ? 'mzst-fr' : 'mzst-en';\r\n\r\n  var container = document.getElementById('mzst-tool');\r\n  if (!container) return;\r\n\r\n  \/\/ Set the expected id and data-lang before loading the app script\r\n  container.id = containerId;\r\n  container.setAttribute('data-lang', langCode);\r\n\r\n  \/\/ Load the Moovair sizing tool app\r\n  var s = document.createElement('script');\r\n  s.src = 'https:\/\/cdn2.moovair.com\/appjs\/mzst-app.min.js';\r\n  s.async = true;\r\n  s.referrerPolicy = 'no-referrer';\r\n  document.head.appendChild(s);\r\n})();\r\n<\/script>[\/et_pb_code][\/et_pb_column][et_pb_column type=&#8221;1_5&#8243; _builder_version=&#8221;4.22.1&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p><style class=\"wpcode-css-snippet\">\/* Hide actions (Print button) on mobile *\/\r\n@media only screen and (max-width: 820px){\r\n.mzst-actions {\r\n    display:none !important;\r\n  }\r\n}\r\n\/* Print-specific visibility for brand logo (matches colleague approach) *\/\r\n@media print {\r\n  .mzst-logo { display: none !important; }\r\n  .mzst-print-container .mzst-logo { display: inline !important; }\r\n}\r\n\r\n\/* Submittal link styling *\/\r\n#mzst-en .mzst-submittal,\r\n#mzst-fr .mzst-submittal{\r\n  display:inline-block;\r\n  font-size:12px;\r\n  margin-top:4px;\r\n}\r\n#mzst-en .mzst-submittal.inline,\r\n#mzst-fr .mzst-submittal.inline{\r\n  margin-top:0;\r\n  margin-left:8px;\r\n  font-size:inherit;\r\n}\r\n@media print {\r\n  #mzst-en .mzst-submittal,\r\n  #mzst-fr .mzst-submittal{\r\n    display:none !important;\r\n  }\r\n}\r\n\r\n\/* Submittal in detail grid *\/\r\n#mzst-en .mzst-detail-grid .mzst-submittal.inline,\r\n#mzst-fr .mzst-detail-grid .mzst-submittal.inline{\r\n  font-size:16px;\r\n}\r\n\r\n\/* Hide submittal + items with submittal in print *\/\r\n@media print {\r\n  #mzst-en .mzst-detail-grid .mzst-submittal.inline,\r\n  #mzst-fr .mzst-detail-grid .mzst-submittal.inline,\r\n  #mzst-en .mzst-detail-item.mzst-detail-has-submittal,\r\n  #mzst-fr .mzst-detail-item.mzst-detail-has-submittal {\r\n    display: none !important;\r\n  }\r\n}\r\n\r\n@media print {\r\n  #mzst-en .mzst-instr-list,\r\n  #mzst-fr .mzst-instr-list,\r\n  #mzst-en .mzst-notes,\r\n  #mzst-fr .mzst-notes {\r\n    list-style: decimal;\r\n  }\r\n}\r\n\r\n\/* Card wrapper *\/\r\n#mzst-en .mzst-wrap .mzst-card,\r\n#mzst-fr .mzst-wrap .mzst-card{\r\n  box-sizing:border-box;\r\n}\r\n\r\n\/* Instruction block *\/\r\n#mzst-en .mzst-instr-title,\r\n#mzst-fr .mzst-instr-title{\r\n  font-weight:600;\r\n  margin-bottom:6px;\r\n}\r\n#mzst-en .mzst-instr-list,\r\n#mzst-fr .mzst-instr-list{\r\n  padding-left:18px;\r\n  margin:0;\r\n}\r\n\r\n\/* ODU Details (no gap) *\/\r\n#mzst-en .mzst-detail-grid,\r\n#mzst-fr .mzst-detail-grid{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  max-width:1100px;\r\n  margin:0 auto;\r\n}\r\n#mzst-en .mzst-detail-item,\r\n#mzst-fr .mzst-detail-item{\r\n  width:calc(50% - 10px);\r\n  margin:0 10px 10px 0;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  padding:10px 12px;\r\n  border:1px solid #e5e7eb;\r\n  border-radius:10px;\r\n  background:#fff;\r\n}\r\n#mzst-en .mzst-detail-label,\r\n#mzst-fr .mzst-detail-label{\r\n  color:#374151;\r\n}\r\n#mzst-en .mzst-detail-value,\r\n#mzst-fr .mzst-detail-value{\r\n  font-weight:600;\r\n  color:#111827;\r\n  white-space:nowrap;\r\n}\r\n@media only screen and (max-width: 820px){\r\n  #mzst-en .mzst-detail-item,\r\n  #mzst-fr .mzst-detail-item{\r\n    width:100%;\r\n    margin-right:0;\r\n  }\r\n}\r\n\r\n\/* Stack helpers (vertical spacing without gap) *\/\r\n#mzst-en .mzst-stack-4  > * + *,\r\n#mzst-fr .mzst-stack-4  > * + *{ margin-top:4px; }\r\n#mzst-en .mzst-stack-6  > * + *,\r\n#mzst-fr .mzst-stack-6  > * + *{ margin-top:6px; }\r\n#mzst-en .mzst-stack-8  > * + *,\r\n#mzst-fr .mzst-stack-8  > * + *{ margin-top:8px; }\r\n#mzst-en .mzst-stack-10 > * + *,\r\n#mzst-fr .mzst-stack-10 > * + *{ margin-top:10px; }\r\n\r\n\/* Horizontal gap for Line Set Length input *\/\r\n#mzst-en label.mzst-stack-4 > input.mzst-line,\r\n#mzst-fr label.mzst-stack-4 > input.mzst-line{\r\n  margin-left: 12px;\r\n}\r\n\/* Add horizontal space between ODU label text and dropdown *\/\r\n#mzst-en label.mzst-stack-6 > select.mzst-odu,\r\n#mzst-fr label.mzst-stack-6 > select.mzst-odu{\r\n  margin-left: 12px;\r\n}\r\n\r\n\r\n\/* Color styles (shared) *\/\r\n.mzst-box { border:1px solid #e5e7eb; border-radius:12px; padding:12px; }\r\n.mzst-color-ok   { border-color:#86efac; background:#f0fdf4; color:#064e3b; }\r\n.mzst-color-error{ border-color:#fca5a5; background:#fef2f2; color:#7f1d1d; }\r\n.mzst-color-warn { border-color:#fde68a; background:#fffbeb; color:#78350f; }\r\n\r\n\/* Input error highlight *\/\r\n#mzst-en .mzst-input-error,\r\n#mzst-fr .mzst-input-error{\r\n  border-color:#fca5a5 !important;\r\n  background:#fef2f2 !important;\r\n  color:#7f1d1d !important;\r\n}\r\n\r\n\/* BoM table *\/\r\n#mzst-en .mzst-bom-table,\r\n#mzst-fr .mzst-bom-table{\r\n  width:100%;\r\n  border-collapse:collapse;\r\n}\r\n#mzst-en .mzst-bom-table th,\r\n#mzst-en .mzst-bom-table td,\r\n#mzst-fr .mzst-bom-table th,\r\n#mzst-fr .mzst-bom-table td{\r\n  border:1px solid #e5e7eb;\r\n  padding:8px;\r\n  text-align:left;\r\n}\r\n#mzst-en .mzst-bom-table thead th,\r\n#mzst-fr .mzst-bom-table thead th{\r\n  font-weight:600;\r\n}\r\n\r\n\/* IDU image *\/\r\n#mzst-en .mzst-idu-img img,\r\n#mzst-fr .mzst-idu-img img{\r\n  max-width:220px;\r\n  height:auto;\r\n  border:1px solid #e5e7eb;\r\n  border-radius:8px;\r\n}\r\n\r\n\/* ODU image *\/\r\n#mzst-en .mzst-odu-img img,\r\n#mzst-fr .mzst-odu-img img{\r\n  max-width:260px;\r\n  height:auto;\r\n  border:1px solid #e5e7eb;\r\n  border-radius:8px;\r\n}\r\n\r\n\/* Print image handling *\/\r\n@media print {\r\n  #mzst-en .mzst-idu-img,\r\n  #mzst-en .mzst-idu-img *,\r\n  #mzst-fr .mzst-idu-img,\r\n  #mzst-fr .mzst-idu-img *,\r\n  #mzst-en .mzst-odu-img,\r\n  #mzst-en .mzst-odu-img *,\r\n  #mzst-fr .mzst-odu-img,\r\n  #mzst-fr .mzst-odu-img *{\r\n    break-inside: avoid;\r\n    page-break-inside: avoid;\r\n  }\r\n}\r\n\r\n\/* Print overrides for iframe clone (.mzst-print-container) *\/\r\n@media print {\r\n  \/* Hide entire Instructions block in print *\/\r\n  .mzst-print-container .mzst-instructions {\r\n    display: none !important;\r\n  }\r\n  \/* Instructions title + list spacing in print clone *\/\r\n  .mzst-print-container .mzst-instr-title{\r\n    font-weight:600;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  .mzst-print-container .mzst-instr-list,\r\n  .mzst-print-container .mzst-notes{\r\n    padding-left:18px;\r\n    margin:0;\r\n    list-style:decimal;\r\n  }\r\n\r\n  \/* Hide all submittal links + dedicated ODU submittal row in print *\/\r\n  .mzst-print-container .mzst-detail-grid .mzst-submittal.inline,\r\n  .mzst-print-container .mzst-detail-item.mzst-detail-has-submittal,\r\n  .mzst-print-container .mzst-submittal {\r\n    display: none !important;\r\n  }\r\n\r\n  \/* ODU detail grid styling *\/\r\n  .mzst-print-container .mzst-detail-grid{\r\n    display:flex;\r\n    flex-wrap:wrap;\r\n    margin:0;\r\n    padding:0;\r\n  }\r\n  .mzst-print-container .mzst-detail-item{\r\n    width:calc(50% - 6px);\r\n    margin:0 6px 6px 0;\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    padding:6px 10px;\r\n    border-radius:9999px;\r\n    border:1px solid #e5e7eb;\r\n    background:#fff;\r\n  }\r\n  .mzst-print-container .mzst-detail-label{\r\n    color:#374151;\r\n  }\r\n  .mzst-print-container .mzst-detail-value{\r\n    font-weight:600;\r\n    color:#111827;\r\n    margin-left:8px;\r\n    white-space:nowrap;\r\n  }\r\n  .mzst-print-container .mzst-card.mzst-odu-details h3{\r\n    margin: 0 0 6px 0 !important;\r\n  }\r\n  \/* Reduce horizontal padding of ODU Details card *\/\r\n  .mzst-print-container .mzst-card.mzst-odu-details{\r\n    padding: 8px 6px !important;   \r\n  }\r\n\r\n  \/* Stack helpers *\/\r\n  .mzst-print-container .mzst-stack-4  > * + *{ margin-top:4px; }\r\n  .mzst-print-container .mzst-stack-6  > * + *{ margin-top:6px; }\r\n  .mzst-print-container .mzst-stack-8  > * + *{ margin-top:8px; }\r\n  .mzst-print-container .mzst-stack-10 > * + *{ margin-top:10px; }\r\n\r\n  \/* BoM table *\/\r\n  .mzst-print-container .mzst-bom-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n  }\r\n  .mzst-print-container .mzst-bom-table th,\r\n  .mzst-print-container .mzst-bom-table td{\r\n    border:1px solid #e5e7eb;\r\n    padding:8px;\r\n    text-align:left;\r\n  }\r\n  .mzst-print-container .mzst-bom-table thead th{\r\n    font-weight:600;\r\n  }\r\n\r\n\r\n  \/* Images *\/\r\n  .mzst-print-container .mzst-idu-img img{\r\n    max-width:220px;\r\n    height:auto;\r\n    border:1px solid #e5e7eb;\r\n    border-radius:8px;\r\n  }\r\n  .mzst-print-container .mzst-odu-img img{\r\n    max-width:220px;\r\n    height:auto;\r\n    border:1px solid #e5e7eb;\r\n    border-radius:8px;\r\n  }\r\n  .mzst-print-container .mzst-idu-img,\r\n  .mzst-print-container .mzst-idu-img *,\r\n  .mzst-print-container .mzst-odu-img,\r\n  .mzst-print-container .mzst-odu-img *{\r\n    break-inside: avoid;\r\n    page-break-inside: avoid;\r\n  }\r\n\r\n  \/* Input error highlight *\/\r\n  .mzst-print-container .mzst-input-error{\r\n    border-color:#fca5a5 !important;\r\n    background:#fef2f2 !important;\r\n    color:#7f1d1d !important;\r\n  }\r\n}\r\n\/* =========================================================\r\n   GLOBAL TEXT UNIFORMITY (CSS-only, safe with current JS)\r\n   - Force neutral UI text to #111827 (wins against inline greys)\r\n   - Preserve evaluation\/warning colors + red input-error states\r\n   - Preserve submittal links\u2019 theme orange\r\n   Applies to screen (#mzst-en\/#mzst-fr) + print iframe (.mzst-print-container)\r\n   ========================================================= *\/\r\n\r\n\/* 1) Force neutral text color & opacity everywhere in the tool *\/\r\n#mzst-en *,\r\n#mzst-fr *,\r\n.mzst-print-container * {\r\n  color: #111827 !important;\r\n  opacity: 1 !important;\r\n}\r\n\r\n\/* 2) Restore evaluation tones (scoped to tool roots + print clone; includes descendants) *\/\r\n#mzst-en .mzst-color-ok,    #mzst-en .mzst-color-ok *,\r\n#mzst-fr .mzst-color-ok,    #mzst-fr .mzst-color-ok *,\r\n.mzst-print-container .mzst-color-ok, .mzst-print-container .mzst-color-ok * {\r\n  color: #064e3b !important;\r\n}\r\n\r\n#mzst-en .mzst-color-warn,  #mzst-en .mzst-color-warn *,\r\n#mzst-fr .mzst-color-warn,  #mzst-fr .mzst-color-warn *,\r\n.mzst-print-container .mzst-color-warn, .mzst-print-container .mzst-color-warn * {\r\n  color: #78350f !important;\r\n}\r\n\r\n#mzst-en .mzst-color-error, #mzst-en .mzst-color-error *,\r\n#mzst-fr .mzst-color-error, #mzst-fr .mzst-color-error *,\r\n.mzst-print-container .mzst-color-error, .mzst-print-container .mzst-color-error * {\r\n  color: #7f1d1d !important;\r\n}\r\n\r\n\/* 3) Preserve \u201cred until resolved\u201d input state (and any descendants) *\/\r\n#mzst-en .mzst-input-error, #mzst-en .mzst-input-error *,\r\n#mzst-fr .mzst-input-error, #mzst-fr .mzst-input-error *,\r\n.mzst-print-container .mzst-input-error, .mzst-print-container .mzst-input-error * {\r\n  color: #7f1d1d !important;\r\n}\r\n\r\n\/* 4) Keep submittal links orange *\/\r\n#mzst-en a.mzst-submittal,\r\n#mzst-fr a.mzst-submittal {\r\n  color: #ec6608 !important;\r\n  text-decoration: underline;\r\n  text-underline-offset: 2px;\r\n  text-decoration-thickness: 1px;\r\n}<\/style><div id=\"mzst-tool\"\r\n     class=\"mzst-scope\"\r\n     data-json=\"https:\/\/cdn2.moovair.com\/appjs\/JSN-M-MZTOOL-14-EN-FR-092225.json\">\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  var href = window.location.href.toLowerCase();\r\n\r\n  \/\/ Detect language from URL: fr-ca -> French, en-ca (or anything else) -> English\r\n  var isFrench = href.indexOf('fr-ca') !== -1;\r\n  var langCode = isFrench ? 'FR' : 'EN';\r\n  var containerId = isFrench ? 'mzst-fr' : 'mzst-en';\r\n\r\n  var container = document.getElementById('mzst-tool');\r\n  if (!container) return;\r\n\r\n  \/\/ Set the expected id and data-lang before loading the app script\r\n  container.id = containerId;\r\n  container.setAttribute('data-lang', langCode);\r\n\r\n  \/\/ Load the Moovair sizing tool app\r\n  var s = document.createElement('script');\r\n  s.src = 'https:\/\/cdn2.moovair.com\/appjs\/mzst-app.min.js';\r\n  s.async = true;\r\n  s.referrerPolicy = 'no-referrer';\r\n  document.head.appendChild(s);\r\n})();\r\n<\/script><\/p>\n","protected":false},"author":7,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"dipi_cpt_category":[],"class_list":["post-16263692","page","type-page","status-publish","hentry"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Moovair\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Multi-Zone Assistant - Moovair\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-09-22T19:34:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-02-17T16:34:45+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Multi-Zone Assistant - Moovair\" \/>\n\t\t<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t\t<meta name=\"twitter:data1\" content=\"Gustavo Pineda\" \/>\n\t\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/multi-zone-assistant\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/multi-zone-assistant\\\/#listItem\",\"name\":\"Multi-Zone Assistant\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/multi-zone-assistant\\\/#listItem\",\"position\":2,\"name\":\"Multi-Zone Assistant\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/#listItem\",\"name\":\"Home\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/#organization\",\"name\":\"The Master Group\",\"description\":\"Moovair | Air Conditioning and Heating\",\"url\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/\",\"telephone\":\"+15145272301\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/multi-zone-assistant\\\/#webpage\",\"url\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/multi-zone-assistant\\\/\",\"name\":\"Multi-Zone Assistant - Moovair\",\"inLanguage\":\"en-CA\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/multi-zone-assistant\\\/#breadcrumblist\"},\"datePublished\":\"2025-09-22T15:34:23-04:00\",\"dateModified\":\"2026-02-17T11:34:45-05:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/#website\",\"url\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/\",\"name\":\"Moovair\",\"description\":\"Moovair | Air Conditioning and Heating\",\"inLanguage\":\"en-CA\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.moovair.com\\\/en-ca\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Multi-Zone Assistant - Moovair","description":"","canonical_url":"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.moovair.com\/en-ca\/#listItem","position":1,"name":"Home","item":"https:\/\/www.moovair.com\/en-ca\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/#listItem","name":"Multi-Zone Assistant"}},{"@type":"ListItem","@id":"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/#listItem","position":2,"name":"Multi-Zone Assistant","previousItem":{"@type":"ListItem","@id":"https:\/\/www.moovair.com\/en-ca\/#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/www.moovair.com\/en-ca\/#organization","name":"The Master Group","description":"Moovair | Air Conditioning and Heating","url":"https:\/\/www.moovair.com\/en-ca\/","telephone":"+15145272301"},{"@type":"WebPage","@id":"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/#webpage","url":"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/","name":"Multi-Zone Assistant - Moovair","inLanguage":"en-CA","isPartOf":{"@id":"https:\/\/www.moovair.com\/en-ca\/#website"},"breadcrumb":{"@id":"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/#breadcrumblist"},"datePublished":"2025-09-22T15:34:23-04:00","dateModified":"2026-02-17T11:34:45-05:00"},{"@type":"WebSite","@id":"https:\/\/www.moovair.com\/en-ca\/#website","url":"https:\/\/www.moovair.com\/en-ca\/","name":"Moovair","description":"Moovair | Air Conditioning and Heating","inLanguage":"en-CA","publisher":{"@id":"https:\/\/www.moovair.com\/en-ca\/#organization"}}]},"og:locale":"en_US","og:site_name":"Moovair","og:type":"article","og:title":"Multi-Zone Assistant - Moovair","og:url":"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/","article:published_time":"2025-09-22T19:34:23+00:00","article:modified_time":"2026-02-17T16:34:45+00:00","twitter:card":"summary_large_image","twitter:title":"Multi-Zone Assistant - Moovair","twitter:label1":"Written by","twitter:data1":"Gustavo Pineda","twitter:label2":"Est. reading time","twitter:data2":"1 minute"},"aioseo_meta_data":{"post_id":"16263692","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"titles":[],"descriptions":[],"socialPosts":{"email":[],"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2025-09-22 19:25:28","updated":"2026-02-17 16:44:04","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.moovair.com\/en-ca\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tMulti-Zone Assistant\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.moovair.com\/en-ca\/"},{"label":"Multi-Zone Assistant","link":"https:\/\/www.moovair.com\/en-ca\/multi-zone-assistant\/"}],"_links":{"self":[{"href":"https:\/\/www.moovair.com\/en-ca\/wp-json\/wp\/v2\/pages\/16263692","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.moovair.com\/en-ca\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.moovair.com\/en-ca\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.moovair.com\/en-ca\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.moovair.com\/en-ca\/wp-json\/wp\/v2\/comments?post=16263692"}],"version-history":[{"count":0,"href":"https:\/\/www.moovair.com\/en-ca\/wp-json\/wp\/v2\/pages\/16263692\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.moovair.com\/en-ca\/wp-json\/wp\/v2\/media?parent=16263692"}],"wp:term":[{"taxonomy":"dipi_cpt_category","embeddable":true,"href":"https:\/\/www.moovair.com\/en-ca\/wp-json\/wp\/v2\/dipi_cpt_category?post=16263692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}