WidestFitDimensions[ targetWidth_Integer, columnSpacings_Integer, leftRightBorderWidths:{_Integer,_Integer}, data:{__List?MatrixQ}]:= With[ {widths=Last/@Dimensions/@data, fullWidthOfRow=Total[ArrayPad[Riffle[#,columnSpacings],leftRightBorderWidths,1]]&}, With[ {fullWidthOfGrid=Max[fullWidthOfRow/@#]&}, With[ {isTooLarge=(targetWidthDimensions@bestFitGrid,"width"->fullWidthOfGrid@bestFitGrid|>]]]];