/* Scoped layout correction for short desktop viewports. */
@media (min-width: 721px) {
  body .cnc-quote-mask { padding: 6px; }
  body .cnc-quote-window {
    width: min(1080px, calc(100vw - 12px));
    height: min(600px, calc(100dvh - 12px));
    max-height: calc(100dvh - 12px);
    grid-template-rows: 36px 42px minmax(0, 1fr) 42px;
  }
  body .cnc-quote-window > header { height: 36px; }
  body .cnc-quote-head { padding: 5px 18px; }
  body .cnc-quote-section,
  body .cnc-quote-section.product { padding-top: 7px; padding-bottom: 8px; }
  body .cnc-quote-section h3 { margin-bottom: 3px; }
}

@media (min-width: 721px) and (max-height: 700px) {
  body .cnc-quote-window { grid-template-rows: 32px 38px minmax(0, 1fr) 38px; }
  body .cnc-quote-window > header { height: 32px; }
  body .cnc-quote-window > header strong { font-size: 13px; }
  body .cnc-quote-close { height: 25px; width: 25px; }
  body .cnc-quote-head { padding: 2px 14px; gap: 8px; }
  body .cnc-quote-section,
  body .cnc-quote-section.product { padding: 3px 10px 4px; }
  body .cnc-quote-section h3 {
    height: 16px;
    margin-bottom: 1px;
    line-height: 16px;
  }
  body .cnc-product-layout,
  body .cnc-quote-grid { gap: 1px 8px; }
  body .cnc-quote-field,
  body .cnc-quote-lock { height: 29px; font-size: 11px; }
  body .cnc-quote-field { grid-template-columns: 76px minmax(0, 1fr); }
  body .cnc-quote-footer { padding: 0 10px; gap: 6px; }
  body .cnc-quote-actions { gap: 5px; }
}
